CN114416406B - 一种基于云测平台任务多并发的实现方法 - Google Patents
一种基于云测平台任务多并发的实现方法 Download PDFInfo
- Publication number
- CN114416406B CN114416406B CN202210114647.1A CN202210114647A CN114416406B CN 114416406 B CN114416406 B CN 114416406B CN 202210114647 A CN202210114647 A CN 202210114647A CN 114416406 B CN114416406 B CN 114416406B
- Authority
- CN
- China
- Prior art keywords
- task
- record
- cloud
- measurement platform
- upper computer
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000012360 testing method Methods 0.000 title claims description 35
- 238000005259 measurement Methods 0.000 claims abstract description 33
- 230000000977 initiatory effect Effects 0.000 claims abstract description 6
- 230000002093 peripheral effect Effects 0.000 claims description 7
- 238000013515 script Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/549—Remote execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于云测平台任务多并发的实现方法,在云测平台任务管理界面中点击创建任务,然后点击云测平台任务管理界面中的任务列表,点击“发起任务”按钮,云测平台生成任务记录,此任务记录的ID作为队列名称,将此任务记录关联需要执行的用例放入到队列内容中,云测平台后端定时扫描任务记录,当云测平台扫描到任务记录后,判断任务记录所指定的车机设备是否空闲,如果是,则云测平台向上位机服务下发执行此任务记录的任务命令,上位机服务在接收任务命令后,将自身状态设置为忙碌,并按照任务命令中的任务记录内所关联的执行用例逐条执行,将执行结果上报云测平台,直至执行用例执行完毕,然后上位机服务重新将自身状态设置为空闲。
Description
技术领域
本发明涉及任务调度技术领域,具体涉及一种基于云测平台任务多并发的实现方法。
背景技术
随着现在汽车的智能化越来越高,现在车机的软件和功能也越来越多,这也造成车机的测试工作越来越多;而现在主要的测试手段是手工测试和自动化测试,而一般的公司在写好了一堆自动化脚本后,会根据自己的任务情况去执行指定的自动化脚本,在执行自动化脚本前会准备好测试台架及其周边附件(串口小板、继电器、摄像头、可编程电源、音频设备、麦克风、kvaser)资源;在车型项目开发过程中各种车机资源都是出于比较紧缺的状态,往往车机设备或周边附件都会经常借调,造成车机环境不稳定,设备利用率不是很高。在车机上云后,用户量多可能会有多个任务使用相同设备创建任务,并且这些任务可能同时被发起,产生并发,也有可能同一个任务被多个用户同时发起,也会产生并发,因此需要一个可以给车机编排任务的平台和处理多任务并发的方法。
发明内容
针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种确保车机环境相对稳定和提高设备利用率的基于云测平台任务多并发的实现方法。
为了解决上述技术问题,本发明采用了如下的技术方案:
一种基于云测平台任务多并发的实现方法,在云测平台任务管理界面中点击创建任务,然后点击云测平台任务管理界面中的任务列表, 在任务列表的未发起状态的任务上点击“发起任务”按钮,云测平台在后台生成一条此任务的任务记录,此任务记录的ID作为消息队列的队列名称,并且将此任务记录关联需要执行的用例放入到队列内容中,云测平台后端定时扫描任务记录,当云测平台扫描到任务记录后,判断任务记录所指定的车机设备是否空闲,如果是,则云测平台向上位机服务下发执行此任务记录的任务命令,上位机服务在接收到云测平台的任务命令后,将自身状态设置为忙碌,并按照任务命令中的任务记录内所关联的执行用例逐条执行,将执行结果上报云测平台,直至任务记录内所关联的执行用例执行完毕,然后上位机服务重新将自身状态设置为空闲。
作为优化,在点击“发起任务”前,先设置任务的基本信息,然后关联任务所需执行的用例,接着选择是否对车机设备的版本进行刷写,再选择此任务需要执行的车机设备,下一步选择此任务的执行策略,最后提交成功创建任务。
作为优化,在所述上位机服务的状态为忙碌时,点击所述云测平台任务管理界面中对应记录的“终止任务”按钮,并选择需要终止的任务记录,所述上位机服务在接收到所述云测平台的终止请求后,并核对需要终止的任务记录为当前自身正在执行的任务记录,如果是,则结束对应的进程,并重新将自身状态设置为空闲。
综上所述,本发明的有益效果在于:本发明主要是通过部署在上位机上的服务,采集与上位机相连的车机信息和周边附件信息,统一反馈给云测平台,之后云测平台根据自动化任务所需资源情况,选择适合执行自动化脚本的车机资源设备, 创建自动化任务,多个自动化任务指定同一台车机,当多个任务同时发起时,会对每个任务产生一条任务记录,后续会采用排队的方式执行任务,确保了车机环境的相对稳定和提高设备的利用率。当多个用户对同一个任务同时发起时,后台会判断此任务是否产生了任务记录且状态是否是初始状态,若没有任务记录,则产生任务记录,若有任务记且状态是初始状态则返回发起任务成功,即保证了任务发起的幂等性,否则返回发起任务失败。
附图说明
为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1为本发明中云测平台下发任务流程图;
图2为本发明中云测平台终止任务流程图。
具体实施方式
下面结合附图对本发明作进一步的详细说明。
如图1和图2所示,本具体实施方式中的一种基于云测平台任务多并发的实现方法,在云测平台任务管理界面中点击创建任务,然后点击云测平台任务管理界面中的任务列表, 在任务列表的未发起状态的任务上点击“发起任务”按钮,云测平台在后台生成一条此任务的任务记录,此任务记录的ID作为消息队列的队列名称,并且将此任务记录关联需要执行的用例放入到队列内容中,云测平台后端定时扫描任务记录,当云测平台扫描到任务记录后,判断任务记录所指定的车机设备是否空闲,如果是,则云测平台向上位机服务下发执行此任务记录的任务命令,上位机服务在接收到云测平台的任务命令后,将自身状态设置为忙碌,并按照任务命令中的任务记录内所关联的执行用例逐条执行,将执行结果上报云测平台,直至任务记录内所关联的执行用例执行完毕,然后上位机服务重新将自身状态设置为空闲。
在本具体实施方式中,在点击“发起任务”前,先设置任务的基本信息,然后关联任务所需执行的用例,接着选择是否对车机设备的版本进行刷写,再选择此任务需要执行的车机设备,下一步选择此任务的执行策略,最后提交成功创建任务。
在本具体实施方式中,在所述上位机服务的状态为忙碌时,点击所述云测平台任务管理界面中对应记录的“终止任务”按钮,并选择需要终止的任务记录,所述上位机服务在接收到所述云测平台的终止请求后,并核对需要终止的任务记录为当前自身正在执行的任务记录,如果是,则结束对应的进程,并重新将自身状态设置为空闲。
上位机服务主要包含:
a.心跳上报,负责采集与上位机相连的车机和周边附件信息,以及各车机的状态和周边附件的状态。
b.接收任务,负责接收云测平台下发的执行任务的请求,并执行任务。
c.终止任务,负责接收云测平台要求终止正在忙碌的任务
云测平台-设备管理,主要负责:
a.接收上位机的心跳,并存储相应的车机和周边附件信息以及状态
b.对上报上来的车机和附件信息进行管理
云测平台-用例管理,主要负责:
a.自动化脚本测试用例的增删改查。
b.关联具体python脚本
云测平台-任务管理,主要负责:
a.主要负责任务的增删改查
b.任务的手动执行和定时执行
b.任务队列的维护,优先级的调整
c.任务执行记录的展示和数据的分类统计
用户先在云测平台选择一堆合适的自动化脚本,然后选择在什么样类型的车机上执行该脚本,并创建任务。点击发起任务,此动作有可能会有很多用户同时点击发起任务,产生并发情况,平台会马上根据每个任务生产一条任务记录,并且后台会做幂等处理,此记录会根据生成的先后顺序附带生成一个优先级值,后续会根据此优先级值排序任务记录,也可以调整此优先级值从而实现某任务的优先执行,并将记录对应的自动化脚本放入消息中间件,后续云测平台会扫描车机状态,车机状态为空闲时则尝试向此空闲的车机设备下发任务记录,车机收到下发的任务记录后,则向消息中间件里获取需要执行的自动化脚本,然后执行脚本,执行脚本完成后上报执行结果给云测平台,云测平台根据上报结果标记任务记录和任务状态。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过参照本发明的优选实施例已经对本发明进行了描述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
Claims (3)
1.一种基于云测平台任务多并发的实现方法,其特征在于:在云测平台任务管理界面中点击创建任务,然后点击云测平台任务管理界面中的任务列表, 在任务列表的未发起状态的任务上点击“发起任务”按钮,云测平台在后台生成一条此任务的任务记录,此任务记录的ID作为消息队列的队列名称,并且将此任务记录关联需要执行的用例放入到队列内容中,云测平台后端定时扫描任务记录,当云测平台扫描到任务记录后,判断任务记录所指定的车机设备是否空闲,如果是,则云测平台向上位机服务下发执行此任务记录的任务命令,上位机服务在接收到云测平台的任务命令后,将自身状态设置为忙碌,并按照任务命令中的任务记录内所关联的执行用例逐条执行,将执行结果上报云测平台,直至任务记录内所关联的执行用例执行完毕,然后上位机服务重新将自身状态设置为空闲;
通过上位机服务采集车机及周边附件信息并上报云测平台,云测平台按需选择车机资源设备创建自动化任务;同一车机在被多个任务指定情况下,通过产生各自任务的任务记录来进行排队,当同一任务被多用户并发发起时,通过任务记录与任务记录的状态来保证任务发起的幂等性。
2.根据权利要求1所述的一种基于云测平台任务多并发的实现方法,其特征在于:在点击“发起任务”前,先设置任务的基本信息,然后关联任务所需执行的用例,接着选择是否对车机设备的版本进行刷写,再选择此任务需要执行的车机设备,下一步选择此任务的执行策略,最后提交成功创建任务。
3.根据权利要求1所述的一种基于云测平台任务多并发的实现方法,其特征在于:在所述上位机服务的状态为忙碌时,点击所述云测平台任务管理界面中对应记录的“终止任务”按钮,并选择需要终止的任务记录,所述上位机服务在接收到所述云测平台的终止请求后,并核对需要终止的任务记录为当前自身正在执行的任务记录,如果是,则结束对应的进程,并重新将自身状态设置为空闲。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210114647.1A CN114416406B (zh) | 2022-01-30 | 2022-01-30 | 一种基于云测平台任务多并发的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210114647.1A CN114416406B (zh) | 2022-01-30 | 2022-01-30 | 一种基于云测平台任务多并发的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114416406A CN114416406A (zh) | 2022-04-29 |
CN114416406B true CN114416406B (zh) | 2024-04-26 |
Family
ID=81278805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210114647.1A Active CN114416406B (zh) | 2022-01-30 | 2022-01-30 | 一种基于云测平台任务多并发的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416406B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181813A (zh) * | 2020-09-17 | 2021-01-05 | 的卢技术有限公司 | 一种接口自动化测试方法、系统和计算机可读存储介质 |
CN112231223A (zh) * | 2020-10-27 | 2021-01-15 | 南京林洋电力科技有限公司 | 基于mqtt的分布式自动化软件测试方法及系统 |
CN112765028A (zh) * | 2021-01-22 | 2021-05-07 | 济南大学 | 基于群控机制的Android应用程序测试方法及系统 |
CN112765015A (zh) * | 2021-01-07 | 2021-05-07 | 卓望数码技术(深圳)有限公司 | 基于终端设备的测试任务分发方法、调度终端及测试系统 |
CN113448696A (zh) * | 2020-03-25 | 2021-09-28 | 北京奇虎科技有限公司 | 任务调度方法、系统、云测平台、存储介质及计算机设备 |
CN113590497A (zh) * | 2021-09-27 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 业务服务的测试方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11050620B2 (en) * | 2017-11-14 | 2021-06-29 | TidalScale, Inc. | Dynamic reconfiguration of resilient logical modules in a software defined server |
US11422921B2 (en) * | 2019-12-31 | 2022-08-23 | Western Digital Technologies, Inc. | Debug systems for deterministic validation of data storage devices |
-
2022
- 2022-01-30 CN CN202210114647.1A patent/CN114416406B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448696A (zh) * | 2020-03-25 | 2021-09-28 | 北京奇虎科技有限公司 | 任务调度方法、系统、云测平台、存储介质及计算机设备 |
CN112181813A (zh) * | 2020-09-17 | 2021-01-05 | 的卢技术有限公司 | 一种接口自动化测试方法、系统和计算机可读存储介质 |
CN112231223A (zh) * | 2020-10-27 | 2021-01-15 | 南京林洋电力科技有限公司 | 基于mqtt的分布式自动化软件测试方法及系统 |
CN112765015A (zh) * | 2021-01-07 | 2021-05-07 | 卓望数码技术(深圳)有限公司 | 基于终端设备的测试任务分发方法、调度终端及测试系统 |
CN112765028A (zh) * | 2021-01-22 | 2021-05-07 | 济南大学 | 基于群控机制的Android应用程序测试方法及系统 |
CN113590497A (zh) * | 2021-09-27 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 业务服务的测试方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
"AutoBoT:Resilient and Cost-Effective Scheduling of a Bag of Tasks on Spot VMs";Prateeksha Varshney;《IEEE Transactions on Parallel and Distributed Systems》;20190701;第30卷(第7期);第1512-1527页 * |
"车载网络自动化测试系统设计与研究";武洋;《中国优秀硕士学位论文全文数据库 工程科技II辑》;20190215(2019年第02期);第C035-204页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114416406A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844198B (zh) | 一种分布式调度自动化测试平台及方法 | |
CN107105009B (zh) | 基于Kubernetes系统对接工作流引擎的作业调度方法和装置 | |
CN107689976B (zh) | 一种文件传输方法及装置 | |
CN111209218A (zh) | 一种基于Jmeter的性能自动化测试方法 | |
CN109656733A (zh) | 智能调度多ocr识别引擎的方法及设备 | |
CN115686540B (zh) | 基于鸿蒙系统的rpa控制方法及系统 | |
CN111078567A (zh) | 自动化测试平台的报告生成方法、终端和存储介质 | |
CN110543295A (zh) | 可视化Web前端项目构建系统 | |
WO2023066304A1 (zh) | 应用于超算集群调度的作业运行参数优化方法 | |
CN110750453B (zh) | 基于html5的智能移动端测试方法、系统、服务器及存储介质 | |
CN110968410B (zh) | 任务失败重试方法、装置、计算机设备及存储介质 | |
CN112765028A (zh) | 基于群控机制的Android应用程序测试方法及系统 | |
CN112363809A (zh) | 一种基于kubernetes实现微服务链路收集的系统及其方法 | |
CN114416406B (zh) | 一种基于云测平台任务多并发的实现方法 | |
CN110209557A (zh) | 用户操作录制还原方法、装置、设备及可读存储介质 | |
CN110232013B (zh) | 测试方法、装置以及控制器和介质 | |
CN110162381A (zh) | 一种容器内代理执行方法 | |
CN111209101B (zh) | 一种大数据计算任务多依赖调度系统 | |
CN108874600B (zh) | 一种服务器端到端自动化测试任务执行管理系统及方法 | |
CN109525642B (zh) | 一种用户机制下的lims系统客户数据自动化上报方法 | |
CN112559148A (zh) | 有序任务的执行方法、执行装置和执行系统 | |
CN111506490A (zh) | 应用服务接口自动测试方法、装置及存储介质 | |
CN113254339B (zh) | 一种nand驱动程序测试系统及方法 | |
CN115373804B (zh) | 一种云基础设施中面向网络试验的虚拟机调度方法 | |
CN112825044B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |