基于Linux的ACM程序设计竞赛在线评判系统研究

发布于:2021-09-21 03:31:35

维普资讯 http://www.cqvip.com

  。

2天蕾竹杖    。’。。2t    ̄‘。J 08。。  。。’g。— ‘ 。  J 。’。’— 。g 。 0。‘。 ’l t

I T论 坛  

基于L u 的A M程序设计竞赛在线评判系统研究 ix C n   
陈 字 杨 成虎 庄 英杰  闫冬升 

( 东北林业大学信息与计算机工程 学院, 黑龙江 哈 尔滨 10 8 ) 50 0 
摘 要: 针对现 有 A M程序设 计竞赛评判 系统存在 的缺 陷, 计 了新 的架构模式。在研 究该 系统架构的特 点和体 系结构后 , C 设 提  出了一种基 于逐个字符比较 的评判算法 , 并针对 页面设计、 数据库接 1 、 判算法、 5评 / 资源限制等关键 性问题进行 了分析 , 并给 出了具 
体的解决方案 , 为在 线评测 系统的研 究提供 了新的思路 。  
关 键 词 : C ; n n u g ; 判 系统 ;/u  A M O l e Jd e评 i Lnx

A M 国际 大学生程 序设计竞赛 所应用 的竞赛* 台成称 为  算排名 , C 更新 数据库信 息 。在任务繁忙的情况下 , 可以通过增加  A M O l eJde竞赛过程 中参赛选 手只需提交源代码 即可 。 评判机来分担负荷 。 C   nn ug , i     目 , 前 官方没有提供因特网版*台 , 由各大高校独立完成 。 目 但   对 M SL yQ 数据库 的操作 , 通过提供 的 C语言接 1 3。主要应 
前 主要 以北京 大 学 和浙 江 大学 所 提 供 的* 台 为 主 ,均采 用  用 到如下几个 A I M S L m sliiMY Q * yq)初始化一  P 。 Y Q * yq—n ( S L m s1 t , wn o s idw 系统 , 开发容易, 但是安全性和效率上均不理想 。 因此开  个 m sl 象 ,为 数据 库操 作作 准备 。MY Q * sLc net yq 对 S Lmyq o nc  

发一套安全性和效率都有保证 的*台 , 势在必行 。   1系统架构 

( YS L myq,o s c a hs,o s c a*srcntca  as M Q   slcnt hr otc nt h rue,o s hrps         

w )连接数据库 , yq 为 m slii后被初始化后 的 MY Q d, m sl yq n — t S L对 

在操作 系统的选 择上 ,主要有两类 , n o s Widw 系统 和 Ln x 象 ,ot MY Q iu  h s为 S L服务器所在的主机名或 I , ue 身份连接 , P 以 sr  

系统。为 了能够提供给用户更好的服务和体验 , 选用 L u 系统  psw ix n as d为其 1令 。itm slq ey S L m s1 os ca*u 3 n yq u r( Q * yq. nt hrq    _ MY c   * 台。在网络应用 程序上 , 采用 了 We b技术 实现 BS模式结构 , ey,同上 , yq 为 m slii后 被初 始 化后 的 MY Q /   r ) m sl yq nt   S L对象  ,   进一步加强 了安全性 , 而且用户直接通 过浏览器便可参加竞赛 , q e   ur y为标准的 S L查询语句。 Q  
简化竞赛过程。  


对 用户 提交 代码 编译的时直接 调用 G C编译器 , C 使用 的编 
DONL NE I
_

JP是 JvS rePgs的 简称 ,它 是 由基 于 jv 体 系 的  译 选 项 为 :+ fo p 一  o — nifo am— l l s t   S aaevrae aa g + o. p 0 f a s—n — B Wa —m… t i c o l ac J D E 2 er .t 其中 f . p为用户提交上来 的程  U G   > r rx。 o t oc op

We b开发技术。JP代码经过服务器的解 释执行后 , S 会直接嵌入 

到 H ML代码当中。 T 使用成熟 的 JvB a aa en来实现 , 满足面向对象  序 , o f 为可执行程序。为了让用户看到 自己的编译出错信息 , o 采 
的思想 和 MV C设计模式 。We b服务器应用成熟稳定的 A ah  用 了错误重定向“ >r r t , pce 2 er . ” 然后用户就可 以通过 w b 览看  o ̄ e浏

T mct.。J B o a50 D C是一种用于执行 S L语句 的 J V   P 。后台  到该信息了。当程序通过编译后 , Q A AA I 该程序返 回 0 否则非 0  , 。 服务程序用 C语言编写 , 主要用来评判和排名 , 充分发挥出 c程  采 用的评判算法通过 Ln x多进 程和管道技术来实现评判。 iu  
序速度快的特点。 台服务程序彻底 与前 台无关 , 后 只针对数据库  新 开辟两个进程 , 称为进 程 1和进程 2 进 程 1 行编译好 的程  。 运

操作 。 后台程序具有如下几个参数设置 :S 一 设置数据库 sre 地  序 , 人流指 向测试用 例 , e r v 输 输出流指 向另一个线 程 ; 程 2通过  进 址, 默认 1 7 ..; U设置数 据库用户 名 , 2 . 01 一 0 默认 r t一 o ;P设置数  管道接 收进 程 1 出 ,每接收一个 字符就和答案文件相应字符  o 输 如发 现不一样 , 则终止 两个进程 。 评判到最后 , 如果接  据库密码 , 默认 r t一 设置数据库名 , o ;n o 默认 am;d c 一 设置用户程  进行 比较 ,

则 在  序保存路径 ,  ̄ hm / ms vr。中间层通过采用开源数据  收到的每个 字符 和答 案文件均一致 , 正确 。需要 注意的是 , 默7 o e c / r f d a e e/ 字符 比较过程 中 , 一个 A CI 1 ( S I 0 回车 )   与两个 A SI1  0 换  C I 3 1(   库 MyQ S L耦合 , 其性能优 良, 维护容易 , 成本极低 。  
相等 。 在评判过程 中如果用 户程序发生段异常等非正常  为 了提高开发效率使用集成开发环境 E l s,这是一款 由 行 回车 ) c pe i   I M主力 研发 的一款 J V  D B A A IE,其不但能够对 JS 2 E提供完美  情况 , 系统会发 送 SG IL等信 号 , IK L 通过捕 捉这些信号 , 进一步  支持 , 而且通 过挂载相应插件 , 也可以 We b开发 , 满足 我们的代  确定程序运行结果 , 户更 准确 的信息 。 给用  

码环境需求 。  
2评判 系统 

执行 的用户程序如果 占用过多资源,会导致服务器瘫痪 , 因  此必须 限定其运行资源 , 主要包括 C U运行时间和内存 占用 。 P 我 

t c l i类 r  i l _u和 i_ x i 提交页面使用表单形式 , 页面提 交后 , 保存到 J aen , 们先对一个 su trm t 型的结 构体设 置 rm e r dm ma  a Ba 里   v 通过 B a en方法对合法性判断 , 并作业 务逻辑处理 。用户所有提  成员变量 , 之后配合 sti iitrsuc ,os s utrm t i呻  ermtn eo recnt t c l i r l (  r  i  p rm cr i dm m x 交的记 录都保存在 sb t u mi表中 ,后 台服务 的判断结果也返 回给  函数进行资源限制 。l _ u 为软 限制 ,i _ a 为硬限制。当程 
sb i表 的相应记录。结果集页面针对记录较 多的问题 , u mt 采用真  序资源超过限制会发送 S X P I C U或 S G E G信号来终止程序  G E SV

除了资源限制还  分 页技术来解决 ,每次 只从数据库 中取 出一定数 目连续的结果  的运行。 由于服务程序要执行用户提交的代码 ,
通过 sti sti eu d和 e d函数来设置用户 I  g D 集。 后台服务程序每隔一段时间就查看一下是否有新记录, 在查  要针对权 限进一步限制 ,
D, D和组 I D只能拥有最低 的 nb d 权 限, ooy   看时首先对数据库 加同步锁 , 查询后 释放 , 如果没有更新返 回, 和组 I 所设置的用户 I   也不能访问网络 , 不能执行脚本 , 不能运行  如果有新记 录出现 , 执行 评判算法 , 则 如果 程序错误 , 罚时次数  不能有操作文件权 限,

加一 ; 如果程序正确 , 完成 时间= 提交 时间+ 时次数× 0 然后计  系统调用 , 罚 2, 更不能执行非法命令 。  

( 下转 8 页 ) 8  

维普资讯 http://www.cqvip.com

民蕾科技 
丽  露  i _  

农 林论 坛 

33 .花灌木 。没有 明显的主干 , 植株 丛生 的观花观叶观果树  赏树种 。中生树 种 , 喜湿润的冲积土。以上几种 丁香可在不同路 

种, 是园林绿 化的主体材料 。在高速公路绿化 中, 花灌木可植于  段与乔木树种 搭配栽植 , 可形成花期错 落 , 色更新 , 花 花香不 断 
中央分 隔带 , 防眩遮 光 , 并且可 以通过分段 栽植 , 五颜六 色 的  的良好效果 。4 珍珠梅 。 使 () 高达 2 枝条开展 , m, 羽状复叶 , 小叶 1~ 1 

花卉与高低不 同的花木相结合 , 使司乘人员有一种新鲜感 , 而  1。圆锥花序顶生 , 1~ 0 m, 5 1c 从 7 长 0 2 c 径 ~ 0m。花 白色 , 花期 7 8 ~  达到调节视觉与精神疲劳 的目的, 提高行车安全系数 。 在路堤坡  月。喜光耐寒 , 对土壤要求 不严 , 萌芽力强 , 阳光充足、 在 排水 良  面、 公路景点 的绿化中 , 花灌木更具有重要 的作用 。( ) 1紫丁香 ; 好 的地方可形成密集灌丛 。5 红瑞 木。   () 植株高 1 ~ m, . 3 树皮暗红  5
() 2 小叶丁香 ;3 暴马丁香 。上述 3种均 为木犀科丁香属植物。 色 , ()   枝条血红色 。圆锥状 聚伞花序顶生 , 花白色, 花期 5 6月。秋   ̄

紫丁香是 丁香属中栽培最普遍 的种类 , 通常高 2 3  ̄ m。圆锥花序  季叶变为紫红色 , 冬季枝红如血 , 与白雪相衬 , 景色别致 , 是很好  硕大 , 长可达 2 e 宽达 1e 花朵繁多 , 0 m, 0 m, 花色兰紫 , 气味芬芳 , 的观赏花卉 ,   *年来 已引入城市园林 。   深受北方人民喜爱 , 广泛栽培于街道 、 公园等地。 喜光耐旱 , 耐干  适 于高速公路绿化 的树种很多 , 由于篇幅所限 , 不宜一一介  旱瘠 薄 , 适应性强 ; 小叶丁香植株* , 高可达 1 m, . 叶较小 , 5 圆  绍。只要我们将绿化作为高速公路养护的一项重要 内容 , 并根据  锥花序也较小 , 较密集 , 但 花紫红色 , 芬芳艳 丽, 花期 5 6月。喜  路段所处位置特点 ,  ̄ 选择合适 的树 种 , 进行 合理的搭配 , 就可以  光, 耐干旱瘠 薄 ; 暴马丁香为灌木或小乔木 , 高可达 1m。圆锥花  收到良好 的效果 , 0 使高速公路成为美丽的绿色长廊 。  
序大 , 1~ 5 m, 白色 , 长 0 1c 花 具特殊 的清香气味 , 为优美 的绿化观 

( 上接 8 页 ) 号 )《 0   、国家林 业局关 于完 善人 工商品林采 伐管  确保人工商品林 的采 伐额度 。对天然商品林和人工商 品林分别  理的意见》林资发[0 2 2 ) , ( 2 0 ] 4号 等 都体现了这一观点 。这一观  编制采伐限额并执行。 2  
点的总体思路是 , 在坚持限额采伐 和凭证采伐的前提下 , 将森林 
223建立生态效益补偿机制 。 .. 建立生态效益补偿基金 , 纳人 

资源区分为公益林和商品林两大类 ,分别采取不 同的采伐限额  中央和地方 财政 预算 ,对公益林分别 由中央财政 和地方财政给 
制度 , 公益 林实行禁伐 、 对 限伐措施 , 对商品林 的采伐政策予 以  予相应 的补贴 ;对集体及私人业主营造的林木被 区划为公益林  放宽 ,在法定 的采伐 限额 内确保人工用材林 、私有林 的采伐要  的 , 由国家收购 , 不愿 意被区划为公益林 的 , 当地林 业主管部门 

限伐协议并给予相应 的补偿 ;   求。根据我 国现在的森林资源与生态环境状 况, 这一措施应该是  应 当与集体或私人业主签订禁伐、
恰 当的选择 。  

对 于私人业主营造的商品林 ,其不愿 意继续经营又不能转让给 

22完善森林限额采伐制度应采取的措施 。 了保证森林采  他人 的, . 为 也应 当由国家予 以收购并给予一定 的补偿 ; 逐步建立 生 
伐 限额制度确实有利于使我 国的林业发展从木材林业向生态林  态公益林补偿金 缴纳 制度 , 要求生态公 益林使用者 、 直接受益 于  业转变 , 需要采取以下措施对该项制度加 以完善。   生态公益林 的供水 、 风景旅 游 、 地矿产开采 、 占用生态公益  林 征 224 ..加强采伐限额制度执行 的监督检查 。首先应当加强对 

2 . 尽快完成森林分类 区划。由国家林业 局会 同有关部门  林林地等经营单位或个人缴纳生态公 益林补偿金 。 .1 2   制定森林分类区划标 准与方法 ,各地按照区划标准与方 法尽 快  完成森林分类 区划工作 ,在将森林资源 区划为公益林和商 品林  公 益林 、 天然商 品林 在伐 区调查设 计 、 后验收 、 伐更新等各  伐 采

的基础上 , 将公益林进一步区划 为国家重点公 益林 和地方重点  个环节 的监督检查 。 其次 , 虽然对人工商品林 的采伐限额予 以放 
公益林 , 商品林进一步 区划为天然商品林 和人工用材林 。 将   宽, 主要 由经营者按 照森林经营方 案确定 , 是 , 工商品林 的  但 人 因此 , 经营者应 当严格按照  22 .. 2根据森林分类 区划制定不同的限额采伐措施 。对 于重  采伐 同样事关生态环境和水 土保持 , 点公益林特别是 国家重点公益林 , 实行禁伐 , 严格保护 , 只能进  森林经营方案的内容实施 ,林业 主管部 门则应 当加强对森林经    行抚育性采伐或者改造性采伐 ; 于天然商品林实行限伐措施 , 营方案实施 的监督检查 。 对  

( 上接 2 6页)  

P 1 S S 硬盘 。整套系统通过 内部测试 , 校赛测试 , 效  评判算法运行结束后 , 还要获取 C U时间片  C U,G内存 ,C I P

00 和 内存使用情况 的信息 。利用 sut uae t e r g 结构体和 wi系列  果 非常理想 ,共成功完成共 10 0余次的提交 任务处理 ,速度  r  s a t
性能优 良, 安全机*∪ 。在 2 0人同时在线提交 时, 0 服务器  函数。如 :t e rsg  sg ;at(i2 pt u , , uae 。 快、 s u t uaeuaew i pd ,& s ts0 & sg )  r   4 a

3题库保存  题库 的收集力求全面 , 是收集 以前赛 区的真题 , 主要 每题包 

吞 吐量正常 , 未见任何异常。  
参 考 文 献 

1[ e  t e Rc r S e 著 陈健 , 美] l t hd o 宋健健译.iu Lnx程  含三个文件 , 评判输入数据文件命 , 命名为 , ; i 评判标准答案文  [] N i Ma hw, i a   tns , n 第 [ | M]  中国人 民邮 电出版社 ,0 7 20 .   件, 命名为 }ot题 目描述为 * t 文件 , . ; u .ml h 方便浏览。 目所用到  序设计( 3版 ) - 京 : 题 2[ tv  h h著 ,  ̄] 杨涛等译./u Lnx管理 员指南( 2版 ) ] 第 [ . M 北  的图片与 hm 文在同意 目录。 tl 主要 的三个文件文件名应相同 , 后  [] SeeS a

缀不同。方便管理。  
4 实 验 

京: 机械工业 出版社 ,0 1 20、  

[ 徐千洋. nx C函数库参考手册[ 】 3 ] L u  i M. : 北京 清华 出版社 ,0 2 20.  

4[ 美] l B著 y U i Lnx编程 实践教程  x 系统测试在学校实验室进行 , 实验环境为 2 0台计算 机 , 0 基  [] Moa , ,杨 宗源 ,黄海涛译.n /iu | 20 .   本 配置为 PV 3 G C U,1M 内存 。服务器配置为 PV 2 G [ ] 匕 : I  .   P 5 2 0 I  .   M I 京 清华大学出版社 ,0 4 0


相关推荐

最新更新

猜你喜欢