关于云原神和云崩铁的原理

原因(为什么写这篇文章)

原因很简单,就是我看到我班级的同学,在拿电脑的浏览器来打云崩铁,所以就突发奇想想来研究研究他的原理,本文章的内容都是我自己的猜想不是真的呀,所以各位在阅读的时候不要太信以为真(因为也跟很多人争论过这个原理)

服务器配置

先从服务器后端讲起,服务器通过之前的一些视频可以看到服务器是官方自己组装的

来自b站

这看起来是一台机架式服务器(扁的),我也自己去算了一次配置(截止目前最高的GPU算法服务器的价格是56万人民币左右,这个报价来自无情开评的某期视频) ,因为原神是锁帧60的,所以降低了显卡的压力,显卡应该是英伟达A100的80G版本,九万多一块(真贵),然后接着大概是10Gbps(万兆专线)的网络,有可能更高,所以配置很足,系统因为要让GPU(显卡,更准确点是计算卡)的性能发挥的更强所以可能是Windows Server。

网络设施

在网络设施这方面我通过浏览器看到了网页前端的技术

还是很先进的使用的技术 

后端主要原理 

我认为就是当用户在前端登陆后,点击开始游戏,服务器就会立马使用Docker创建一个容器(这是因为看到网页前端出现了一小会的等待,这么快应该就是Docker),里面就是游戏,然后通过登陆的用户数据从存储用户数据的服务器里调取数据到容器(复制一个副本过来),你可能会问问什么这么快?因为人家是万兆网,我们在手机端下载的时候可以看到数据大小就差不多1GB左右,对于服务器的万兆宽带来说调用这个还不用1秒钟的时间, 然后就启动,然后把屏幕传输到玩家的浏览器上。

这样基本就实现了功能 

关于为什么限制时长(来理解一下官方) 

我自己也是做过网络服务的,真的很不容易,米哈游能给到玩家那么多的免费游玩时间,真的很佩服,因为这么多台服务器运营要很多钱,所以官方能给到这么多时长应该也是亏了不少的,并且体验还那么好 

总结 

这就是思考出来的结果,当然不要当真哦,我只是一个初中生,也希望官方看到这篇文章能过来评价一下,我是因为真的好奇也是真的喜欢这两款游戏自己又是搞程序的就很有兴趣来研究一下,大家积极评论哦,一起来探讨一下这个问题 !!!

服务端部署与启动 现在可以安装服务端了,使用的是 bert-base, 来自于项目BERT-BiLSTM-CRF-NER, 服务端只是该项目中的一个部分。 项目地址:https://github.com/macanv/BERT-BiLSTM-CRF-NER ,感谢Macanv同学提供这么好的项目。 这里要说明一下,我们经常会看到bert-as-service 这个项目的介绍,它只能加载BERT的预训练模型,输出文本向量化的结果。 而如果要加载fine-turing后的模型,就要用到 bert-base 了,详请请见: 基于BERT预训练的中文命名实体识别TensorFlow实现 下载代码并安装 : pip install bert-base==0.0.7 -i https://pypi.python.org/simple 1 或者 git clone https://github.com/macanv/BERT-BiLSTM-CRF-NER cd BERT-BiLSTM-CRF-NER/ python3 setup.py install 1 2 3 使用 bert-base 有三种运行模式,分别支持三种模型,使用参数-mode 来指定: NER 序列标注类型,比如命名实体识别; CLASS 分类模型,就是本文中使用的模型 BERT 这个就是跟bert-as-service 一样的模式了 之所以要分成不同的运行模式,是因为不同模型对输入内容的预处理是不同的,命名实体识别NER是要进行序列标注; 而分类模型只要返回label就可以了。 安装完后运行服务,同时指定监听 HTTP 8091端口,并使用GPU 1来跑; cd /mnt/sda1/transdat/bert-demo/bert/bert_svr export BERT_BASE_DIR=/mnt/sda1/transdat/bert-demo/bert/chinese_L-12_H-768_A-12 export TRAINED_CLASSIFIER=/mnt/sda1/transdat/bert-demo/bert/output export EXP_NAME=mobile_0 bert-base-serving-start \ -model_dir $TRAINED_CLASSIFIER/$EXP_NAME \ -bert_model_dir $BERT_BASE_DIR \ -model_pb_dir $TRAINED_CLASSIFIER/$EXP_NAME \ -mode CLASS \ -max_seq_len 128 \ -http_port 8091 \ -port 5575 \ -port_out 5576 \ -device_map 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 注意:port 和 port_out 这两个参数是API调用的端口号, 默认是5555和5556,如果你准备部署多个模型服务实例,那一定要指定自己的端口号,避免冲突。 我这里是改为: 5575 和 5576 如果报错没运行起来,可能是有些模块没装上,都是 bert_base/server/http.py里引用的,装上就好了: sudo pip install flask sudo pip install flask_compress sudo pip install flask_cors sudo pip install flask_json 1 2 3 4 我这里的配置是2个GTX 1080 Ti,这个时候双卡的优势终于发挥出来了,GPU 1用于预测,GPU 0还可以继续训练模型。 运行服务后会自动生成很多临时的目录和文件,为了方便管理与启动,可建立一个工作目录,并把启动命令写成一个shell脚本。 这里创建的是mobile_svr\bertsvr.sh ,这样可以比较方便地设置服务器启动时自动启动服务,另外增加了每次启动时自动清除临时文件 代码如下: #!/bin/bash #chkconfig: 2345 80 90 #description: 启动BERT分类模型 echo '正在启动 BERT mobile svr...' cd /mnt/sda1/transdat/bert-demo/bert/mobile_svr sudo rm -rf tmp* export BERT_BASE_DIR=/mnt/sda1/transdat/bert-demo/bert/chinese_L-12_H-768_A-12 export TR
最新发布
04-03
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值