一种对程序代码自动进行判断的控制方法及控制装置制造方法及图纸

技术编号:20074528 阅读:39 留言:0更新日期:2019-01-15 00:29
本发明专利技术提供了一种对程序代码自动进行判断的控制方法及控制装置,其用于判断程序代码是否正确,包括如下步骤:a.基于消息队列中的一个或多个程序代码形成与所述一个或多个程序代码相对应的一个或多个容器;b.所述一个或多个程序代码在与所述一个或多个程序代码相对应的一个或多个容器内执行评测,通过形成一个或多个程序代码与所述一个或多个程序代码相对应的一个或多个容器,从而在容器内执行评测,最终实现判断程序代码是否正确的目的,本发明专利技术操作简单,使用方便,无安全隐患,功能强大,实用性强,具有极高的商业价值。

A Control Method and Control Device for Automatic Judgment of Program Code

The invention provides a control method and a control device for automatically judging program code, which is used to judge whether the program code is correct, including the following steps: A. forming one or more containers corresponding to the one or more program codes based on one or more program codes in the message queue; B. one or more program codes corresponding to the one or more programs; By forming one or more containers corresponding to one or more program codes and one or more containers corresponding to the one or more program codes, the evaluation can be carried out in the container, and the purpose of judging whether the program codes are correct or not can be realized. The present invention has the advantages of simple operation, convenient use, no security risks, powerful function and strong practicability. It has high commercial value.

【技术实现步骤摘要】
一种对程序代码自动进行判断的控制方法及控制装置
本专利技术属于软件技术架构领域,特别涉及一种对程序代码自动进行判断的控制方法及控制装置。
技术介绍
随着计算机技术的快速发展和日趋成熟,以网络技术为支撑平台的计算机技术已经具备了较大规模的普及与应用的基础。近几年来,现有技术已经实现了对程序代码自动进行判断的过程,该技术也被广泛应用于在线判题系统当中,在线判题系统通过将答题者提交的代码编译成可运行的程序,并用系统预设好的多组测试用例来检测程序的输入输出是否跟预设好的结果符合,最后给出测评结果。但是,此种控制技术仍然存在较多问题,它不仅不能够完整的对程序的危险行为进行处理,还没有限制系统敏感文件的访问,这会给开发者及用户带来较大的经济损失,此外,在高并发下该技术也不具有动态负载启动或减少的功能。而目前,市场上并没有一种能够有效解决上述问题的具体办法,尤其涉及一种对程序代码自动进行判断的控制方法及控制装置。
技术实现思路
针对现有技术存在的技术缺陷,本专利技术的目的是提供一种对程序代码自动进行判断的控制方法及控制装置,根据本专利技术的一个方面,提供了一种对程序代码自动进行判断的控制方法,其用于判断程序代码是否正确,包括如下步骤:a.基于消息队列中的一个或多个程序代码形成与所述一个或多个程序代码相对应的一个或多个容器;b.所述一个或多个程序代码在与所述一个或多个程序代码相对应的一个或多个容器内执行评测。优选地,在所述步骤a之前,包括如下步骤:i:基于用户行为实现终端与所述评测系统的数据互通;ii:获取一个或多个程序代码,并将所述一个或多个程序代码归入消息队列。优选地,所述步骤a包括如下步骤:a1.相隔时间t,判断所述消息队列中的一个或多个程序代码数量是否超过第一阈值,如超过,则执行步骤a2;a2.创建新的容器,并将超过第一阈值的程序代码归入所述新创建的容器。优选地,所述第一阈值的取值为以下任意一种:20条;30条;50条;或者70条。优选地,所述相隔时间t的取值为以下任一种:1分钟;3分钟;5分钟;或10分钟。优选地,所述步骤b中包括如下步骤:b1.通过数据中心获取与所述程序代码相对应的配置及数据;b2.基于与所述程序代码相对应的配置及数据对所述程序代码进行评测。优选地,所述b步骤之前还包括步骤b′:对所述程序代码进行安全限制。优选地,所述b′安全限制包括以下任意一种或多种:对系统敏感文件的访问限制;对运行时间的限制;对网络资源的调用限制;或者对磁盘资源的调用限制。优选地,在所述步骤b之后,还包括步骤e:基于评测结果生成与所述评测结果相适应的评测报告。优选地,所述步骤e还包括如下步骤:e1.判断所述程序代码是否存在错误;e2.基于判断结果生成评测报告。优选地,所述步骤e之后,还包括步骤f:将所述程序代码以及与所述程序代码相对应的评测结果归入所述数据中心进行储存。优选地,所述程序代码包括如下形式中的任一种:Asp源码;Php源码;Jsp源码;或Net源码。根据本专利技术的另一个方面,提供了一种对程序代码自动进行判断的控制装置,包括:第一处理装置:基于消息队列中的一个或多个程序代码形成与所述一个或多个程序代码相对应的一个或多个容器;第二处理装置:所述一个或多个程序代码在与所述一个或多个程序代码相对应的一个或多个容器内执行评测。优选地,还包括:第三处理装置:基于用户行为实现终端与所述评测系统的数据互通;第一获取装置:获取一个或多个程序代码,并将所述一个或多个程序代码归入消息队列。优选地,所述第一处理装置还包括:第一判断装置:相隔时间t,判断所述消息队列中的一个或多个程序代码数量是否超过第一阈值;第四处理装置:创建新的容器,并将超过第一阈值的程序代码归入所述新创建的容器。优选地,所述第二处理装置还包括:第二获取装置:通过数据中心获取与所述程序代码相对应的配置及数据;第五处理装置:基于与所述程序代码相对应的配置及数据对所述程序代码进行评测。优选地,还包括:第六处理装置:对所述程序代码进行安全限制。优选地,还包括:第七处理装置:基于评测结果生成与所述评测结果相适应的评测报告。优选地,所述第七控制装置包括:第二判断装置:判断所述程序代码是否存在错误;第八处理装置:基于判断结果生成评测报告。优选地,还包括:第九处理装置:将所述程序代码以及与所述程序代码相对应的评测结果归入所述数据中心进行储存。本专利技术提供了一种对程序代码自动进行判断的控制方法及控制装置,通过形成一个或多个程序代码与所述一个或多个程序代码相对应的一个或多个容器,从而在容器内执行评测,最终实现判断程序代码是否正确的目的,本专利技术操作简单,使用方便,无安全隐患,具有极高的商业价值。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1示出了本专利技术的具体实施方式的,一种对程序代码自动进行判断的控制方法的具体流程示意图;图2示出了本专利技术的第一实施例的,基于消息队列中的一个或多个程序代码形成与所述一个或多个程序代码相对应的一个或多个容器的具体流程示意图;图3示出了本专利技术的第二实施例的,判断所述消息队列中的一个或多个程序代码数量是否超过第一阈值,并将超过第一阈值的程序代码归入所述新创建的容器的具体流程示意图;图4示出了本专利技术的第三实施例的,通过数据中心获取与所述程序代码相对应的配置及数据,并对所述程序代码进行评测,最后将所述程序代码以及与所述程序代码相对应的评测结果归入所述数据中心进行储存的具体流程示意图;图5示出了专利技术的第四实施例的,所述一个或多个程序代码在与所述一个或多个程序代码相对应的一个或多个容器内执行评测的具体流程示意图;图6示出了专利技术的第五实施例的,判断所述程序代码是否存在错误,若存在,则基于判断结果生成评测报告的具体流程示意图;以及图7示出了本专利技术的另一具体实施方式,一种对程序代码自动进行判断的控制装置的模块连接示意图。具体实施方式为了更好的使本专利技术的技术方案清晰的表示出来,下面结合附图对本专利技术作进一步说明。图1示出了本专利技术的具体实施方式的,一种对程序代码自动进行判断的控制方法的具体流程示意图,具体地,包括如下步骤:首先,进入步骤S101,基于消息队列中的一个或多个程序代码形成与所述一个或多个程序代码相对应的一个或多个容器,所述第一阈值的取值包括以下任意一种情况:20条、30条、50条、70条,所述相隔时间t的取值包括如下几种情况:1分钟、3分钟、5分钟、10分钟内,本领域技术人员理解,当用户从网站系统发起一次评测请求,该请求会自动归入消息队列中,评测核心会读取消息队列中的任务量,并判断其是否处于堆积状态中,如消息队列处于堆积状态,则自动生成一定数量的容器,如消息队列处于闲置状态中,则立即部署所述程序代码进入容器内进行测评,并自动释放一定容器,让单个容器能够始终处于满载时每秒钟能消化的消息条数的状态,并不断进行测评。所述容器生成个数通过如下公式获取:扩容目标容器个数=扩容生产速率/单容器满载消化速率*冗余因子,其中,所述生产效率为每秒钟产生的消息条数,所述消化速率,为每秒钟所有容器消化的消息条数,所述扩容生产速率为最近30s内观察到的生产速率(最近30s生产的消息条数/30),所述单容器满载消化速率为单个容器在处于满本文档来自技高网...

【技术保护点】
1.一种对程序代码自动进行判断的控制方法,其用于判断程序代码是否正确,其特征在于,包括如下步骤:a.基于消息队列中的一个或多个程序代码形成与所述一个或多个程序代码相对应的一个或多个容器;b.所述一个或多个程序代码在与所述一个或多个程序代码相对应的一个或多个容器内执行评测。

【技术特征摘要】
1.一种对程序代码自动进行判断的控制方法,其用于判断程序代码是否正确,其特征在于,包括如下步骤:a.基于消息队列中的一个或多个程序代码形成与所述一个或多个程序代码相对应的一个或多个容器;b.所述一个或多个程序代码在与所述一个或多个程序代码相对应的一个或多个容器内执行评测。2.根据权利要求1所述的控制方法,其特征在于,在所述步骤a之前,还包括如下步骤:i:基于用户行为实现终端与所述评测系统的数据互通;ii:获取一个或多个程序代码,并将所述一个或多个程序代码归入消息队列。3.根据权利要求1或2所述的控制方法,其特征在于,所述步骤a包括如下步骤:a1.相隔时间t,判断所述消息队列中的一个或多个程序代码数量是否超过第一阈值,如超过,则执行步骤a2;a2.创建新的容器,并将超过第一阈值的程序代码归入所述新创建的容器。4.根据权利要求3所述的控制方法,其特征在于,所述第一阈值的取值为以下任意一种:20条;30条;50条;或者70条。5.根据权利要求3所述的控制方法,其特征在于,所述相隔时间t的取值为以下任一种:1分钟;3分钟;5分钟;或者10分钟内。6.根据权利要求1至5中任一项所述的控制方法,其特征在于,所述步骤b包括如下步骤:b1.通过数据中心获取与所述程序代码相对应的配置及数据;b2.基于与所述程序代码相对应的配置及数据对所述程序代码进行评测。7.根据权利要求6所述的控制方法,其特征在于,所述b步骤之前还包括步骤b′:对所述程序代码进行安全限制。8.根据权利要求7所述的控制方法,其特征在于,所述安全限制包括以下任意一种或多种:对系统敏感文件的访问限制;对运行时间的限制;对网络资源的调用限制;或者对磁盘资源的调用限制。9.根据权利要求1至8中任一项所述的控制方法,其特征在于,在所述步骤b之后,还包括步骤e:基于评测结果生成与所述评测结果相适应的评测报告。10.根据权利要求9所述的控制方法,其特征在于,所述步骤e还包括如下步骤:e1.判断所述程序代码是否存在错误;e2.基于判断结果生成评测报告。11.根据权利要求10所述的控制方法,其特征在于,所述步骤e之后,还包括步骤f:...

【专利技术属性】
技术研发人员:和林跃林汉钊周邵磊张森戴龙翱
申请(专利权)人:杭州百腾教育科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1