Second Life 的数据拾零

原贴:http://www.dbanotes.net/review/second_life.html

Second Life 的数据拾零

Matrix 似乎提前来到我们身边。从 06 年开始,陆续看到多次关于 Second Life(SL) 的报道。因为自己的笔记本跑不起来 SL 的客户端,所以一直没有能体会这个虚拟世界的魅力。今天花了一点时间,读了几篇相关的文档。

RealNetworks 前 CTO Philip Rosedale 通过 Linden 实验室创建了 Second Life,2002 年这个项目开始 Alpha 版测试,当时叫做 LindenWorld。

2007 年 2 月 24 日号称已经达到 400 万用户(用户在游戏中被称为 "Residents",居民)。 2001 年 2 月 1 日,并发用户达到 3 万。并发用户每月的增长是 20%。这个 20%现在看起来有些保守了,随着媒体的关注,增长的会有明显的变化。系统的设计目标是 10 万并发用户,系统的复杂度不小,但 Linden 实验室对SL 的可扩展能力信心满满。

目前在旧金山与达拉斯共有 2000 多台(现在恐怕3000也不止了吧) Intel/AMD 服务器来支撑整个虚拟世界(refer here)。64 位的 AMD 服务器居多。操作系统选用的 Debian Linux, 数据库是 MySQL。通过 Tim O'relly 的这篇 Web 2.0 and Databases Part 1: Second Life ,可以了解到一点关于 SL 数据库建设的信息。在 Second Life 中每个地理区域都是运行在服务器软件单一实例上的,叫做"模拟器"或者简称是 "sim",每个 Sim 负责 16 英亩的虚拟土地。当用户在相邻的 Sim 间移动,实际上是从一个处理器(或是服务器)移动到另一个。根据这篇访谈,用户当前所在 Sim 的信息,以及用户本身的账户信息是存储在一个中心数据库上的。

Second_Life_db_arch.png


SL 的客户端软件的下载使用了 Amazon 的 S3 服务。

一点感想:MySQL 真是这波 Web 2.0 大潮中最大赢家之一啊

--EOF--

| | Comments (9) | | Edit

<script type="text/javascript"> function affiliateLink(str){ str = unescape(str); var r = ''; for(var i = 0; i < str.length; i++) r += String.fromCharCode(2^str.charCodeAt(i)); document.write(r); } affiliateLink('%3Ec%22jpgd%3F%20jvvr8--uuu%2Cvgzv/nkli/cfq%2Camo-%3Dpgd%3F62%3B%3A1%20%3COmlgvkxg%22%5Bmwp%22Qkvg%3E-c%3C'); </script> Monetize Your Site
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/cpa/ads?client=ca-pub-2198040673582211&cpa_choice=CAAQhaT2_gEaCI52gVKP95-sKLGsuIEBMAA&oe=UTF-8&dt=1191083778702&lmt=1190476273&format=ref_text&output=textlink&correlator=1191083778701&url=http%3A%2F%2Fwww.dbanotes.net%2Freview%2Fsecond_life.html&region=_google_cpa_region_&ref=http%3A%2F%2Fwww.dbanotes.net%2Farchives.html&cc=100&ga_vid=1658092553.1191083779&ga_sid=1191083779&ga_hid=758307685&flash=9&u_h=800&u_w=1280&u_ah=776&u_aw=1280&u_cd=24&u_tz=480&u_his=1&u_nplug=2&u_nmime=3" language="JavaScript1.1" type="text/javascript"></script> Get Firefox with Google Toolbar for better browsing
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/cpa/ads?client=ca-pub-2198040673582211&cpa_choice=CAAQidTQgAIaCEapPfRcsfp6KN2uuIEBMAA&oe=UTF-8&dt=1191083778986&lmt=1190476273&prev_fmts=ref_text&format=ref_text&output=textlink&correlator=1191083778701&url=http%3A%2F%2Fwww.dbanotes.net%2Freview%2Fsecond_life.html&region=_google_cpa_region_&ref=http%3A%2F%2Fwww.dbanotes.net%2Farchives.html&cc=100&ga_vid=1658092553.1191083779&ga_sid=1191083779&ga_hid=758307685&flash=9&u_h=800&u_w=1280&u_ah=776&u_aw=1280&u_cd=24&u_tz=480&u_his=1&u_nplug=2&u_nmime=3" language="JavaScript1.1" type="text/javascript"></script> Generate revenue from your website. Google AdSense.

本文相关评论|Comments(9)

Fenng Author Profile Page 的评论:

测试,对 留言作了一点修改

tinyfool 的评论:

不错的数据

Fenng Author Profile Page 的评论:

留言还是有问题

virushuo 的评论:

2007的mysql uc 4月底才能开,等待全部的keynote.

yumianfeilong 的评论:

学习mysql中~

yumianfeilong 的评论:

学习mysql中~

kamus 的评论:

我倒是在自己的Mac上装了SL,不过一个是网速问题,一个是英文问题,所以逛了半小时就没再玩了。
不过,这个SL跟网络游戏有啥区别?跟那个著名的the Sims比呢?

Fenng Author Profile Page 的评论:

虚拟社区

游戏不足以涵盖 SL

zhaoke 的评论:

hehe.. 写的很不错, 2001 年 2 月 1 日,并发用户达到 3 万, 这个似乎有点笔误, 应该是2007年2月1日, 今年2月份至3月份曾达到了4万人同时在线.

附一篇我写的文章: 第二人生常见问题, 希望对大家能有所帮助:

http://blog.zhaoke.com/105.html

添加评论

<script type="text/javascript"> </script> 直接 匿名评论 或者 登录 评论这篇文章(OpenID、TypeKey...)
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Java代码实现: ```java public class NumberToChinese { // 数字转中文大写 private static final String[] CHINESE_NUMBERS = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; private static final String[] CHINESE_UNITS = {"", "拾", "佰", "仟"}; private static final String[] CHINESE_GROUP_UNITS = {"", "万", "亿"}; public static String numberToChinese(double num) { if (num == 0) { return "零元整"; } long integerPart = (long) num; int decimalPart = (int) Math.round((num - integerPart) * 100); StringBuilder sb = new StringBuilder(); int groupIndex = 0; while (integerPart > 0) { int groupNum = (int) (integerPart % 10000); sb.insert(0, CHINESE_GROUP_UNITS[groupIndex++]); if (groupIndex > 1 && groupNum < 1000) { sb.insert(0, "零"); } sb.insert(0, groupToChinese(groupNum)); integerPart /= 10000; } sb.append("元"); if (decimalPart > 0) { sb.append(decimalToChinese(decimalPart)); } else { sb.append("整"); } return sb.toString(); } private static String groupToChinese(int num) { StringBuilder sb = new StringBuilder(); int unitIndex = 0; boolean addZero = false; while (num > 0) { int digit = num % 10; if (digit == 0) { addZero = true; } else { if (addZero) { sb.insert(0, CHINESE_NUMBERS[0]); } sb.insert(0, CHINESE_NUMBERS[digit] + CHINESE_UNITS[unitIndex]); addZero = false; } unitIndex++; num /= 10; } return sb.toString(); } private static String decimalToChinese(int num) { StringBuilder sb = new StringBuilder(); int digit = num / 10; if (digit > 0) { sb.append(CHINESE_NUMBERS[digit] + "角"); } digit = num % 10; if (digit > 0) { sb.append(CHINESE_NUMBERS[digit] + "分"); } return sb.toString(); } public static void main(String[] args) { double num = 12345678; String chinese = numberToChinese(num); System.out.println(chinese); } } ``` 输出结果为:`壹仟贰佰叁拾肆万伍仟陆佰柒拾捌元整`

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值