CN111966476A - 一种多进程的评测方法和设备、终端及计算机存储介质 - Google Patents

一种多进程的评测方法和设备、终端及计算机存储介质 Download PDF

Info

Publication number
CN111966476A
CN111966476A CN202010822230.1A CN202010822230A CN111966476A CN 111966476 A CN111966476 A CN 111966476A CN 202010822230 A CN202010822230 A CN 202010822230A CN 111966476 A CN111966476 A CN 111966476A
Authority
CN
China
Prior art keywords
evaluated
evaluation
task
working
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010822230.1A
Other languages
English (en)
Inventor
郭乃洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisound Intelligent Technology Co Ltd
Xiamen Yunzhixin Intelligent Technology Co Ltd
Original Assignee
Unisound Intelligent Technology Co Ltd
Xiamen Yunzhixin Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unisound Intelligent Technology Co Ltd, Xiamen Yunzhixin Intelligent Technology Co Ltd filed Critical Unisound Intelligent Technology Co Ltd
Priority to CN202010822230.1A priority Critical patent/CN111966476A/zh
Publication of CN111966476A publication Critical patent/CN111966476A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提出了一种多进程的评测方法和设备、终端及计算机存储介质,应用于包括有多个用于提供评测能力的工作进程、提供监听网络请求的获取进程的系统中,该方法包括:通过获取进程对评测请求进行监听,并启动多个工作流程;当所述获取进程获取待评测任务;通过所述获取进程使用轮询算法将所述待评测任务投递给队列中的工作进程进行评测。使用多进程技术,单个用户崩溃只影响该用户本身,对该评测服务的其他用户是没有任何影响的,且降低了重启的时间。

Description

一种多进程的评测方法和设备、终端及计算机存储介质
技术领域
本发明涉及多进程评测技术领域,特别涉及一种多进程的评测方法和设备、终端及计算机存储介质。
背景技术
在具体的评测过程中,客户端把评测数据传递给服务端,服务端为了处理高并发采用多线程技术,由于多个线程同在一个进程中,这使得在高并发场景任意评测的线程出现了故障,例如挂了等,会使得整个评测进程都崩溃,这时候会导致多个正在评测的客户出现不可评测的现象。
当这种情况发生之后,需要进行资源重启,但是资源重启的时间也会影响这个节点再提供评测,且由于需要恢复所有的线程,导致影响的时间很长,影响评测的正常进行。
由此,目前需要一种更好的评测方法,以解决现有技术中的缺陷。
发明内容
针对现有技术中的缺陷,本发明提出了一种多进程的评测方法和设备、终端及计算机存储介质,使用多进程技术,单个用户崩溃只影响该用户本身,对该评测服务的其他用户是没有任何影响的,且降低了重启的时间。
具体的,本发明提出了以下具体的实施例:
本发明实施例提出了一种多进程的评测方法,应用于包括有多个用于提供评测能力的工作进程、提供监听网络请求的获取进程的系统中,该方法包括:
通过获取进程对评测请求进行监听,并启动多个工作流程;
当所述获取进程获取待评测任务;
通过所述获取进程使用轮询算法将所述待评测任务投递给队列中的工作进程进行评测。
在一个具体的实施例中,被进行所述投递的工作进程位于与所述获取进程比例为1:1的队列中。
在一个具体的实施例中,启动的多个工作流程对应有编号;所述编号存在先后次序;
所述“通过所述获取进程使用轮询算法将所述待评测任务投递给工作进程进行评测”,包括:
通过所述获取进程基于所述编号使用轮询算法将所述待评测任务投递给工作进程进行评测。
在一个具体的实施例中,还包括:
通过原子变量记录当前所有的所述待评测任务。
在一个具体的实施例中,还包括:
若当前队列中的所述待评测任务已结束,且存在有未被处理的所述待评测任务,则将相邻队列中的所述待评测任务转移至当前队列中进行处理。
在一个具体的实施例中,所述系统还包括恢复进程;该方法还包括:
通过所述恢复进程监听各所述工作进程的状态;
若监听到一个所述工作进程的状态变为崩溃状态,则创建一个新的工作进程,以控制所述工作进程的算力不超过所述系统的最大可用算力。
在一个具体的实施例中,所述“通过所述恢复进程监听各所述工作进程的状态”,包括:
当获取到触发条件时,启动所述恢复进程,以通过所述恢复进程监听各所述工作进程的状态。
本发明实施例还提出了一种多进程的评测设备,包括功能模块,所述功能模块用于执行上述的方法。
本发明实施例还提出了一种终端,包括处理器,所述处理器用于执行上述的方法。
本发明实施例还提出了一种计算机存储介质,所述计算机存储介质中存储有程序,所述程序用于执行上述的方法。
以此,本发明实施例提出了一种多进程的评测方法和设备、终端及计算机存储介质,应用于包括有多个用于提供评测能力的工作进程、提供监听网络请求的获取进程的系统中,该方法包括:通过获取进程对评测请求进行监听,并启动多个工作流程;当所述获取进程获取待评测任务;通过所述获取进程使用轮询算法将所述待评测任务投递给队列中的工作进程进行评测。使用多进程技术,单个用户崩溃只影响该用户本身,对该评测服务的其他用户是没有任何影响的,且降低了重启的时间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提出的一种多进程的评测方法的流程示意图;
图2为本发明实施例提出的一种多进程的评测方法的流程示意图;
图3为本发明实施例提出的一种多进程的评测方法中恢复进程所执行操作的流程示意图;
图4为本发明实施例提出的一种终端的结构示意图。
具体实施方式
在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本公开的各种实施例限于在此公开的特定实施例的意图,而是应将本公开理解为涵盖落入本公开的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。
在本公开的各种实施例中使用的术语仅用于描述特定实施例的目的并且并非意在限制本公开的各种实施例。如在此所使用,单数形式意在也包括复数形式,除非上下文清楚地另有指示。除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本公开的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本公开的各种实施例中被清楚地限定。
实施例1
本发明实施例1公开了一种多进程的评测方法,应用于包括有多个用于提供评测能力的工作进程、提供监听网络请求的获取进程的系统中,如图1以及图2所示,该方法包括以下步骤:
步骤101、通过获取进程对评测请求进行监听,并启动多个工作流程;
步骤102、当所述获取进程获取待评测任务;
步骤103、通过所述获取进程使用轮询算法将所述待评测任务投递给队列中的工作进程进行评测。
具体的,如图2所示,评测服务的并发技术使用多进程提供并发能力,提供评测能力的进程命名为work process(也即工作流程),提供accept的进程命名为accept process(也即获取进程),accept process进程负责listen网络请求,服务运行之后会启动N个workprocess。编号为0..N,accept process使用轮询算法直接把网络fd(fd是评测服务的网络连接,在此对应待评测任务)投递到work process进行处理。
进一步的,被进行所述投递的工作进程位于与所述获取进程比例为1:1的队列中。
具体的,accept process使用轮询问算法直接把网络fd投递到work process,投递使用的是accpet process和work process 1:1的队列里面,这里面可以减少系统调用的锁竞争。具体的,该1:1是指,每个work process有个独占的队列,如此可以有效减少系统调用的锁竞争。
在一个具体的实施例中,启动的多个工作流程对应有编号;所述编号存在先后次序;
所述“通过所述获取进程使用轮询算法将所述待评测任务投递给工作进程进行评测”,包括:
通过所述获取进程基于所述编号使用轮询算法将所述待评测任务投递给工作进程进行评测。
进一步的,还包括:通过原子变量记录当前所有的所述待评测任务。
具体的,使用原子变量记录当前需要服务的总的fd。具体的,在并发计数,特别是高并发计数的场景下,通过原子变量记录的方式,可以使得执行效率更高。
经一步的,本方案的方法还包括:
若当前队列中的所述待评测任务已结束,且存在有未被处理的所述待评测任务,则将相邻队列中的所述待评测任务转移至当前队列中进行处理。
具体的,如果count(fd)>0(也即系统中存在有待评测任务还未处理),并且当前队列fd(当前的待评测任务已被处理)已经服务结束,直接窃取相邻work process队列里面的任务,平衡系统饥饿现象。
进一步的,所述系统还包括恢复进程;该方法还包括:
通过所述恢复进程监听各所述工作进程的状态;
若监听到一个所述工作进程的状态变为崩溃状态,则创建一个新的工作进程,以控制所述工作进程的算力不超过所述系统的最大可用算力。
具体的,故障恢复的进程命名为Recovery process。如图3所示,设置有单独的Recovery process负责监听work process的状态,如果崩溃一个work process,就起一个work process,崩溃一个才补充一个,保住不会超过系统最大可用算力。
进一步的,恢复进程可以触发开启或关闭,所述“通过所述恢复进程监听各所述工作进程的状态”,包括:
当获取到触发条件时,启动所述恢复进程,以通过所述恢复进程监听各所述工作进程的状态。
以此,本方案中使用多进程技术,单个用户崩溃只影响该用户本身。对该评测服务的其他用户是没有任何影响的。这个时间点的影响从n(当前评测用户数)降为1。此外.原有服务崩溃的重启时间为T=B(加载资源时间)+N(并发数)*S(创建session)+R(tcp listen回收时间)。现有服务崩溃重启时间几乎为零,其中B=0,N=1,S=<1ms,R=0,结果是T=<1ms。对于评测任务的影响很小。
实施例2
本发明实施例2还公开了一种多进程的评测设备,包括功能模块,所述功能模块用于执行实施例1中所述的方法。
具体的,本发明实施例2还公开有其他相关特征,具体的相关特征请参见实施例1中的记载,在此不再进行赘述。
实施例3
本发明实施例3还公开了一种终端,如图4所示,包括处理器,所述处理器用于执行实施例1中所述的方法。
具体的,本发明实施例3还公开有其他相关特征,具体的相关特征请参见实施例1中的记载,在此不再进行赘述。
实施例4
本发明实施例4还公开了一种计算机存储介质,所述计算机存储介质中存储有程序,所述程序用于执行实施例1中所述的方法。
具体的,本发明实施例4还公开有其他相关特征,具体的相关特征请参见实施例1中的记载,在此不再进行赘述。
以此,本发明实施例提出了一种多进程的评测方法和设备、终端及计算机存储介质,应用于包括有多个用于提供评测能力的工作进程、提供监听网络请求的获取进程的系统中,该方法包括:通过获取进程对评测请求进行监听,并启动多个工作流程;当所述获取进程获取待评测任务;通过所述获取进程使用轮询算法将所述待评测任务投递给队列中的工作进程进行评测。使用多进程技术,单个用户崩溃只影响该用户本身,对该评测服务的其他用户是没有任何影响的,且降低了重启的时间。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1.一种多进程的评测方法,其特征在于,应用于包括有多个用于提供评测能力的工作进程、提供监听网络请求的获取进程的系统中,该方法包括:
通过获取进程对评测请求进行监听,并启动多个工作流程;
当所述获取进程获取待评测任务;
通过所述获取进程使用轮询算法将所述待评测任务投递给队列中的工作进程进行评测。
2.如权利要求1所述的方法,其特征在于,被进行所述投递的工作进程位于与所述获取进程比例为1:1的队列中。
3.如权利要求1所述的方法,其特征在于,启动的多个工作流程对应有编号;所述编号存在先后次序;
所述“通过所述获取进程使用轮询算法将所述待评测任务投递给工作进程进行评测”,包括:
通过所述获取进程基于所述编号使用轮询算法将所述待评测任务投递给工作进程进行评测。
4.如权利要求1所述的方法,其特征在于,还包括:
通过原子变量记录当前所有的所述待评测任务。
5.如权利要求1所述的方法,其特征在于,还包括:
若当前队列中的所述待评测任务已结束,且存在有未被处理的所述待评测任务,则将相邻队列中的所述待评测任务转移至当前队列中进行处理。
6.如权利要求1所述的方法,其特征在于,所述系统还包括恢复进程;该方法还包括:
通过所述恢复进程监听各所述工作进程的状态;
若监听到一个所述工作进程的状态变为崩溃状态,则创建一个新的工作进程,以控制所述工作进程的算力不超过所述系统的最大可用算力。
7.如权利要求6所述的方法,其特征在于,所述“通过所述恢复进程监听各所述工作进程的状态”,包括:
当获取到触发条件时,启动所述恢复进程,以通过所述恢复进程监听各所述工作进程的状态。
8.一种多进程的评测设备,其特征在于,包括功能模块,所述功能模块用于执行权利要求1-7中任意一项所述的方法。
9.一种终端,其特征在于,包括处理器,所述处理器用于执行权利要求1-7中任意一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有程序,所述程序用于执行权利要求1-7中任意一项所述的方法。
CN202010822230.1A 2020-08-16 2020-08-16 一种多进程的评测方法和设备、终端及计算机存储介质 Pending CN111966476A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010822230.1A CN111966476A (zh) 2020-08-16 2020-08-16 一种多进程的评测方法和设备、终端及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010822230.1A CN111966476A (zh) 2020-08-16 2020-08-16 一种多进程的评测方法和设备、终端及计算机存储介质

Publications (1)

Publication Number Publication Date
CN111966476A true CN111966476A (zh) 2020-11-20

Family

ID=73387927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010822230.1A Pending CN111966476A (zh) 2020-08-16 2020-08-16 一种多进程的评测方法和设备、终端及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111966476A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770120A (zh) * 2005-10-26 2006-05-10 北京启明星辰信息技术有限公司 一种操作系统安全功能评测方法及系统
CN101296130A (zh) * 2008-05-30 2008-10-29 北京同步科技有限公司 一种实现多进程共享端口接收网络通知的系统及其方法
CN104850456A (zh) * 2015-05-27 2015-08-19 苏州科达科技股份有限公司 多进程解码方法和系统
US20170161670A1 (en) * 2015-12-03 2017-06-08 Solv Concepts Technology Limited Method and system for managing queues
CN109542597A (zh) * 2018-10-23 2019-03-29 高新兴科技集团股份有限公司 多进程可视化应用方法、系统及计算机存储介质
CN110119305A (zh) * 2019-05-13 2019-08-13 北京达佳互联信息技术有限公司 任务执行方法、装置、计算机设备及存储介质
CN110659159A (zh) * 2019-09-05 2020-01-07 苏州浪潮智能科技有限公司 一种服务进程运行监控方法、装置、设备及存储介质
CN111338930A (zh) * 2019-12-19 2020-06-26 烽火通信科技股份有限公司 一种基于多进程多租户的自动化测试系统及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770120A (zh) * 2005-10-26 2006-05-10 北京启明星辰信息技术有限公司 一种操作系统安全功能评测方法及系统
CN101296130A (zh) * 2008-05-30 2008-10-29 北京同步科技有限公司 一种实现多进程共享端口接收网络通知的系统及其方法
CN104850456A (zh) * 2015-05-27 2015-08-19 苏州科达科技股份有限公司 多进程解码方法和系统
US20170161670A1 (en) * 2015-12-03 2017-06-08 Solv Concepts Technology Limited Method and system for managing queues
CN109542597A (zh) * 2018-10-23 2019-03-29 高新兴科技集团股份有限公司 多进程可视化应用方法、系统及计算机存储介质
CN110119305A (zh) * 2019-05-13 2019-08-13 北京达佳互联信息技术有限公司 任务执行方法、装置、计算机设备及存储介质
CN110659159A (zh) * 2019-09-05 2020-01-07 苏州浪潮智能科技有限公司 一种服务进程运行监控方法、装置、设备及存储介质
CN111338930A (zh) * 2019-12-19 2020-06-26 烽火通信科技股份有限公司 一种基于多进程多租户的自动化测试系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
文全刚: "《嵌入式Linux操作系统原理与应用》", 28 February 2014, 北京航空航天大学出版社, pages: 166 - 167 *

Similar Documents

Publication Publication Date Title
CN111782360B (zh) 分布式任务调度方法及装置
CN110730136B (zh) 一种实现流量控制的方法、装置、服务器及存储介质
EP3335120B1 (en) Method and system for resource scheduling
US10831622B2 (en) Method and apparatus for processing gateway device fault
CN111541762B (zh) 数据处理的方法、管理服务器、设备及存储介质
CN109918187B (zh) 任务调度方法、装置、设备和存储介质
CN108268305A (zh) 用于虚拟机自动扩缩容的系统和方法
CN106940671B (zh) 一种集群中任务线程运行的监控方法、装置及系统
CN109766198B (zh) 流式处理方法、装置、设备及计算机可读存储介质
CN111143069A (zh) 服务管理方法、装置、电子设备、存储介质
CN112948212A (zh) Rpa任务状态监控方法、装置及计算机存储介质
CN111225029A (zh) 一种动态消息推送方法、系统和汽车诊断服务器
CN109257396B (zh) 一种分布式锁调度方法及装置
CN110727508A (zh) 一种任务调度系统和调度方法
CN112631761A (zh) 一种任务调度监控方法和装置
CN113835876A (zh) 一种基于国产cpu和os的人工智能加速卡调度方法及装置
CN112564980A (zh) 一种基于微服务架构的服务监控方法及系统
CN107870822B (zh) 基于分布式系统的异步任务控制方法及系统
CN111835797A (zh) 一种数据处理方法、装置及设备
CN103902401A (zh) 基于监控的虚拟机容错方法及装置
CN113742071A (zh) 一种任务处理方法和电子设备
CN113672471A (zh) 一种软件监控方法、装置、设备及存储介质
CN111064586B (zh) 一种分布式并行计费方法
CN111966476A (zh) 一种多进程的评测方法和设备、终端及计算机存储介质
CN113010306A (zh) 业务数据处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination