现在的位置: 首页 > 综合 > 正文

什么是奇偶效验

2018年05月17日 ⁄ 综合 ⁄ 共 3783字 ⁄ 字号 评论关闭

 对数据传输正确性的一种校验方法。在数据传输前附加一位奇校验位,用来表示传输的数据中"1"的个数是奇数还是偶数,为奇数时,校验位置为"0",否则置为"1",用以保持数据的奇偶性不变。例如,需要传输"11001110",数据中含5"1",所以其奇校验位为"0",同时把"110011100"传输给接收方,接收方收到数据后再一次计算奇偶性,"110011100"中仍然含有5"1",所以接收方计算出的奇校验位还是"0",与发送方一致,表示在此次传输过程中未发生错误。

 

    
大家一定会问,如何计算奇偶性呢,在计算机内有一种特殊的运算它遵守下面的规则:
1+1=0; 1+0=1; 0+1=1; 0+0=0;
我们把传送过来的1100111000逐位相加就会得到一个1,应该注意的的,如果在传送中1100111000变成为0000111000,通过上面的运算也将得到1,接收方就会认为传送的数据是正确的,这个判断正确与否的过程称为校验。而使用上面方法进行的校验称为奇校验,奇校验只能判断传送数据中奇数个数据从0变为1或从1变为0的情况,对于传送中偶数个数据发生错误,它就无能为力了。

Odd Parity(奇校验),校核数据完整性的一种方法,一个字节的8个数据位与校验位(parity
bit
)加起来之和有奇数个1。校验线路在收到数后,通过发生器在校验位填上01,以保证和是奇数个1。因此,校验位是0时,数据位中应该有奇数个1;而校验位是1时,数据位应该有偶数个1。如果读取数据时发现与此规则不符,CPU会下令重新传输数据。/偶校验(ECC)是数据传送时采用的一种校正数据错误的一种方式,分为奇校验和偶校验两种。如果是采用奇校验,在传送每一个字节的时候另外附加一位作为校验位,当实际数据中“1”的个数为偶数的时候,这个校验位就是“1”,否则这个校验位就是“0”,这样就可以保证传送数据满足奇校验的要求。在接收方收到数据时,将按照奇校验的要求检测数据中“1”的个数,如果是奇数,表示传送正确,否则表示传送错误。同理偶校验的过程和奇校验的过程一样,只是检测数据中“1”的个数为偶数。

蜗牛  20:54:56
hibernate,spring,struts,mina
蜗牛  20:55:14
你们游戏的客户端用了什么引擎?
路人甲  20:57:04
cocos2dx
蜗牛  20:57:19
然后还加入了lua?
路人甲  20:57:19
1项是去年写的 是cocos2d-x 1.0
路人甲  20:57:43
对 
路人甲  20:57:49
最开始是C++写的 
路人甲  20:57:53
后来 发现不好维护 
路人甲  20:57:57
就加了 lua
蜗牛  20:59:40
哦 你有2d-x+lua的小demo么?
蜗牛  21:00:00
是的,确实不好维护,如果让用户老是去更新,很烦人的。
路人甲  21:00:25
对 底层的抽象是cpp写的
路人甲  21:00:36
  逻辑 处理 ui  动画 全是动画
路人甲  21:00:39

路人甲  21:00:41
lua
蜗牛  21:10:46
不错。很流畅
路人甲  21:11:45
中间的交税层 适配 是我们自己写的
蜗牛  21:11:45
python写的服务器看来还是不错的。你们一个服一般多少人同时在线?
蜗牛  21:11:56
交税层?
路人甲  21:12:00
4000-5000
路人甲  21:12:03
胶水 
路人甲  21:12:07
肯定没问题
路人甲  21:12:18
一个16G的服务器 可以开20来个区 把 
路人甲  21:12:43
每个区可以容500左右
路人甲  21:13:43
但是 没有进行过 完全的压力测试
路人甲  21:13:57
不过瓶颈都不在cpu 和内存 在io上
蜗牛  21:16:19
嗯 数据库用了单独的机器不?
路人甲  21:16:29
肯定啊
路人甲  21:16:38
我们是一个区一个 game的 
路人甲  21:16:51
一个区 一个database
蜗牛  21:16:51
一个区一个game,是不一样的游戏吗?
蜗牛  21:17:08
哦 后台管理系统呢?是一个区一个,还是所有的一个?
路人甲  21:17:22
所有在在web里面
路人甲  21:17:33
 访问数据只是 切换 url和port 而已
蜗牛  21:17:34
服务器用了内存缓存吧?
路人甲  21:17:48
有内存池的 
蜗牛  21:18:17
服务器端的技术架构是什么样子的?
路人甲  21:18:34
gevent 做 coroutine 
路人甲  21:18:43
每一个 用户 都是 greenlet
路人甲  21:18:58
然后都是常用的  一些东西
路人甲  21:19:06
 通信 用 protobuf 
路人甲  21:19:17
python 这边 我们用cython 重写过
路人甲  21:19:33
lua 的  protobuf 用的是云风在git上开源的
蜗牛  21:21:30
哦 
蜗牛  21:21:42
云风对protobuf改造过?
路人甲  21:21:50
lua版的 
蜗牛  21:21:51
我们也是用的protobuf?
蜗牛  21:21:54
哦 
路人甲  21:22:10
我们的pyprotobuf 跟 c++的 性能差不多
蜗牛  21:22:15
这两个是什么东西?
蜗牛  21:22:24
我不会python
路人甲  21:22:29
libevent 用过么?
路人甲  21:22:50
因为python 有GIL锁  所有 我们没用 多线程
蜗牛  21:22:52
哦 
蜗牛  21:23:02
和libevent有什么关系?
路人甲  21:23:19
greenlet 是基于libevent的
路人甲  21:23:38
gevent 是可以说对 greenlet 进行了封装
路人甲  21:23:46
就是一个网络库
蜗牛  21:23:52
哦 
蜗牛  21:24:46
强化装备是不是没有去连服务器?
路人甲  21:25:03
我们是长连接
蜗牛  21:25:19
嗯 我们mina也是长连啊。
路人甲  21:29:05
你们现在 遇到了些问题么?
路人甲  21:29:10
 你们打算开发周期多长?
蜗牛  21:33:35
原计划开发周期是6个月,现在6个月就要到了,还是没有做完。要延两个月左右吧。
蜗牛  21:33:56
没有什么问题就是进度慢。
蜗牛  21:34:01
你们这个游戏做了多久?
路人甲  21:34:51
7月 -12月把 
路人甲  21:34:55
1项久一点 
路人甲  21:34:58
比这个要复杂
蜗牛  21:35:39
你们这个项目用了7-12个月?
蜗牛  21:35:54
那也是6个月啊
路人甲  21:36:15
也没有  因为是在1项改的 
路人甲  21:36:22
中间改了很多次
蜗牛  21:37:26
哦 你说的1项,是哪叫什么名字?
蜗牛  21:37:32
改都改了半年?
路人甲  21:37:46
1项 5月初上线的
路人甲  21:37:57
2项目是7月份改的
路人甲  21:38:03
其实9月就做好了 
路人甲  21:38:09
策划一直在改游戏
蜗牛  21:38:59
哦 调了一这么久啊。
路人甲  21:39:17
不是 游戏 UI 重做
路人甲  21:39:25
   而且 游戏内容也改动比较大
蜗牛  21:39:33
你说的1项是 新梦幻之城?
路人甲  21:39:37
因为 制作人 对游戏 体验要求高
路人甲  21:39:43
1项是  圣将三国
路人甲  21:39:52
ios 叫三国志豪华版
蜗牛  21:40:12
哦 
蜗牛  21:40:29
你们服务器多大的带宽?
路人甲  21:41:14
100M共享把   我们是云服务器
蜗牛  21:41:44
是哪家的云服务器
蜗牛  21:41:45
?
路人甲  21:42:03
我们投资 公司 北京掌趣科技
蜗牛  21:42:12
100M还能共享?
路人甲  21:42:43
服务器 是他们提供的
蜗牛  21:42:56
哦 
蜗牛  21:43:07
我们才5M带宽,现在调试的机器。
路人甲  21:43:26
。。。。。
蜗牛  21:43:56
不过我觉得应该不至于带宽问题啊,因为现在调测一般都只有3-5个人在上面。
路人甲  21:46:23
这个倒不会咯
路人甲  21:46:39
带宽肯定是够了的
路人甲  21:46:49
  主要是  玩家多了你们怎么应对
路人甲  21:46:58
还有 运维更新 
蜗牛  21:47:14
哦 现在是调测阶段,等真的能上了,会换服务器的。
蜗牛  21:47:37
我们用的是阿里云的,这个是游戏开发认证的送的,先用着,现在也不太需要。
路人甲  21:49:04
你们团队有几个程序?
蜗牛  21:49:32
6个
路人甲  21:50:34
一半一半?
路人甲  21:52:04
文军你先忙把 
蜗牛  21:52:10
是的 
蜗牛  21:52:13
好的
蜗牛  21:52:44
哦 对了你 你们整个团队是怎么配置的?
路人甲  21:52:58
我们2个项目组
路人甲  21:53:15
服务器程序4个 客户端7-8个样子
蜗牛  21:54:46
这还仅仅是程序?
蜗牛  21:55:10
每一个项目组的配置?还是两个项目组一共这么多?
路人甲  21:55:42
公用的 
路人甲  21:55:53
哪里有问题就去哪解决
路人甲  21:56:02
1项的比较固定
路人甲  21:56:13
2项 因为他们不熟python  所有经常会去帮忙的
路人甲  21:56:27
他们对linux 也不熟  服务器 也是我们在管理
蜗牛  21:59:39
哦 
蜗牛  21:59:58
大概了解了。比我们的程序实力会强不少。

抱歉!评论已关闭.