如何查看mysql 是否安装server 和client hustoj

如何查看mysql 是否安装server 和client hustoj,第1张

如何查看mysql
是否安装server
和client
hustoj
mysql-server

mysql-client是DBMS的两个面向不同 *** 作对象的工具。server是DBMS面向物理层次,包含存储数据的一系列机制、处理方法的集成;client是DBMS面向用户,提供一系列工具为用户所用,这些工具包括通常写的sql在内都要通过server的编译才能 *** 作物理数据。
客户--client--server物理数据。
服务器--mysql-server是服务端。

*** 作系统的选择
网站放在Linux或者Windows上其实问题都不大。但是鉴于,如果你的平台今后要拿出去办比赛等活动,那么一个正版的Windows商业授权是需要的。所以为了更加经济,选择Linux平台可能更好一点。
但是你的判题核心的部分一定要放到Linux环境下。一个,正式比赛的最终判题环境是Linux;二者,Windows上使用GCC系列的编译器毕竟和Linux下有不少的差距,最终可能会导致很多蛋疼的问题。
Web部分
这部分没啥好说的,基本上用啥都行,和普通的Web方案没啥区别。Django、ROR、Net、J2EE、PHP等等,没什么特殊的地方。
判题节点
判题部分是整个OnlineJudge网站的核心所在。一般建议把判题部分单独抽出来成为一个服务,这样便于随时通过增加判题节点来加快判题的速度。
我们目前的思路是,Web端通过发送判题的请求给RabbitMQ等消息队列,每一个判题节点就是一个worker,这样可以非常简单的扩展判题节点的数量。
如果网站需要提供代理POJ、ZOJ、HDU等OJ的判题功能的话,可以同样的使用上述的思路,构建代理判题的节点,自由扩展。
判题核心
判题核心就是实际去编译、运行用户提交上来的代码的程序。可以成为一个sandbox沙盒。由于本人对Windows的API不是很懂,所以是在Linux上写的。安全性问题,可以参看这个回答Online Judge 是如何解决判题端安全性问题的?,基本思路都是这样。通过fork出另外一个进程,通过设置时间、内存等限制,通过ptrace进行监控,对系统调用进行限制,来解决安全性问题。
但是现在有一个新的思路,就是对判题核心很简单的运行用户的代码,计算时间、内存的使用量,把所有的安全性问题交给Docker来解决。因为Docker是一个非常轻量级的虚拟化方案,启动一个Docker容器就和启动一个程序一样快速,所以把判题核心的程序放到Docker里,就算用户代码搞破坏,最终挂掉的也就是Docker的容器。只要处理好和Docker的交互就可以了。但是这只是一个设想,还没有最终实现,还处于开发阶段,但是思想应该是可行的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13418809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-01
下一篇 2023-08-01

发表评论

登录后才能评论

评论列表(0条)

保存