CN105335284B - 一种用于持续集成系统的数据处理方法及装置 - Google Patents

一种用于持续集成系统的数据处理方法及装置 Download PDF

Info

Publication number
CN105335284B
CN105335284B CN201410387487.3A CN201410387487A CN105335284B CN 105335284 B CN105335284 B CN 105335284B CN 201410387487 A CN201410387487 A CN 201410387487A CN 105335284 B CN105335284 B CN 105335284B
Authority
CN
China
Prior art keywords
tool
downstream
upstream
dependence
downstream tool
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
Application number
CN201410387487.3A
Other languages
English (en)
Other versions
CN105335284A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410387487.3A priority Critical patent/CN105335284B/zh
Publication of CN105335284A publication Critical patent/CN105335284A/zh
Application granted granted Critical
Publication of CN105335284B publication Critical patent/CN105335284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明是关于一种数据处理方法及装置,所述方法包括:设置至少一个上游工具与下游工具之间的依赖关系;触发所述上游工具执行;判断所述至少一个上游工具是否全部执行完成且执行结果是否满足所述下游工具的依赖条件;若所述上游工具执行完成且执行结果满足所述下游工具的依赖条件,则触发所述下游工具执行。现有技术中上游工具在执行完成后,不判断执行结果是成功还是失败都触发下游工具,本实施例提供的数据处理方法中可以设置下游工具对上游工具的依赖条件,避免下游工具不必要的触发、工具不必要的执行或者运行出错、增加执行时间和浪费资源。

Description

一种用于持续集成系统的数据处理方法及装置
技术领域
本发明涉及数据处理领域,特别涉及一种用于持续集成系统的数据处理方法及装置。
背景技术
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。在持续集成系统中某些工具执行完成后其他工具才被触发执行,先执行的工具称为上游工具,后执行的工具称为下游工具。
现有技术中下游工具如果配置多个上游工具,任一个上游工具执行完成后都会触发下游工具执行,相当于下游工具其实只能有一个上游工具。
而且,现有技术中上游工具在执行完成后,不判断执行结果是成功还是失败都触发下游工具,从而导致下游工具不必要的触发,导致下游工具不必要的执行或者运行出错,增加执行时间和浪费资源。且上下游工具是通过环境变量来传递工具间的参数,上下游工具要同时支持相同的环境变量,上下游工具间的耦合度高。
发明内容
为了解决相关技术中上游工具在执行完成后,不判断执行结果是成功还是失败都触发下游工具,从而导致下游工具不必要的触发,导致下游工具不必要的执行或者运行出错,增加执行时间和浪费资源的问题,本发明实施例提供了一种用于持续集成系统的数据处理方法及装置。所述技术方案如下:
根据本发明实施例的第一方面,提供一种数据处理方法,所述方法包括:
设置至少一个上游工具与下游工具之间的依赖关系;
触发所述上游工具执行;
判断所述至少一个上游工具是否全部执行完成且执行结果是否满足所述下游工具的依赖条件;
若所述上游工具执行完成且执行结果满足所述下游工具的依赖条件,则触发所述下游工具执行。
根据本发明实施例的第二方面,提供一种数据处理装置,所述装置包括:
设置模块,用于设置至少一个上游工具与下游工具之间的依赖关系;
上游工具触发模块,用于触发所述上游工具执行;
判断模块,用于判断所述至少一个上游工具是否全部执行完成且执行结果是否满足所述下游工具的依赖条件;
下游工具触发模块,用于:若所述上游工具执行完成且执行结果满足所述下游工具的依赖条件,则触发所述下游工具执行。
本发明实施例提供的技术方案可以包括以下有益效果:
现有技术中下游工具如果配置多个上游工具,任一个上游工具执行完成后都会触发下游工具执行,相当于下游工具其实只能有一个上游工具,本实施例提供的数据处理方法支持多个上游工具都执行完成后才触发下游工具,支持一个下游工具可以有单个或者多个上游工具。现有技术中上游工具在执行完成后,不判断执行结果是成功还是失败都触发下游工具,本实施例提供的数据处理方法中可以设置下游工具对上游工具的依赖条件,避免下游工具不必要的触发、工具不必要的执行或者运行出错、增加执行时间和浪费资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种用于持续集成系统的数据处理方法的流程图;
图2根据另一示例性实施例示出的一种用于持续集成系统的数据处理方法的流程图;
图3是图2中步骤301的具体方法流程图;
图4根据一示例性实施例示出的一种数据处理装置的框图;
图5是根据另一示例性实施例示出的一种数据处理装置的框图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种用于持续集成系统的数据处理方法的流程图,该数据处理方法可以包括如下几个步骤:
步骤201,设置至少一个上游工具与下游工具之间的依赖关系。
步骤202,触发所述上游工具执行。
步骤203,判断所述至少一个上游工具是否全部执行完成且执行结果是否满足所述下游工具的依赖条件。
步骤204,若所述上游工具执行完成且执行结果满足所述下游工具的依赖条件,则触发所述下游工具执行。
以C/C++项目为例,只有在编译成功之后才能进行自动化测试,那么编译工具是上游工具,自动化测试工具是下游工具,在持续集成系统中设置自动化测试工具依赖自动编译工具且依赖条件是执行成功。在实际执行时,先执行自动编译工具,自动化测试工具处于等待执行的状态,在自动编译工具执行完成且编译成功时才触发自动化测试工具,否则自动化测试的工具就不会再触发执行。
综上所述,现有技术中下游工具如果配置多个上游工具,任一个上游工具执行完成后都会触发下游工具执行,相当于下游工具其实只能有一个上游工具,本实施例提供的数据处理方法支持多个上游工具都执行完成后才触发下游工具,支持一个下游工具可以有单个或者多个上游工具。现有技术中上游工具在执行完成后,不判断执行结果是成功还是失败都触发下游工具,本实施例提供的数据处理方法中可以设置下游工具对上游工具的依赖条件,避免下游工具不必要的触发、工具不必要的执行或者运行出错、增加执行时间和浪费资源。
图2是根据另一示例性实施例示出的一种用于持续集成系统的数据处理方法的流程图,该数据处理方法可以包括如下几个步骤:
步骤301,设置至少一个上游工具与下游工具之间的依赖关系。
请一并参阅图3,具体地,上述步骤301包括:
步骤3011:所述上游工具中设置输出名,所述上游工具通过持续集成系统的接口上报所述上游工具执行的结果和数据,持续集成系统记录所述上游工具的输出值。
步骤3012:所述下游工具依赖所述上游工具的结果和数据的配置设置成依赖所述上游工具的输出。
步骤302,触发所述上游工具执行。
步骤303,判断所述至少一个上游工具是否全部执行完成且执行结果是否满足所述下游工具的依赖条件。
步骤304,若执行结果不满足所述下游工具的依赖条件,则标记所述下游工具的状态为依赖失败。
步骤305,若所述上游工具执行完成且执行结果满足所述下游工具的依赖条件,则触发所述下游工具执行。
步骤306,持续集成系统将所述上游工具的输出值传给所述下游工具的配置,并下发配置文件给所述下游工具。
步骤307,所述下游工具解析持续集成系统下发给下游工具的配置文件,获取所需要的配置。
其中,在步骤302的触发所述上游工具执行之后,以及步骤306的触发所述下游工具执行之前,所述下游工具保持等待状态。
具体的,以C/C++项目为例,只有在编译成功之后才能进行自动化测试,那么编译工具是上游工具,自动化测试工具是下游工具,在持续集成系统中设置自动化测试工具依赖自动编译工具且依赖条件是执行成功。在实际执行时,先执行自动编译工具,自动化测试工具处于等待执行的状态,在自动编译工具执行完成且编译成功时才触发自动化测试工具,否则自动化测试的工具就不会再触发执行。
比如上游的自动编译工具设置输出output,用于存放实际编译出的文件路径。下游的自动化测试工具的配置checkFile的值设置为使用自动编译的output。在编译工具执行成功后通过持续集成接口上报实际编译出的文件路径,由持续集成系统记录编译文件路径,在启动下游的自动化测试工具执行时,持续集成系统在生成自动化测试工具的配置时,检测到是使用自动编译的output,会自动将output的实际值(编译文件路径)赋给checkFile下发给自动化测试工具,自动化测试工具在执行时只需正常解析checkFile即可,无需关注上游的编译工具是如何设置输出的。
综上所述,现有技术中下游工具如果配置多个上游工具,任一个上游工具执行完成后都会触发下游工具执行,相当于下游工具其实只能有一个上游工具,本实施例提供的数据处理方法支持多个上游工具都执行完成后才触发下游工具,支持一个下游工具可以有单个或者多个上游工具。现有技术中上游工具在执行完成后,不判断执行结果是成功还是失败都触发下游工具,本实施例提供的数据处理方法中可以设置下游工具对上游工具的依赖条件,避免下游工具不必要的触发、工具不必要的执行或者运行出错、增加执行时间和浪费资源。现有技术中上下游工具是通过环境变量来传递工具间的参数,上下游工具要同时支持相同的环境变量,工具间的耦合度高,本实施例提供的数据处理方法中上下游工具的参数传递由持续集成系统完成,上下游工具间参数传递是透明的,耦合度低。
图4是根据一示例性实施例示出的一种数据处理装置的框图,该数据处理装置可以包括:设置模块110、上游工具触发模块120、判断模块130和下游工具触发模块140。
设置模块110,用于设置至少一个上游工具与下游工具之间的依赖关系。
上游工具触发模块120,用于触发所述上游工具执行。
判断模块130,用于判断所述至少一个上游工具是否全部执行完成且执行结果是否满足所述下游工具的依赖条件。
下游工具触发模块140,用于:若所述上游工具执行完成且执行结果满足所述下游工具的依赖条件,则触发所述下游工具执行。
综上所述,现有技术中下游工具如果配置多个上游工具,任一个上游工具执行完成后都会触发下游工具执行,相当于下游工具其实只能有一个上游工具,本实施例提供的数据处理装置支持多个上游工具都执行完成后才触发下游工具,支持一个下游工具可以有单个或者多个上游工具。现有技术中上游工具在执行完成后,不判断执行结果是成功还是失败都触发下游工具,本实施例提供的数据处理装置中可以设置下游工具对上游工具的依赖条件,避免下游工具不必要的触发、工具不必要的执行或者运行出错、增加执行时间和浪费资源。
图5是根据另一示例性实施例示出的一种数据处理装置的框图,该数据处理装置可以包括:设置模块210、上游工具触发模块220、下发模块230、解析模块240、判断模块250、下游工具触发模块260及标记模块270。
设置模块210,用于设置至少一个上游工具与下游工具之间的依赖关系。
上游工具触发模块220,用于触发所述上游工具执行。
下发模块230,用于:所述触发所述上游工具执行步骤之后,将所述上游工具的输出值传给所述下游工具的配置,并下发配置文件给所述下游工具。
判断模块250,用于判断所述至少一个上游工具是否全部执行完成且执行结果是否满足所述下游工具的依赖条件。
下游工具触发模块260,用于:若所述上游工具执行完成且执行结果满足所述下游工具的依赖条件,则触发所述下游工具执行。
标记模块270,用于在所述判断所述上游工具是否执行完成且执行结果是否满足所述下游工具的依赖条件步骤之后,若执行结果不满足所述下游工具的依赖条件,则标记所述下游工具的状态为依赖失败。
可选的,所述设置模块210,还用于:
在所述上游工具中设置输出名,所述上游工具通过持续集成系统的接口上报所述上游工具执行的结果和数据,持续集成系统记录所述上游工具的输出值;
所述下游工具依赖所述上游工具的结果和数据的配置设置成依赖所述上游工具的输出。
可选的,所述数据处理装置还包括解析模块240,用于:在所述触发所述下游工具执行步骤之后,所述下游工具解析持续集成系统下发给下游工具的配置文件,获取所需要的配置。
综上所述,现有技术中下游工具如果配置多个上游工具,任一个上游工具执行完成后都会触发下游工具执行,相当于下游工具其实只能有一个上游工具,本实施例提供的数据处理装置支持多个上游工具都执行完成后才触发下游工具,支持一个下游工具可以有单个或者多个上游工具。现有技术中上游工具在执行完成后,不判断执行结果是成功还是失败都触发下游工具,本实施例提供的数据处理装置中可以设置下游工具对上游工具的依赖条件,避免下游工具不必要的触发、工具不必要的执行或者运行出错、增加执行时间和浪费资源。现有技术中上下游工具是通过环境变量来传递工具间的参数,上下游工具要同时支持相同的环境变量,工具间的耦合度高,本实施例提供的数据处理装置中上下游工具的参数传递由持续集成系统完成,上下游工具间参数传递是透明的,耦合度低。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (4)

1.一种数据处理方法,其特征在于,所述方法包括:
设置至少一个上游工具与下游工具之间的依赖关系,其中包括:所述上游工具中设置输出名,所述上游工具通过持续集成系统的接口上报所述上游工具执行的结果和数据,持续集成系统记录所述上游工具的输出值;所述下游工具的配置为依赖所述上游工具的结果和数据的配置,将所述下游工具的配置设置成依赖所述上游工具的输出;
触发所述上游工具执行;
判断所述至少一个上游工具是否全部执行完成且执行结果是否满足所述下游工具的依赖条件,所述依赖条件为执行成功;
若所述上游工具执行完成且执行结果满足所述下游工具的依赖条件,则触发所述下游工具执行,若执行结果不满足所述下游工具的依赖条件,则标记所述下游工具的状态为依赖失败,且不触发所述下游工具执行;
当触发所述下游工具执行后,持续集成系统将所述上游工具的输出值传给所述下游工具的配置,并下发配置文件给所述下游工具。
2.根据权利要求1所述的方法,其特征在于,所述触发所述下游工具执行步骤之后,还包括:所述下游工具解析持续集成系统下发给下游工具的配置文件,获取所需要的配置。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在触发所述上游工具执行之后,以及触发所述下游工具执行之前,所述下游工具保持等待状态。
4.一种数据处理装置,其特征在于,所述装置包括:
设置模块,用于设置至少一个上游工具与下游工具之间的依赖关系,其中在所述上游工具中设置输出名,所述上游工具通过持续集成系统的接口上报所述上游工具执行的结果和数据,持续集成系统记录所述上游工具的输出值;所述下游工具的配置为依赖所述上游工具的结果和数据的配置,将所述下游工具的配置设置成依赖所述上游工具的输出;
上游工具触发模块,用于触发所述上游工具执行;
判断模块,用于判断所述至少一个上游工具是否全部执行完成且执行结果是否满足所述下游工具的依赖条件;
下游工具触发模块,用于:若所述上游工具执行完成且执行结果满足所述下游工具的依赖条件,则触发所述下游工具执行;
标记模块,用于:在所述判断所述上游工具是否执行完成且执行结果是否满足所述下游工具的依赖条件步骤之后,若执行结果不满足所述下游工具的依赖条件,则标记所述下游工具的状态为依赖失败,且不触发所述下游工具执行;
下发模块,用于:所述触发所述上游工具执行步骤之后,将所述上游工具的输出值传给所述下游工具的配置,并下发配置文件给所述下游工具。
CN201410387487.3A 2014-08-07 2014-08-07 一种用于持续集成系统的数据处理方法及装置 Active CN105335284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410387487.3A CN105335284B (zh) 2014-08-07 2014-08-07 一种用于持续集成系统的数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410387487.3A CN105335284B (zh) 2014-08-07 2014-08-07 一种用于持续集成系统的数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN105335284A CN105335284A (zh) 2016-02-17
CN105335284B true CN105335284B (zh) 2018-12-28

Family

ID=55285837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410387487.3A Active CN105335284B (zh) 2014-08-07 2014-08-07 一种用于持续集成系统的数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN105335284B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550697B2 (en) 2019-06-04 2023-01-10 Red Hat, Inc. Cross jobs failure dependency in CI/CD systems
CN110597736B (zh) * 2019-10-31 2023-01-17 口碑(上海)信息技术有限公司 测试数据生成方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267645A (zh) * 2008-02-29 2008-09-17 中兴通讯股份有限公司 用于w基站业务流程软件开发的自动化测试方法和系统
CN102035892A (zh) * 2010-12-23 2011-04-27 中科方德软件有限公司 操作系统版本自动发布和软件包自动更新的系统及方法
CN102193812A (zh) * 2011-06-03 2011-09-21 深圳市茁壮网络股份有限公司 一种代码编译方法、主机及系统
CN102708051A (zh) * 2012-07-12 2012-10-03 加弘科技咨询(上海)有限公司 程序持续集成的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267645A (zh) * 2008-02-29 2008-09-17 中兴通讯股份有限公司 用于w基站业务流程软件开发的自动化测试方法和系统
CN102035892A (zh) * 2010-12-23 2011-04-27 中科方德软件有限公司 操作系统版本自动发布和软件包自动更新的系统及方法
CN102193812A (zh) * 2011-06-03 2011-09-21 深圳市茁壮网络股份有限公司 一种代码编译方法、主机及系统
CN102708051A (zh) * 2012-07-12 2012-10-03 加弘科技咨询(上海)有限公司 程序持续集成的方法及系统

Also Published As

Publication number Publication date
CN105335284A (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
CN105359143B (zh) 数据库诊断界面系统
EP3352033B1 (en) Maintenance operation support device, maintenance operation support method, and non-transitory computer readable storage medium
EP2667306A3 (en) Software systems testing interface
CN104850114A (zh) 一种车辆故障分析方法及系统
CN102479084A (zh) 一种Android终端获取日志的方法及装置
CN102708142B (zh) 一种通过sql定制模板获取后台数据的方法和系统
CN110244991A (zh) 一种微服务依赖分析方法及装置
CN104850499A (zh) 基带软件的自动化测试方法及装置
CN104199667B (zh) 一种新建mtk工程和提交代码的方法及系统
CN105335284B (zh) 一种用于持续集成系统的数据处理方法及装置
CN104092659A (zh) 一种通用协议数据解析方法
CN104123397A (zh) Web页面的自动化测试装置及方法
CN105487971A (zh) 一种软件测试中操作步骤记录和复现的方法及系统
CN103019977A (zh) 嵌入式系统应用设备实现版本自动识别的方法及启动方法
CN103514026A (zh) 一种通过javascript直接调用java api的方法
CN105677689B (zh) 日志记录方法及装置
KR20150124530A (ko) 어플리케이션 빌드 시스템 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체
CN105205123A (zh) 一种数据库间数据交互方法和装置
CN104486149A (zh) 一种用于地面测试的有限状态机方法
KR101629578B1 (ko) Rte 코드 생성 방법 및 이를 실행하는 장치
CN103309809A (zh) 一种计算机软件的智能化调试方法
US20070106960A1 (en) System and method for the development and distribution of a VHDL intellectual property core
CN105678234A (zh) 一种眼图自动分析方法及装置
CN105955745B (zh) 一种流程图仿真调试方法及装置
CN104866875A (zh) 一种智能卡远程检测方法及系统

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right

Effective date of registration: 20190808

Address after: 518057 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right