随机码容量计算
来源:互联网 发布:mono是什么软件 编辑:程序博客网 时间:2024/06/02 07:31
假设有这么个场景:
给每个进入房间的人分配一个随机码(数字/字母),该随机码在一段时间内有效,那么在有效期内,为了让两个人分配同一个随机码的概率保持在指定值以下,那么随机码的长度最短需要多少个字符?
我是这么计算的:
设:
并发数:P(如:100个/s)
缓存时间:T(如:1800s)
碰撞率:R(如:1‰)
容量:C
则:
C = P * T / R
以上面的测试用例代入计算:
C = 100 * 1800 * 1000 = 180000000(1.8亿)
也就是说这个随机码字符串的总可能数要大于1.8亿个,那么需要多少位就好算了
数字有10种可能;字母有26种可能;数字&字母有36种可能
可直接参照下表(大概值):
只能选大于1.8亿的情况,即:
纯数字的话:9个字符
纯字母的话:6个字符
数字+字母的话:6个字符
理论上来说,实际碰撞率会随着时间的增加慢慢提高,但由于随机码的有效期,所以该值始终会低于R
从实际测试效果来看,也基本符合理论预期。
适用于需要用随机ID的情况,具体应用场合就不多说了:)
----------------------------------------- 2013-5-3 更新 -------------------------------------------
关于这里的碰撞率R,多说一点:
若P=100,R=1%,则说明每秒钟发生一个碰撞;
若P=100,R=1‰,则10秒钟发生一个碰撞;
若P=1000,R=1%,则每秒发生10个碰撞;
……
R的取值可以以此做参考。
- 随机码容量计算
- 容量计算
- 磁盘容量的计算
- DDR SDRAM容量计算
- Android: SDCard容量计算
- TD容量计算
- 存贮容量计算单位
- 图片容量的计算
- SDCard容量计算
- DDR容量计算
- 背包容量计算
- SDRAM容量计算
- 如何计算系统容量
- 磁盘容量计算
- Oracle 表容量计算
- SDRAM容量计算
- 磁盘容量的计算
- SDRAM容量计算
- matlab 7与vc/mfc混合编程 脱离运行环境,移植代码
- Multimedia Programming Guide--多媒体编程指南
- servlet跳转页面的几种方法
- 为 bash 转义文件名
- 2013年4月_武科大程序设计大赛(复赛)_解题报告(problem 1004)
- 随机码容量计算
- CompactPCI
- virtualBox使用复制的VDI出现UUID重复的错误(解决方法)
- J2EE开发常用框架介绍
- 《Inter汇编语言程序设计》8.6 创建多模块程序(INVOKE PROTO)
- git 命令之git rebase 用法
- ACE 6.1.3 发布,面向对象的工具开发包
- 对象与对象的类型信息----获取对象的RTTI信息
- C#让任何一个控件都可以全屏播放