一种用于软件集成的系统、处理方法、介质以及设备与流程

未命名 07-23 阅读:114 评论:0


1.本技术涉及软件开发技术领域,具体涉及一种用于软件集成的系统、处理方法、介质以及设备。


背景技术:

2.软件集成系统是软件开发中保证软件交付的重要工具,能够为我们软件的大规模交付提供便利,然而现有的用于软件集成的系统常常会出现由于代码模板变更导致的原有脚本模板无法正常使用的问题,降低了用于软件集成的系统的目标流水线任务的运行效率,从而降低了软件的交付效率。


技术实现要素:

3.本发明的目的之一在于提供一种用于软件集成的系统,以解决现有技术中的由于代码模板变更导致的原有脚本模板无法正常使用的问题;目的之二在于提供一种用于软件集成的处理方法;目的之三在于提供一种介质;目的之四在于提供一种设备。
4.为了实现上述目的,本发明采用的技术方案如下:
5.一种用于软件集成的系统,所述系统包括:
6.网关服务模块,用以接收流水线任务请求信息,并对所述流水线任务请求信息进行分发处理;
7.业务处理模块,与所述网关服务模块通信连接,用以对所述流水线任务请求信息进行处理,生成脚本模板信息,并根据所述脚本模板信息构建目标流水线任务;
8.调度通信模块,与所述业务处理模块双向通信连接,所述调度通信模块包括调度服务单元,所述调度服务单元用以生成任务执行请求信息以及判断是否对非工作状态的动态节点进行回收处理;
9.任务执行模块,与所述调度通信模块通信连接,所述任务执行模块包括开源集成单元,所述开源集成单元用以接收所述任务执行请求信息并运行所述目标流水线任务,以完成对目标软件的集成处理;
10.其中,所述调度服务单元与所述开源集成单元通信连接,所述调度服务单元还用以判断所述开源集成单元的节点是否处于工作状态以及所述开源集成单元的非工作时间是否大于预设阈值。
11.根据上述技术手段,由于业务处理模块对流水线任务请求信息进行处理,生成脚本模板信息,并根据脚本模板信息构建目标流水线任务,能够降低软件开发人员对脚本文件的编写难度,相比较于现有技术,生成脚本模板信息能够便于用户直接使用模板进行编程,降低编程成本并提高编程效率,由于调度服务单元判断开源集成单元的节点是否处于工作状态以及开源集成单元的非工作时间是否大于预设阈值,以判断是否将任务执行请求发送至任务执行模块以及是否对处于非工作状态的动态节点进行回收处理,相比较于现有技术,能够将流水线任务更好的分配至各个节点中进行工作,提高各节点的利用效率,提高
目标流水线任务的运行效率。
12.进一步,所述调度服务单元判断所述开源集成单元的节点是否处于工作状态包括:
13.当所述节点处于非工作状态时,所述调度服务单元生成所述任务执行请求信息并发送至核心节点;
14.当所述节点处于工作状态时,则判断所述开源集成单元的总节点数是否小于所述开源集成单元的最大节点数,以确定是否发送所述任务执行请求信息。
15.根据上述技术手段,由于设置调度服务单元判断所述开源集成单元的节点是否处于工作状态,以便于确定是否需要将目标流水线任务加入任务队列,提高了节点的利用效率。
16.进一步,所述判断所述开源集成单元的总节点数是否小于所述开源集成单元的最大节点数,以确定是否发送所述任务执行请求信息包括:
17.当所述总节点数小于所述最大节点数时,则对所述开源集成单元进行节点新增处理,以生成新增节点并将所述任务执行请求信息发送至所述新增节点;
18.当所述总节点数大于或等于所述最大节点数时,则所述调度服务单元拒绝发送所述任务执行请求信息。
19.根据上述技术手段,保证了节点的利用效率。
20.进一步,所述判断所述开源集成单元的非工作时间是否大于预设阈值包括:
21.当所述开源集成单元的非工作时间大于所述预设阈值时,所述调度服务单元对处于非工作状态的动态节点进行回收处理;
22.当所述开源集成单元的非工作时间小于或等于所述预设阈值时,所述调度服务单元对处于非工作状态的动态节点不进行回收处理。
23.根据上述技术手段,能够对处于非工作状态的节点进行回收处理,相比较于现有的固定节点数量,能够避免节点的浪费。
24.进一步,所述业务处理模块包括:
25.流水线管理单元,用以根据所述流水线任务请求信息生成脚本模板信息,根据所述脚本模板信息构建所述目标流水线任务,并对所述目标流水线任务进行同步处理;
26.权限认证单元,与所述流水线管理单元通信连接,用以接收所述流水线任务请求信息,并对所述目标流水线任务的管理进行鉴权认证;
27.日志记录单元,与所述调度通信模块双向通信连接,用以获取所述流水线任务请求信息和所述调度通信模块的日志信息,并对所述日志信息进行处理。
28.进一步,所述调度通信模块还包括:
29.基础通信单元,与权限认证单元和所述任务执行模块分别通信连接,用以获取所述任务执行模块的任务构建结果,并将所述任务构建结果发送至所述业务处理模块;
30.日志管理单元,与日志记录单元和所述任务执行模块分别通信连接,用以对日志信息进行管理。
31.进一步,所述任务执行模块还包括代码集成单元以及信息集成单元。
32.一种用于软件集成的处理方法,所述方法包括:
33.接收流水线任务请求信息,并对所述流水线任务请求信息进行分发处理;
34.对所述流水线任务请求信息进行处理,生成脚本模板信息;
35.对所述脚本模板信息进行处理,生成目标流水线任务;
36.根据所述目标流水线任务对所述开源集成单元的节点是否处于工作状态以及所述开源集成单元的非工作时间是否大于预设阈值进行判断处理,以生成任务执行请求信息;
37.根据所述任务执行请求信息运行所述目标流水线任务,以完成对目标软件的集成处理。
38.一种电子设备,所述电子设备包括:
39.一个或多个处理器;
40.存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的用于软件集成的系统。
41.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行如上所述的用于软件集成的系统。
42.本发明的有益效果:
43.(1)本发明通过设置业务处理模块对流水线任务请求信息进行处理,生成脚本模板信息,并根据脚本模板信息构建目标流水线任务,能够降低软件开发人员对脚本文件的编写难度,降低编程成本并提高编程效率;
44.(2)本发明通过调度服务单元判断开源集成单元的节点是否处于工作状态以及开源集成单元的非工作时间是否大于预设阈值,以判断是否将任务执行请求发送至任务执行模块以及是否对处于非工作状态的动态节点进行回收处理,能够将流水线任务更好的分配至各个节点中进行工作,提高各节点的利用效率,提高目标流水线任务的运行效率。
附图说明
45.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
46.图1是本技术的一示例性实施例示出的用于软件集成的系统的实施环境示意图;
47.图2是本技术的一示例性实施例示出的一种用于软件集成的系统的结构示意图;
48.图3是本技术的一示例性实施例示出的一种用于软件集成的处理方法的流程示意图;
49.图4是图3所示实施例中的步骤s220在一示例性的实施例中的流程图;
50.图5是图3所示实施例中的步骤s240在一示例性的实施例中的流程图;
51.图6示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
52.元件标号说明:
53.110、客户端;120、代理服务模块;130、网关服务模块;
54.140、业务处理模块;141、流水线管理单元;142、权限认证单元;143、日志记录单元;
55.150、调度通信模块;151、调度服务单元;152、基础通信单元;153、日志管理单元;
154、jenkins通信子单元;155、gitlab通信子单元;
56.160、任务执行模块;161、开源集成单元(jenkins);162、代码集成单元(gitlab);163、信息集成单元(minion);200、服务端;
57.700、计算机系统;701、中央处理单元;702、只读存储器;703、随机访问存储器;704、总线;705、i/o接口;706、输入部分;707、输出部分;708、储存部分;709、通信部分;710、驱动器;711、可拆卸介质。
具体实施方式
58.以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
59.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
60.在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
61.首先需要说明的是,随着电子化、智能化的发展,软件开发技术被应用于汽车驾驶等诸多领域,用于软件集成的系统更是软件开发技术中保证软件交付的关键工具。现有的用于软件集成的系统一般是通过利用容器化部署的方法对系统进行部署,以解决非容器化部署固定数量的系统任务节点导致的服务器资源浪费的问题。在其它的应用场景中,针对对象的用于软件集成的系统可以根据实际情况进行设置,本技术的实施例不对此进行限制。
62.图1是本技术的一示例性实施例示出的用于软件集成的系统的实施环境示意图。如图1所示,通过客户端110,接收流水线任务请求信息,并将流水线任务请求信息输入至服务端200中进行分发处理,经过服务端200中的代理服务模块、网关服务模块、业务处理模块、调度通信模块以及任务执行模块的依次处理,最终通过服务端200执行目标流水线任务,以完成对目标软件的集成。其中,图1所示的客户端110可以是智能手机、智能汽车、平板电脑、笔记本电脑或者任意支持进行软件开发等的终端设备,但并不限于此。图1所示的服务端200是服务器,例如可以是独立的显示屏,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,在此也不进行限制。客户端110可以通过3g(第三代的移动信息技术)、4g(第四代的移动信息技术)、5g(第五代的移动信息技术)等无线网络与服务端200进行通信,本处也不对此进行限制。由于现有的用于软件集成
的系统无法解决由于代码模板变更导致的原有脚本模板无法正常使用的问题,降低了用于软件集成的系统的目标流水线任务的执行效率,从而降低了软件的交付效率。为解决这些问题,本技术的实施列分别提出一种用于软件集成的系统、一种用于软件集成的处理方法、一种电子设备以及一种计算机可读存储介质,以下将对这些实施例进行详细描述。
63.请参阅图2,图2是本技术的一示例性实施例示出的一种用于软件集成的系统的结构示意图,用于软件集成的系统可以为分布式的持续集成、交付和部署系统(cicd系统),然不限于此,用于软件集成的系统还可以为其他系统。系统可以包括代理服务模块120、网关服务模块130、业务处理模块140、调度通信模块150以及任务执行模块160。其中,代理服务模块120可以为反向代理服务器(nginx),用于接收任务请求信息,并对任务请求信息进行下发处理,再将响应返回至客户端110。网关服务模块130可以用于接收流水线任务请求信息,对流水线任务请求信息进行分发处理。然不限于此,网关服务模块130还可通过协议转换器(spring gateway)提供路由、鉴权以及防盗链等功能。
64.如图2所示,在一示例性的实施例中,业务处理模块140可以与网关服务模块130通信连接,用于接收网关服务模块130分发的流水线任务请求信息。业务处理模块140可以包括流水线管理单元141、权限认证单元142以及日志记录单元143,流水线管理单元141可以通过对流水线任务请求信息进行处理,生成脚本模板信息,根据脚本模板信息构建目标流水线任务,并对目标流水线任务进行同步处理。此外,流水线管理单元141还可以对目标流水线任务进行管理,包括对流水线任务的构建、修改、删除以及授权。具体的,流水线管理单元141可以根据结构化代码模板(pipeline stage)生成对目标软件进行管理的脚本文件信息,流水线管理单元141在对目标流水线任务进行同步处理的同时,还能够将目标流水线任务持久化存储至数据库中,以便于当pipeline stage模板发生变更时,流水线管理单元141能够根据持久化存储至数据中的目标流水线任务对脚本文件信息进行重新组装,以生成新脚本文件信息,并通过调度通信模块150同步至任务执行模块160中。对目标软件的管理可以包括对目标软件的代码进行拉取、编译打包、单元测试、质量审核以及部署等,其中,在根据脚本文件信息对目标软件的代码进行拉取处理时,流水线管理单元141可以对代码语言类型进行判断,生成脚本模板信息。权限认证单元142可以与流水线管理单元141通信连接,用于接收流水线任务请求信息,并对目标流水线任务的管理进行鉴权认证。日志记录单元143可以与网关服务模块130以及调度通信模块150分别通信连接,用以接收流水线任务请求信息和调度通信模块150发送的日志信息,并对日志信息进行处理。其中,日志记录单元143中,可以通过搜索服务器(elastic search)实现日志存储功能,通过数据采集器(beats)采集获取日志信息,以及通过数据处理管道(logstash)对日志信息进行收集、分析以及过滤处理。
65.如图2所示,在一示例性的实施例中,调度通信模块150可以与业务处理模块140双向通信连接,且调度通信模块150可以包括调度服务单元151、基础通信单元152以及日志管理单元153,然不限于此,调度通信模块150还可以包括其他调度单元。其中,调度服务单元151可以为开源集成软件(jenkins)调度单元,然不限于此,调度服务单元151还可以为其他类型的调度单元。调度服务单元151可以与流水线管理单元141双向通信连接,用以对是否发送任务执行请求以及是否回收非工作状态的动态节点进行判断处理。具体的,调度服务单元151可以通过判断任务执行模块160的节点是否处于工作状态以确定是否发送任务执
行请求。当节点处于非工作状态时,调度服务单元151可以发送任务执行请求至核心节点,当节点处于工作状态时,则判断任务执行模块160的总节点数是否小于任务执行模块160的最大节点数,以确定是否发送任务执行请求。当任务执行模块160的总节点数小于最大节点数时,则对任务执行模块160进行节点新增处理,以生成新增节点并将任务执行请求发送至新增节点,当任务执行模块160的总节点数大于或等于最大节点数时,则调度服务单元151拒绝发送任务执行请求。调度服务单元151可以通过判断任务执行模块160的非工作时间是否大于预设阈值确定是否回收非工作状态的动态节点,当任务执行模块160的非工作时间大于预设阈值时,调度服务单元151对处于非工作状态的动态节点进行回收处理,当任务执行模块160的非工作时间小于或等于预设阈值时,调度服务单元151对处于非工作状态的动态节点不进行回收处理。
66.如图2所示,在一示例性的实施例中,基础通信单元152可以与权限认证单元142双向通信连接,用于将权限认证单元142的鉴权认证信息发送至任务执行模块160。基础通信单元152可以包括jenkins通信子单元154以及gitlab通信子单元155,然不限于此,基础通信单元152还可以包括其他子单元。任务执行模块160可以包括开源集成单元(jenkins)161、代码集成单元(gitlab)162以及信息集成单元(minion)163。其中,jenkins通信子单元154可以与开源集成单元(jenkins)161通信连接,用于与任务执行模块160的开源集成单元(jenkins)161进行通信,通过调用开源集成单元161的相关功能接口(jenkins api)获取开源集成单元(jenkins)161的流水线任务的构建结果,并将任务构建结果发送至业务处理模块140。gitlab通信子单元155可以与代码集成单元(gitlab)162通信连接,用于与代码集成单元(gitlab)162进行通信,通过调用代码集成单元(gitlab)162的相关功能接口(gitlab api)对代码仓库的管理以及代码仓库的构建结果的查询。开源集成单元(jenkins)161可以通过开源应用容器(docker)进行容器部署,并通过开源系统(k8s)管理开源应用容器(docker)。jenkins的节点可以包括主任务节点、副任务节点以及动态节点,其中,主任务节点数与副任务节点数的和为核心节点数,且jenkins的核心节点始终保持运行状态。开源集成单元(jenkins)161的节点数可以满足核心节点数与动态节点数的和小于或等于总节点数。开源集成单元(jenkins)161是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作。日志管理单元153可以与日志记录单元143以及调用信息集成单元(minion)163分别通信连接,用以对日志记录单元143中的日志信息进行管理,具体的,日志管理单元153可以通过信息集成单元(minion)163作为底层构架构建生成,且日志管理单元153可以通过调用信息集成单元(minion)163的相关功能接口(minion api)对日志信息文件进行上传、删除以及下载等管理操作。
67.请参阅图3,图3是本技术的一示例性实施例示出的一种用于软件集成的处理方法的流程示意图,应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该系统所适用的实施环境进行限制。
68.如图3所示,在一示例性的实施例中,用于软件集成的处理方法至少可以包括步骤s210至步骤s250,详细介绍如下:
69.步骤s210、接收流水线任务请求信息,并对流水线任务请求信息进行分发处理。
70.步骤s220、对流水线任务请求信息进行处理,生成脚本模板信息。
71.步骤s230、对脚本模板信息进行处理,生成目标流水线任务。
72.步骤s240、对开源集成单元的节点是否处于工作状态以及开源集成单元的非工作时间是否大于预设阈值进行判断处理,生成任务执行请求信息。
73.步骤s250、根据任务执行请求信息运行目标流水线任务,以完成对目标软件的集成处理。
74.如图2和图3所示,在一示例性的实施例中,当执行步骤s210时,即接收流水线任务请求信息,并对流水线任务请求信息进行分发处理。需要说明的是,流水线任务信息可以基于网关服务模块130进行获取,且网关服务模块130还可以通过协议转换器(spring gateway)提供路由、鉴权以及防盗链等功能。
75.如图4所示,在一示例性的实施例中,步骤s220即对脚本模板信息进行处理,生成目标流水线任务可以包括步骤s221至步骤s222,详细介绍如下:
76.步骤s221、根据流水线任务请求信息对结构化代码模板进行处理,生成脚本文件信息;
77.步骤s222、对脚本文件信息进行代码类型判断处理,生成脚本模板信息。
78.在一示例性的实施例中,需要说明的是,脚本模板信息可以基于流水线管理单元141获取得到。其中,结构化代码模板可以为pipeline stage模板,然不限于此,结构化代码模板还可以为其他类型模板。
79.如图2和图3所示,在一示例性的实施例中,当执行步骤s230时,即对脚本模板信息进行处理,生成目标流水线任务。具体的,目标流水线任务可以通过流水线管理单元141生成,且流水线管理单元141可以对目标流水线任务进行管理,包括对流水线任务的构建、修改、删除以及授权。目标流水线任务可以持久化存储至数据库中,并同步至开源集成单元(jenkins)161中,以便于当结构化代码模板发生变更时,流水线管理单元141能够根据持久化存储至数据中的目标流水线任务对脚本文件信息进行重新组装,以生成新脚本文件信息,权限认证单元142可以与流水线管理单元141通信连接,用于接收流水线任务请求信息,并对目标流水线任务的管理进行鉴权认证。日志记录单元143可以与网关服务模块130以及调度通信模块150分别通信连接,用以接收流水线任务请求信息和调度通信模块150发送的日志信息,并对日志信息进行处理。其中,日志记录单元143中,可以通过搜索服务器(elastic search)实现日志存储功能,通过数据采集器(beats)采集获取日志信息,以及通过数据处理管道(logstash)对日志信息进行收集、分析以及过滤处理。
80.如图5所示,在一示例性的实施例中,步骤s240即对开源集成单元的节点是否处于工作状态以及开源集成单元的非工作时间是否大于预设阈值进行判断处理,生成任务执行请求信息可以包括步骤s241至步骤s242,详细介绍如下:
81.步骤s241、对开源集成单元的节点是否处于工作状态进行判断处理,若节点处于非工作状态,则生成任务执行请求并发送至核心节点,若节点处于工作状态,则对开源集成单元的总节点数是否小于开源集成单元的最大节点数进行判断处理,若总节点数小于最大节点数,则对开源集成单元进行节点新增处理,生成新增节点并将任务执行请求发送至新增节点,若总节点数大于或等于最大节点数,则拒绝发送任务执行请求。
82.步骤s242、对开源集成单元的非工作时间是否大于预设阈值进行判断处理,当开源集成单元的非工作时间大于预设阈值时,调度服务单元对处于非工作状态的动态节点进行回收处理,当开源集成单元的非工作时间小于或等于预设阈值时,调度服务单元对处于
非工作状态的动态节点不进行回收处理。
83.在一示例性的实施例中,需要说明的是,对开源集成单元的节点是否处于工作状态以及开源集成单元的非工作时间是否大于预设阈值进行判断处理,生成任务执行请求信息可以基于调度通信模块150实现。调度通信模块150可以与业务处理模块140双向通信连接,且调度通信模块150可以包括调度服务单元151、基础通信单元152以及日志管理单元153,然不限于此,调度通信模块150还可以包括其他调度单元。其中,调度服务单元151可以为开源集成软件(jenkins)调度服务单元,然不限于此,调度服务单元151还可以为其他类型的调度单元。调度服务单元151可以与流水线管理单元141双向通信连接,用以对是否发送任务执行请求以及是否回收非工作状态的动态节点进行判断处理。基础通信单元152可以与权限认证单元142双向通信连接,用于作为将权限认证单元142的鉴权认证信息发送至任务执行模块160。基础通信单元152可以包括jenkins通信子单元154以及gitlab通信子单元155,然不限于此,基础通信单元152还可以包括其他子单元。日志管理单元153可以与日志记录单元143以及调用信息集成单元(minion)163分别通信连接,用以对日志记录单元143中的日志信息进行管理,具体的,日志管理单元153可以通过信息集成单元(minion)163作为底层构架构建生成,且日志管理单元153可以通过调用信息集成单元(minion)163的相关功能接口(minion api)对日志信息文件进行上传、删除以及下载等管理操作。
84.如图2和图3所示,在一示例性的实施例中,当执行步骤s250时,即根据任务执行请求信息运行目标流水线任务,以完成对目标软件的集成处理。具体的,目标流水线任务可以基于任务执行模块160进行运行,且任务执行模块160可以包括开源集成单元(jenkins)161、代码集成单元(gitlab)162以及信息集成单元(minion)163。其中,jenkins通信子单元154可以与开源集成单元(jenkins)161通信连接,用于与任务执行模块160的开源集成单元(jenkins)161进行通信,通过调用开源集成单元161的相关功能接口(jenkins api)获取开源集成单元(jenkins)161的流水线任务的构建结果,并将任务构建结果发送至业务处理模块140。gitlab通信子单元155可以与代码集成单元(gitlab)162通信连接,用于与代码集成单元(gitlab)162进行通信,通过调用代码集成单元(gitlab)162的相关功能接口(gitlab api)对代码仓库的管理以及代码仓库的构建结果的查询。开源集成单元(jenkins)161可以通过开源应用容器(docker)进行容器部署,并通过开源系统(k8s)管理开源应用容器(docker)。jenkins的节点可以包括主任务节点、副任务节点以及动态节点,其中,主任务节点数与副任务节点数的和为核心节点数,且jenkins的核心节点始终保持运行状态。开源集成单元(jenkins)161的节点数可以满足核心节点数与动态节点数的和小于或等于总节点数。开源集成单元(jenkins)161是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作。
85.需要说明的是,上述实施例所提供的用于软件集成的系统与上述实施例所提供的用于软件集成的处理方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的用于软件集成的系统在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
86.如图6所示,计算机系统700包括中央处理单元(central processing unit,cpu)
701,其可以根据存储在只读存储器(read-only memory,rom)702中的程序或者从储存部分708加载到随机访问存储器(random access memory,ram)703中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram 703中,还存储有系统操作所需的各种程序和数据。cpu 701、rom 702以及ram703通过总线704彼此相连。输入/输出(input/output,i/o)接口705也连接至总线704。
87.以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分707,包括硬盘等的储存部分708;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入储存部分708。
88.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
89.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
90.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
91.本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,
该计算机程序被计算机的处理器执行时,使计算机执行如前所述的用于软件集成的处理方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
92.上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

技术特征:
1.一种用于软件集成的系统,其特征在于,所述系统包括:网关服务模块,用以接收流水线任务请求信息,并对所述流水线任务请求信息进行分发处理;业务处理模块,与所述网关服务模块通信连接,用以对所述流水线任务请求信息进行处理,生成脚本模板信息,并根据所述脚本模板信息构建目标流水线任务;调度通信模块,与所述业务处理模块双向通信连接,所述调度通信模块包括调度服务单元,所述调度服务单元用以生成任务执行请求信息以及判断是否对非工作状态的动态节点进行回收处理;任务执行模块,与所述调度通信模块通信连接,所述任务执行模块包括开源集成单元,所述开源集成单元用以接收所述任务执行请求信息并运行所述目标流水线任务,以完成对目标软件的集成处理;其中,所述调度服务单元与所述开源集成单元通信连接,所述调度服务单元还用以判断所述开源集成单元的节点是否处于工作状态以及所述开源集成单元的非工作时间是否大于预设阈值。2.根据权利要求1所述的用于软件集成的系统,其特征在于,所述调度服务单元判断所述开源集成单元的节点是否处于工作状态包括:当所述节点处于非工作状态时,所述调度服务单元生成所述任务执行请求信息并发送至核心节点;当所述节点处于工作状态时,则判断所述开源集成单元的总节点数是否小于所述开源集成单元的最大节点数,以确定是否发送所述任务执行请求信息。3.根据权利要求1所述的用于软件集成的系统,其特征在于,所述判断所述开源集成单元的总节点数是否小于所述开源集成单元的最大节点数,以确定是否发送所述任务执行请求信息包括:当所述总节点数小于所述最大节点数时,则对所述开源集成单元进行节点新增处理,以生成新增节点并将所述任务执行请求信息发送至所述新增节点;以及当所述总节点数大于或等于所述最大节点数时,则所述调度服务单元拒绝发送所述任务执行请求信息。4.根据权利要求1所述的用于软件集成的系统,其特征在于,所述判断所述开源集成单元的非工作时间是否大于预设阈值包括:当所述开源集成单元的非工作时间大于所述预设阈值时,所述调度服务单元对处于非工作状态的动态节点进行回收处理;当所述开源集成单元的非工作时间小于或等于所述预设阈值时,所述调度服务单元对处于非工作状态的动态节点不进行回收处理。5.根据权利要求1所述的用于软件集成的系统,其特征在于,所述业务处理模块包括:流水线管理单元,用以根据所述流水线任务请求信息生成脚本模板信息,根据所述脚本模板信息构建所述目标流水线任务,并对所述目标流水线任务进行同步处理;权限认证单元,与所述流水线管理单元通信连接,用以接收所述流水线任务请求信息,并对所述目标流水线任务的管理进行鉴权认证;日志记录单元,与所述调度通信模块双向通信连接,用以获取所述流水线任务请求信
息和所述调度通信模块的日志信息,并对所述日志信息进行处理。6.根据权利要求1所述的用于软件集成的系统,其特征在于,所述调度通信模块还包括:基础通信单元,与权限认证单元和所述任务执行模块分别通信连接,用以获取所述任务执行模块的任务构建结果,并将所述任务构建结果发送至所述业务处理模块;日志管理单元,与日志记录单元和所述任务执行模块分别通信连接,用以对日志信息进行管理。7.根据权利要求1所述的用于软件集成的系统,其特征在于,所述任务执行模块还包括代码集成单元以及信息集成单元。8.一种用于软件集成的处理方法,其特征在于,所述方法包括:接收流水线任务请求信息,并对所述流水线任务请求信息进行分发处理;对所述流水线任务请求信息进行处理,生成脚本模板信息;对所述脚本模板信息进行处理,生成目标流水线任务;根据所述目标流水线任务对开源集成单元的节点是否处于工作状态以及所述开源集成单元的非工作时间是否大于预设阈值进行判断处理,以生成任务执行请求信息;根据所述任务执行请求信息运行所述目标流水线任务,以完成对目标软件的集成处理。9.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至7中任一项所述的用于软件集成的系统。10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的用于软件集成的系统。

技术总结
本发明涉及软件开发技术领域,提供一种用于软件集成的系统,包括:网关服务模块;业务处理模块,用以对所述流水线任务请求信息进行处理,生成脚本模板信息,并根据所述脚本模板信息构建目标流水线任务;调度通信模块,用以生成任务执行请求信息以及判断是否对非工作状态的动态节点进行回收处理;以及任务执行模块,用以接收所述任务执行请求信息并运行所述目标流水线任务,以完成对目标软件的集成处理;其中,所述调度服务单元还用以判断所述开源集成单元的节点是否处于工作状态以及所述开源集成单元的非工作时间是否大于预设阈值。本发明能够降低编程成本并提高软件交付效率。本发明能够降低编程成本并提高软件交付效率。本发明能够降低编程成本并提高软件交付效率。


技术研发人员:杨镇 李林珊
受保护的技术使用者:重庆长安汽车股份有限公司
技术研发日:2023.03.28
技术公布日:2023/7/21
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐