单一世界架构初探(09)时间之轴

我们可以想象,在单一世界架构中,肯定需要大量的服务器来支持,但反映在虚拟世界中,时间的流动是唯一的。全部服务器的时间流动就是整个世界的时间之轴,也就是时间之轴的流动是整个世界的标准时间。

在实现中,单一世界显然是由很多服务器构成了,每个服务器之间必然存在时间差,这种时间差可能导致基于时间相关的行为发生混乱。比如P1/P2两个玩家互 相攻击,P1在T1时间作出攻击行为,P2在T2时间作出攻击行为,本来P1先击中P2,并杀死P2,但由于时间差的缘故,T2反而小于T1,导致 P2的攻击行为先于P1发生,最后,反而是P2先击杀了P1。如果统一由时间之轴作为基准的话,这种情况就不会发生。时间之轴规范世界所有事件的发生顺 序,所以他的重要性不用赘述。

但是,在实际中,却没有那么严格。我们可以想象,影月谷和荆棘谷之间的时间顺序并没有什么关系,他们之间的时间粒度完全可以在比较粗的粒度上保持一致。而 靠的比较近的暴风城和闪金镇的世界时间误差的精度要求就高点了。对精度要求最高的只有2个事情,1、发生关联的时候,时间的顺序关系才有作用;2、靠近分 区边界的实体,这两个比较好理解。发生关联的两个实体,关联的发生顺序对他们存在影响,如上面所描述的战斗场景。而靠近分区边界的实体就容易发生关联。如 果在一个分区内部的2个实体,他们得到的都是一个服务器的时间,所以不会存在时间误差。

我们考虑一个最高精度的情况,就像上面两个玩家在分区边界发生的攻击行为。这时世界时间为T毫秒,A区为TA毫秒,B区为TB毫秒,网络传输延时为D毫 秒。我们假设P1/P2作出攻击行为的时间间隔很短,只有1毫秒左右,我们现在担心的是,会因为不同区之间时间差,以及网络延时,导致实际攻击效果发生变 化。考察现有的NTP协议等技术手段,通常都只能达到毫秒级别,毕竟网络延时摆在哪里,很难解决这种级别的误差。高精度的时间协议PTP可以达到毫秒级, 倒可以考虑,但他测量网络延时的算法个人认为有缺陷。PTP和NTP一样,对网络延时的差异做出了假设。

我认为关于时间同步上,存在几个确定因素:

1、在同一台机器上,他的时间频率精度是足够的,比如每秒多少个时钟周期。

2、AB两台机器之间时间差不会时间推移而改变,除非作出调整。这个可以根据因素1作出判断。

从因素2我们知道W = T-TA 是个常量,当T1发生报文并T2到达A区,那么T2-T1==W + D,包含了网络时延和时差。在NTP和PTP协议中,都对D作出了假设,NTP假设D是一定,而PTP假设D是可测量。

我有两个方案,事实上也是基于对延时的假设,方案1:

1、假设在同一局域网内每个客户端接收到广播的延时是一样。这个可信度还是很高,在局域网内,误差可以少于纳秒级别。

2、在同一局域网内,存在一个时间服务器S,定时向整个局域网广播当前时间,精度可以达到纳秒NS。

3、当A分区向B分区发送关联时,将A区接收到S的广播时间以及关联发生的时间也发送给B。那么B分区根据自己接收到S的广播时间,能容易推算出A/B两分区之间的时间差。


第二套方案,比较复杂:

1、S/C都在同样的本机时间点向对方时间报文,并记录对方报文到达的时间。

2、S收到C的时间报文后,将本地收到的时间点封包发送给C。

3、C根据收到的报文推算和S的时间间隔。


这套方案同样对网络延时作出假定,认为同时向对方发送报文的延时D1/D2,以及服务器S紧随发送的报文的延时D3在发送时间越接近的情况下,他们的之间误差就会越小。


尽管多个服务器之间的时间同步很重要,但很多情况下,却无需借助精确的时间精度,而只需要知道他们发生的顺序就可以了。R1生成的关联A1,R2生成的关联A2,这两个关联各自取了所在区A和B的时间戳。假设他们的精度要求为毫秒,而AB区之间的时间误差为N毫秒,网络时 延为M毫秒。当A1/A2发生时,他并不知道对方的时间戳,A1通过网络传输到达B区,作用在R2上面,如果这时候R2发生击退效果,实际上A2关联并不 发生。如果A2实际发生,表示R2在被击中的时候,就已经发生攻击行为。考察这个过程,一个很有趣的现象发生了。R1/R2之间的关联实际和时间之轴没有 关系。如果我们一定要在A1/A2打上时间之轴标签,并严格进行排序,实际上,A1发生并作用在R2时,我们并不知道A2的存在。


这篇是我写得最郁闷的,我仔细研究各种关于时间同步的协议,尽管吹得天花乱坠,可是仔细研究起来,都做了许多假设,很难让人信服他们的精度数据,只能从头开始自己弄。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容