Monthly Archives: October 2004

SVN — commit

commit (ci): 更新你已经更改过的本地文件到仓库上。usage: commit [PATH...]   一份日志信息必须提供,但是该信息可以为空。如果没有使用–message或者–file选项,一个编辑器会被启动。 有效选项:  -m [--message] arg       :指定提交信息ARG  -F [--file] arg                :从文件ARG中读取数据  -q [--quiet]                   :尽可能少的显示内容  -N [--non-recursive]     :仅在单个目录中操作  –targets arg                  :将ARG文件的内容作为附加参数  –force-log                    :格式化源日志信息  –username arg              :指定用户名ARG  –password arg             :指定密码ARG  –no-auth-cache            :不缓存鉴权信息  –non-interactive           :不使用交互方式  –editor-cmd arg           :使用ARG作为外部编辑器  –encoding … Continue reading

Leave a comment

SVN — import

import:提交一份未版本化的文件或者目录树到仓库中。用法:import [PATH] URL   递归提交PATH的副本到URL。  如果PATH被忽略则使用当前目录。在仓库中,因为需要会创建父目录。 有效选项:  -m [--message] arg       :指定提交时消息ARG  -F [--file] arg                :从文件ARG中读取数据  -q [--quiet]                   :尽可能少的打印信息  -N [--non-recursive]     :仅在单个目录中操作  –username arg             :指定用户名ARG  –password arg            :指定密码ARG  –no-auth-cache           :不缓存鉴权信息  –non-interactive          :不使用交互式提示  –force-log                  :格式化原始日志消息  –editor-cmd arg         :使用ARG作为外部的编辑器  –encoding arg            :使用ARG作为字符的编码  –config-dir arg           :从目录ARG中读取用户配置文件   –auto-props              … Continue reading

2 Comments

内存数据库

今天,论坛里面在讨论内存数据库方面的东西,我就说一说我平时接触到的内存数据库吧。 我最先接触到的内存数据库好像是zope里面的gadfly(是不是这样叫的忘记了)吧,不过没有太多的接触,只是学习zope的时候有过简单的接触。这里我也说不出什么。主要讲讲我在公司的业务开发中使用的内存数据库知识吧。我们公司是做电信的业务开发的,目前的智能网业务主要是基于国内的XX公司的平台上进行。因为客户全部是国外的,所以开发相对严格一些。我们业务的主要功能就是接管交换机的呼叫后,处理这个呼叫的业务逻辑,包括鉴权,实现用户需要的功能。这些功能是和数据库离不开的,但是针对每个呼叫,所要求的效率也是要很高的,不然客户无法忍受投诉就是我们的问题了。在我们的业务中,数据库最少有这么几个表:业务基本表,业务级系统参数配置表,费率表,相关日志表,功能键对照表等。呼叫接进来之后,系统需要先初始化,这时候就要提取系统配置表中的数据。这个表我们一般的情况下就只有一条记录,所以这个表一般都是内存表。而业务基本表存放的是用户帐户之类的数据,记录通常会在1000万以上,是绝对不能使用内存数据库的。费率表会根据各种币种设置相应的功能费率,记录也会在1000以下,所以也是内存表,还有一个内存表就是功能键对照表了,这个对照表是根据用户输入的功能键(譬如:用户在话机上输入11,则系统会认为是查询余额)转变为业务去处理相应的功能。这个记录数也会在100以下,所以也是内存表。在论坛中,我提到,一般只读的数据才会做成内存表,不过那是我们平台对我们的建议。因为我们的平台对可写的内存表算法处理的不是很好,效率比较低,不适合使用。当然了,我们现在的内存数据库,如果想修改内存表中的数据,那在每次修改完了之后都要重启平台,好让业务重新初始化内存数据库中的数据。不过以前的平台是支持动态刷新的,不过现在不让这么做了,说是不稳定。还有,内存数据库由于是我们自己实现的,因此不支持存储过程。所有的内存数据库的操作都需要自己手动的操作。使用内存数据库,最明显的是在性能测试的时候,操作数据库的时间基本可以忽略不计,这个对于电信应用来说是很大的优势。不过使用内存数据库的话,修改其中的数据不是很方便,而且还会暂用大量的内存。具体如何使用,还是看使用者自己的权衡了。有条件的最好在自己使用的时候测试一下先,综合考虑各种影响因子。

9 Comments

mandrake下SVN的安装顺序及包信息

SVN在Mandrake下的全套包文件下载:http://mirror.brain.org/linux/breser/mandrake/i586/10.0/RPMS/ apache2-mod_dav-2.0.48-6sls.i586.rpmDAV module for Apachehttp://www.webdav.org/mod_dav/http://rpms.mandrakeclub.com/rpms/mandrake/official/10.0/contrib/i586/mod_dav-1.0.3-16mdk.i586.html libxml2-2.6.13-1mdk.i586.rpmThe libXML libraryhttp://www.xmlsoft.org,http://www.gnome.org,http://www.xmlsoft.org/http://rpms.mandrakeclub.com/rpms/mandrake/official/10.0/SRPMS/libxml-1.8.17-6mdk.src.html libneon0.24-0.24.7-0.0.100.1mdk.i586.rpmAn HTTP and WebDAV client library, with a C interfacehttp://www.webdav.org/neon/http://rpms.mandrakeclub.com/rpms/mandrake/official/10.0/SRPMS/libneon-0.24.4-2mdk.src.html libsvn_subr1_0-1.0.8-0.100.1mdk.i586.rpmSubroutine library for Subversionhttp://rpms.mandrakeclub.com/rpms/mandrake/official/10.0/contrib/i586/libsvn_subr1_0-1.0.1-1mdk.i586.html libsvn_delta1_0-1.0.8-0.100.1mdk.i586.rpmDelta library for Subversionhttp://rpms.mandrakeclub.com/rpms/mandrake/official/10.0/contrib/i586/libsvn_delta1_0-1.0.1-1mdk.i586.html libsvn_diff1_0-1.0.8-0.100.1mdk.i586.rpmDiff library for Subversionhttp://rpms.mandrakeclub.com/rpms/mandrake/official/10.0/contrib/i586/libsvn_diff1_0-1.0.1-1mdk.i586.html libsvn_repos1_0-1.0.8-0.100.1mdk.i586.rpmRepository libraries for Subversionhttp://rpms.mandrakeclub.com/rpms/mandrake/official/10.0/contrib/i586/libsvn_repos1_0-1.0.1-1mdk.i586.html libsvn_ra_dav1_0-1.0.8-0.100.1mdk.i586.rpmHTTP/DAV Repository Access for the Subversion … Continue reading

Leave a comment

Subversion权限文件AuthzSVNAccessFile示例

选择自 digitking 的 Blog   在使用Subversion时,认证文件AuthzSVNAccessFile能控制每一个目录的权限,但讲解的文档较少,中文文档更少。下面通过实例讲解使用方法。 环境Windows 2003 Server,局域网,域:domain.com.cnApache 2.0.52Subversion 1.1.0TortoiseSVN 1.1.0LanguagePack_1.1.0_zh_CN 例子:Repository存放在D:\repository下,有两个repository: test and xtest每个repostory 的结构相同:  根:01.txt      02.txt  folder 1-: 11.txt  12.txt  folder 2-: 21.txt    22.txt对目录1和2作不同的读写权限控制Basic Authentication 修改文件:Httpd.conf:#Basic authentication<Location /repository>  DAV svn  SVNParentPath d:/repository  AuthzSVNAccessFile d:/repository/accessfile                   Require valid-user  AuthType … Continue reading

4 Comments

Python2.4的新特性

具体特性请参考:http://www.python.org/2.4/highlights.html 其中比较高兴的是CJK模块的内置支持,这个模块好像是一个北京的小伙子写的,现在已经被Python收入内置了,作为解决东亚语言的一个重要模块。联想到近期Python的邮件列表讨论开始多了起来,看来Python在国内也开始发展了。

Leave a comment

Python的几种web应用的不同效果

One of the main advantages of mod is the increase in performance over traditional CGI. Below are results of a very crude test. The test was done on a 1.2GHz Pentium machine running Red Hat Linux 7.3. Ab was used … Continue reading

Leave a comment

pysvn终于支持中文了

The next release of pysvn will be version 1.1.0 that has a number of majorimprovements over 1.0.x that are implemented on the trunk and documented. 1. Full unicode support for all input and output strings2. Add functions allow for positional … Continue reading

Leave a comment

Mandrake下面apache的简单配置

前面已经告诉了mandrake下面的apache的配置路径了,这里我总结一下apache在mandrake的简单配置,这样不用访问那个网址也可以入门了(那里的页数太多了,不利于查找,只适合stepbystep的学)。 Mandrake下面的apache服务器被更名了,叫ADVX,意思是:高级外部网络服务器(Advanced Extranet Server),因为mandrake对自己的linux进行了优化,已经不是正宗的apache了。不过有一点需要注意的,就是配置说明中也描述的webmin配置管理工具。因为MDK的ADVX是使用了多重的配置文件,将各个功能点分开配置,方便了用户修改,也便于apache重载配置文件。 Mandrake下面,用户可以选择安装 Apache 1.3 和 Apache 2.0,您可以同时安装并可以在其中方便切换。如果您同时安装了上述两个,2.0 版本会默认启动。执行 advxrun1.3 命令将启动 1.3 版本。执行 advxrun2.0 命令将切换回 2.0 版本(本人只安装了2.0,没有试过切换的)。 启用apache的httpd服务,你需要以root登录,然后执行service httpd start 或service httpd stop 命令。要使用一条命令停止并重新启动Apache,请执行service httpd restart。 所有配置文件都位于 /etc/httpd/ 目录中,对于 2.0 系列,称为 httpd2.conf。通用配置文件(commonhttpd.conf)由所有版本使用。它包含了各个网页目录的权限、日志的格式、别名、图标和文件关联、语言协定、出错页面等,如果您在文献中看到应该在 httpd.conf 添加某些行,请将其添加到 commonhttpd.conf。如果您查看了 httpd.conf、httpd2.conf、或 httpd-perl.conf,您会发现它们包含了conf/vhosts/Vhosts.conf,这个文件就是配置虚拟主机所需要的文件。/etc/httpd/conf/apache-mime.types 文件控制了对于特定的文件扩展名浏览器将会打开什么程序。例如,如果您有 … Continue reading

Leave a comment

P2P

自从P2P的概念推出来之后,现在P2P的东西真是满天飞了,现在比较火的应该是skyp软件了吧,具体没有怎么去研究。但是今天玩游戏的时候,发现P2P有一个很好的用途,就是在游戏中。游戏很多时候是服务器端处理游戏逻辑的,但是为了减轻服务器的处理量,有一些不重要的数据就放在了客户端去处理,但是这样一来就会被别的程序(熟称:外挂)给利用了。但是,游戏中也有一些数据,服务器只是一个转发的过程,根本就不必进行处理的,像这种东西,服务器只要维护一个表,客户端只要定时获取这个表就可以直接P2P,而不必再通过服务器进行了。像现在很多网游都提供的聊天信息,这些信息完全可以不过服务器端,而是直接通过查维护的表进行P2P。 还有一个超前的想法,目前客户端一般都是比较富余的,因此可不可以将服务器端的一些计算投递到客户端去计算,但是这个计算是随机的,即客户端1需要的结果是由非客户端1计算出来的,结果返回给客户端1和服务器端,由于这个计算包是随机给的,因此用户破解这个包是没有什么用途的,这样计算也是相对安全的。不过这个计算就有点类似于网格计算了。

Leave a comment