CN102662655B - 版本的构建系统及方法 - Google Patents

版本的构建系统及方法 Download PDF

Info

Publication number
CN102662655B
CN102662655B CN201210063527.XA CN201210063527A CN102662655B CN 102662655 B CN102662655 B CN 102662655B CN 201210063527 A CN201210063527 A CN 201210063527A CN 102662655 B CN102662655 B CN 102662655B
Authority
CN
China
Prior art keywords
version
server
test
main control
machine
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
CN201210063527.XA
Other languages
English (en)
Other versions
CN102662655A (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.)
ZTE Corp
Original Assignee
Nanjing ZTE New Software 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 Nanjing ZTE New Software Co Ltd filed Critical Nanjing ZTE New Software Co Ltd
Priority to CN201210063527.XA priority Critical patent/CN102662655B/zh
Priority to US14/371,842 priority patent/US20140351792A1/en
Priority to EP12871073.8A priority patent/EP2790100A4/en
Priority to PCT/CN2012/077219 priority patent/WO2013135016A1/zh
Publication of CN102662655A publication Critical patent/CN102662655A/zh
Application granted granted Critical
Publication of CN102662655B publication Critical patent/CN102662655B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种版本的构建系统及方法,该系统包括主控服务器、与主控服务器相连的版本构建服务器以及与版本构建服务器相连的版本构建机,其中:主控服务器,用于根据获得的请求生成控制命令,将控制命令对应下发至版本构建服务器,以及根据版本构建服务器上报的构建信息生成回执信息,控制命令包括版本构建命令;版本构建服务器,用于向版本构建机下发来自主控服务器的版本构建命令或完整流程命令,以及向主控服务器上报版本构建机反馈的构建信息;版本构建机,用于根据接收的来自版本构建服务器的版本构建命令或完整流程命令进行软硬件版本的构建,并向版本构建服务器反馈构建信息。上述版本的构建系统及方法,有利于提高效率,缩短开发周期。

Description

版本的构建系统及方法
技术领域
本发明涉及无线通信领域及计算机领域,尤其涉及一种版本的构建系统及方法。
背景技术
当前,随着科技的进步和信息化的不断发展,计算机软件已经成为人们生活中不可缺少的工具。在通信领域,设备制造商为用户生产制造设备并提供相应的支撑软件。在计算机领域,软硬件公司为用户生产和制造众多的软硬件产品。随着产品的多元化和软硬件的版本越来越多,人们对于产品的质量要求越来越高。在产品研发领域,最大限度地缩短研发周期,提高产品质量,强化对于市场的响应速度就显得尤为重要了。
通常在产品研发领域,可能同时要应对多个需求项目,会有多个输出。
以软硬件发布版本为例,可能某个时刻需要同时发布数个项目的软硬件版本,或者某一时间段内需要发布某个或数个软硬件版本并且要保证功能可以被正常使用。现在通常的做法是,版本制作人员制作相关版本,首先自测没有问题后提交流程,然后由测试人员对此版本再进行测试,这样一来一往可能几天就过去了。在这几天内研发人员无法完整掌握版本情况,同时在这几天内发布的其他版本可能会一并继承先前版本的故障,造成版本交付的时间延长和版本质量的不可控制性,同时对于并发版本在处置上也会耗费颇多。
对于在异地的人员构建软硬件版本的情况,通常情况下是要求本地相关人员代为执行,这样在沟通理解以及数据信息传递上往往会产生额外的时间和精力的开销。
基于软硬件版本的成本和用户使用的双重考虑,急需解决以下几个技术问题:
1、如何压缩版本构建时间,快速处理并发版本构建需求,支持全天候的全球化版本构建需求。
2、如何最大限度地提高所构建版本的质量和稳定性。
另外,随着产品的多元化和软硬件的版本越来越多,人们对于产品的质量要求越来越高。高端用户和团体也越来越多,他们对于软硬件产品有着自己的认识,往往给予他们自我实现软硬件版本的机会将会进一步加深高端用户和团体对于公司软硬件产品的质量和性能的认识。在现在这个处处讲求“DIY”的时代,软硬件产品也在向着“DIY”前进。最大限度让用户自己掌控软硬件产品,允许他们加入自己的元素将会有助于软硬件产品的销售和获取用户最大限度的支持和理解。
然而用户数量基数庞大,传统的版本构建方式和流程不能满足如此庞大基数的用户群组的需求。在传统研发领域的版本构建通常情况下都是小规模单一化的,其目的是针对快速准确构建出待测试版本。而对于高端用户和团体来说,当他们通过自己的理解和认识,使用我们提供的工具或者接口函数对软件进行了二次开发的时候,对于版本构建的要求就是快速构建出承载他们“DIY”想法的软件版本。往往这些用户数量庞大,可能同时并发有大量的版本构建请求,而且对于用户来说版本构建基本都是采取远程构建的方式,通过网络完成的。
因此,如何更广泛、更充分地利用已有的软硬件进行二次开发也是急需解决的又一问题。
发明内容
本发明实施例提供了一种版本的构建系统及方法,以解决现有的版本构建时间长的问题。
本发明实施例提供了一种版本的构建系统,该系统包括主控服务器、与所述主控服务器相连的版本构建服务器以及与所述版本构建服务器相连的版本构建机,其中:
所述主控服务器,用于根据获得的请求生成控制命令,将所述控制命令对应下发至所述版本构建服务器,以及根据所述版本构建服务器上报的构建信息生成回执信息,所述控制命令包括版本构建命令;
所述版本构建服务器,用于向所述版本构建机下发来自所述主控服务器的版本构建命令或完整流程命令,以及向所述主控服务器上报所述版本构建机反馈的构建信息;
所述版本构建机,用于根据接收的来自所述版本构建服务器的版本构建命令或完整流程命令进行软硬件版本的构建,并向所述版本构建服务器反馈所述构建信息。
优选地,所述控制命令还包括版本测试命令,所述系统还包括与所述主控服务器相连的版本测试服务器以及与所述版本测试服务器相连的测试机;
所述主控服务器,还用于将所述版本测试命令对应下发至所述版本测试服务器,以及根据所述版本测试服务器上报的测试信息生成回执信息;
所述版本测试服务器,用于向所述测试机下发来自所述主控服务器的版本测试命令,以及,向所述主控服务器上报所述测试机反馈的测试信息;
所述测试机,用于根据接收的来自所述版本测试服务器的版本测试命令进行软硬件版本的测试,并向所述版本测试服务器反馈所述测试信息。
优选地,所述控制命令还包括完整流程命令;所述主控服务器,还用于将所述完整流程命令对应下发至所述版本构建服务器,以及在接收所述版本构建服务器上报的所述构建信息后,向所述版本测试服务器下发所述版本测试命令。
优选地,所述控制命令还包括版本提交命令,所述主控服务器,还用于根据所述版本提交命令将当前软硬件版本提交至目标路径。
优选地,所述主控服务器,具体用于根据本地输入的所述请求或者接收客户端输入的所述请求或者接收终端发送的所述请求生成所述控制命令。
优选地,所述版本构建机包括多系统的版本构建机;所述版本构建服务器,具体用于接收所述主控服务器发送的所述版本构建命令,为所述版本构建命令分配版本构建机,将所述版本构建命令下发至对应的版本构建机。
优选地,所述测试机包括多系统的测试机;所述版本测试服务器,具体用于接收所述主控服务器发送的所述版本测试命令,为所述版本测试命令分配测试机,将所述版本测试命令下发至对应的测试机。
优选地,所述主控服务器包括逻辑控制模块、基于互联网的控制模块和基于短信的控制模块,其中:
所述基于互联网的控制模块,用于接收用户通过客户端输入的用户请求或业务请求,对所述用户请求或所述业务请求进行解析后发送给所述逻辑控制模块,所述业务请求包括二次开发业务请求;
所述基于短信的控制模块,用于接收用户通过终端发送的短信,对所述短信进行解析后发送给所述逻辑控制模块;
所述逻辑控制模块,用于接收本地输入的所述用户请求、所述基于互联网的控制模块发送的解析结果或基于短信的控制模块发送的解析结果,根据所述基于互联网的控制模块发送的解析结果、基于短信的控制模块发送的解析结果或本地输入的所述用户请求实时或定时生成所述控制命令。
优选地,所述逻辑控制模块,还用于为所述用户请求或业务请求分配标识,以及根据所述标识对应保存用户上传的文件或所述主控服务器生成的所述回执信息。
本发明实施例还提供了一种版本的构建方法,该方法包括:
主控服务器根据输入的请求生成控制命令;
当所述控制命令为版本构建命令时,所述主控服务器向版本构建服务器发送所述控制命令,接收所述版本构建服务器根据所述控制命令上报的构建信息,并根据所述构建信息生成回执信息。
优选地,所述方法还包括:
当所述控制命令为版本测试命令时,所述主控服务器向版本测试服务器发送所述控制命令,接收所述版本测试服务器根据所述控制命令上报的测试信息,并根据所述测试信息生成回执信息;或者
当所述控制命令为完整流程命令时,所述主控服务器向版本构建服务器发送所述控制命令,接收所述版本构建服务器根据所述控制命令上报的构建信息后向所述版本测试服务器发送所述控制命令,接收所述版本测试服务器根据所述控制命令上报的测试信息,并根据所述测试信息生成回执信息;或者
当所述控制命令为版本提交命令时,所述主控服务器根据所述控制命令将当前软硬件版本提交至目标路径。
优选地,所述主控服务器根据输入的请求生成控制命令包括:
所述主控服务器根据本地输入或远端输入的用户请求生成所述控制命令;或者,所述主控服务器根据远端输入的业务请求生成所述控制命令,所述业务请求包括二次开发业务请求。
上述版本的构建系统及方法,有利于提高效率,缩短开发周期,实现全天候自动化的版本构建和自动化测试服务,有效地保证了所构建版本的质量。
附图说明
图1为本发明实施例中的自动化构建和自动化测试系统的整体结构图;
图2为本发明自动化构建和自动化测试系统进行业务的流程图;
图3为本发明实施例中基于浏览器的客户端进行业务的流程图;
图4为本发明实施例中版本构建服务器进行业务的流程图;
图5为本发明实施例中版本测试服务器进行业务的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明实施例通过对自动化构建和自动化测试业务的深入分析,提出了一种可以执行自动化构建和自动化测试的系统,依托此系统,可以更加方便和有效地获得高质量的软件安装版本。同时确保了在任何时候任何地方,只要有版本构建的需要,就可以通过本发明的系统实现全天候、全自动的版本构建和自动化测试功能,缩短了版本构建周期、人员交互周期同时缩减了成本开销提升了工作效率。
本发明实施例提供了一种版本的构建系统,该系统包括主控服务器、与所述主控服务器相连的版本构建服务器以及与所述版本构建服务器相连的版本构建机,其中:
所述主控服务器,用于根据获得的请求生成控制命令,将所述控制命令对应下发至所述版本构建服务器,以及根据所述版本构建服务器上报的构建信息生成回执信息,所述控制命令包括版本构建命令;
所述版本构建服务器,用于向所述版本构建机下发来自所述主控服务器的版本构建命令或完整流程命令,以及向所述主控服务器上报所述版本构建机反馈的构建信息;
所述版本构建机,用于根据接收的来自所述版本构建服务器的版本构建命令或完整流程命令进行软硬件版本的构建,并向所述版本构建服务器反馈所述构建信息。
另外,所述控制命令还可以包括版本测试命令,所述系统还包括与所述主控服务器相连的版本测试服务器以及与所述版本测试服务器相连的测试机;所述主控服务器,还用于将所述版本测试命令对应下发至所述版本测试服务器,以及根据所述版本测试服务器上报的测试信息生成回执信息;所述版本测试服务器,用于向所述测试机下发来自所述主控服务器的版本测试命令,以及,向所述主控服务器上报所述测试机反馈的测试信息;所述测试机,用于根据接收的来自所述版本测试服务器的版本测试命令进行软硬件版本的测试,并向所述版本测试服务器反馈所述测试信息。
进一步地,所述控制命令还可以包括完整流程命令;所述主控服务器,还用于将所述完整流程命令对应下发至所述版本构建服务器,以及在接收所述版本构建服务器上报的所述构建信息后,向所述版本测试服务器下发所述版本测试命令。
如图1所示,为本发明实施例中的自动化构建和自动化测试系统的整体结构图,该系统包括主控服务器101、分别与所述主控服务器101相连的版本构建服务器102和版本测试服务器103、与所述版本构建服务器102相连的版本构建机以及与所述版本测试服务器103相连的测试机,其中:
所述主控服务器,用于根据获得的请求生成控制命令,将所述控制命令对应下发至所述版本构建服务器和/或所述版本测试服务器,以及根据所述版本构建服务器上报的构建信息或所述版本测试服务器上报的测试信息生成回执信息,所述控制命令包括完整流程命令、版本构建命令和版本测试命令;
所述版本构建服务器,用于向所述版本构建机下发来自所述主控服务器的版本构建命令或完整流程命令,以及向所述主控服务器上报所述版本构建机反馈的构建信息;
所述版本构建机,用于根据接收的来自所述版本构建服务器的版本构建命令或完整流程命令进行软硬件版本的构建,并向所述版本构建服务器反馈所述构建信息;
所述版本测试服务器,用于向所述测试机下发来自所述主控服务器的版本测试命令,以及,向所述主控服务器上报所述测试机反馈的测试信息;
所述测试机,用于根据接收的来自所述版本测试服务器的版本测试命令进行软硬件版本的测试,并向所述版本测试服务器反馈所述测试信息。
另外,所述控制命令还包括版本提交命令,所述主控服务器,还用于根据所述版本提交命令将当前软硬件版本提交至目标路径。
上述请求包括用户请求和业务请求,用户请求指版本构建请求、版本测试请求等;业务请求指二次开发业务请求等;
在上述系统中,主控服务器是一个总的控制命令响应、下发、结果反馈的装置,主控服务器将从本地、互联网、短信来的用户请求经过解析生成具体的控制指令,或者将从互联网来的业务请求解析生成具体的控制指令,并根据这些具体的指令向版本构建服务器或版本测试服务器进行命令下发。待下方的版本构建或测试服务器反馈后,根据具体结果由主控服务器生成回执消息,经由本地、网络、短信控制模块反馈给用户。
上述主控服务器包括逻辑控制模块、基于互联网(Internet)的控制模块和基于短信的控制模块;基于Internet的控制模块的作用是允许用户通过Internet访问来实现对主控服务器的控制和信息察看;用户通过带有登陆口令控制的客户端经Internet连接到主控服务器,向主控服务器发送请求,主控服务器收到请求后进行解析展开相关的业务。用户可以通过互联网客户端实时察看过程信息和相关LOG信息。基于短信的控制模块的作用是允许用户通过短信平台来实现对主控服务器的控制和信息察看;用户通过手机短信向主控服务器的短信控制模块的号码发送请求,根据主控服务器短信模块的短信回复来进行选择,进而触发版本构建和版本测试业务;同时相关的结果信息和LOG信息通过短信发送到用户的手机号码上。该逻辑控制模块的作用是提供本地的实时控制和本地的可编辑异步控制,实时控制允许用户实时地对主控服务器做出操作,可以进行版本构建和自动化测试等实时操作;可编辑异步控制,允许用户编辑配置文件,设置运行脚本,定时运行,例如用户可以设置在下班后进行自动构建和自动化测试,同时提交版本和报告。用户可以实时地查看各个活跃任务的相关进度和有关日志(LOG)信息。
其中,所述主控服务器,具体用于根据本地输入的所述请求或者接收客户端输入的所述请求或者接收终端发送的所述请求生成所述控制命令。上述客户端可以为基于浏览器的客户端,允许用户使用客户端登陆到主控服务器,客户端上有登录界面,经过身份核对的授权用户登录到主控服务器后,将可以建立和使用已经建立的用户数据进行版本的构建和相关文件的上传工作,同时也是远端主控服务器结果和版本的反馈终端,从客户端上可以看到版本构建的过程结果和相关的LOG文件,通过客户端可以下载主控服务器上完成构建的版本。
上述版本构建服务器用来接收主控服务器的版本构建请求,并发地处理版本构建的相关业务。当主控服务器的版本构建请求到达,版本构建服务器根据请求的相关数据解析出版本构建所需的外部信息。针对本次构建建立相关的数据和文件,分配版本构建机启动版本构建过程;以及接收版本构建机生成的最新版本和相关LOG,放在适合的数据文件中,发送至主控服务器。
上述版本构建机是一个机器群落,包含了多台版本构建机器。因为同时能进行多个版本的构建,有些构建对系统某些资源是独占的,因此预备多台机器可以处理并发构建的需求。同时这个机器群落包含了windows、mac、linux等多个系统的机器,目的就是满足版本构建的多系统的要求。每个版本构建机都与版本构建服务器连接可以与之进行通信,以便及时传送回所构建的版本和LOG信息。
上述版本测试服务器用来接收主控服务器的自动化测试请求,并发地处理自动化测试的相关业务。当主控服务器的自动化测试请求到达,版本测试服务器根据请求建立相关的数据和文件,分配测试机,启动自动化测试程序进行自动化测试。当测试结束接收测试机的自动化测试报告和相关LOG,放在适合的数据文件中,发送至主控服务器。
上述测试机是一个机器群落,包含了多台测试机器。测试机群落里面包含了windows、mac和linux等系统的测试机器各若干台。目的是为了满足多个测试任务的并发执行。每个测试机都与版本测试服务器连接可以与之进行通信,以便及时传送回自动化测试报告和相关LOG。
上述系统在研发和制造领域构建软件版本和测试时可以实现自动化的版本构建和自动化的软件测试,缩短了开发周期;同时对于异地用户,还可以提供基于Internet的服务,对于环境不便没有Internet网络的用户可以提供基于短信的服务,使得对于软件版本的构建和版本质量的保证方面做到了全天候的全地域的支持;也可以快速响应远端和本地的需求,节省人员交互沟通的成本,提高生产率和产品质量。上述系统,对于高端用户和高端用户团体可以根据自己的喜好对软件进行自定义的开发和扩展,同时还可以通过授权登录到主控制服务器,完成用户自定义软件从文件到软件版本的过程。
本发明实施例还提供了一种软硬件版本的构建和测试方法,该方法包括:
步骤一、主控服务器根据输入的请求生成控制命令;
该步骤可以包括:所述主控服务器根据本地输入或远端输入的用户请求生成所述控制命令;或者,所述主控服务器根据远端输入的业务请求生成所述控制命令,所述业务请求包括二次开发业务请求。
步骤二、当所述控制命令为版本构建命令时,所述主控服务器向版本构建服务器发送所述控制命令,接收所述版本构建服务器根据所述控制命令上报的构建信息,并根据所述构建信息生成回执信息。
另外,该方法还可以包括:当所述控制命令为版本测试命令时,所述主控服务器向版本测试服务器发送所述控制命令,接收所述版本测试服务器根据所述控制命令上报的测试信息,并根据所述测试信息生成回执信息;或者,当所述控制命令为完整流程命令时,所述主控服务器向版本构建服务器发送所述控制命令,接收所述版本构建服务器根据所述控制命令上报的构建信息后向所述版本测试服务器发送所述控制命令,接收所述版本测试服务器根据所述控制命令上报的测试信息,并根据所述测试信息生成回执信息;或者,当所述控制命令为版本提交命令时,所述主控服务器根据所述控制命令将当前软硬件版本提交至目标路径。
如图2所示,本发明自动化构建和自动化测试系统进行业务的流程图,该主控服务器包括逻辑控制模块、基于Internet的控制模块和基于短信的控制模块,本地逻辑逻辑控制模块是主控服务器的核心控制模块,基于Internet的控制模块和基于短信的控制模块都依赖于逻辑控制模块的逻辑控制。该系统进行业务的过程包括以下步骤:
S201、逻辑控制模块作为主控服务器本地运行的逻辑控制模块,它接受本地的版本构建和自动化测试请求,并且负责显示日志等信息,同时它还接受本地的预约式的配置运行方式,用户通过编辑配置文件可以使得逻辑控制模块在某一时刻进行某项操作,比如在晚上1点构建某一版本并且进行自动化测试,结束后将版本提交至某路经;
另外,该模块还可以接收上传的数据文件,并且负责日志等信息的收集,同时还负责建立用户数据库,存储用户上传的代码和配置文件,保存用户版本构建请求,为每一个版本构建请求建立一个唯一的标识,客户端将通过这个唯一的标识来访问对应的数据和信息。
S202、基于Internet的控制模块,属于B/S结构中的服务器端,它接受用户使用浏览器(Browser)发送的请求,将请求解析后通过本地的逻辑控制模块进行处理;
该请求包括版本构建请求、版本测试请求和业务请求等,业务请求如二次开发业务请求;
S203、基于短信的控制模块在主控服务器上有个短信收发终端,能够接收外部短信的同时向外部发送短信,当用户向主控服务器的短信终端发送短信的时候短信终端将根据接收的内容对短信进行解析,根据解析的内容通过本地的逻辑控制模块进行处理;
S204、本地的逻辑控制模块解析本地、Internet、短信的请求生成控制命令,该控制命令主要由如下四类组成:完整流程命令、版本构建命令、版本测试命令和版本提交命令;
核心编译解释和图形化环境肩负运行跨平台可视化软件安装包的责任,它饱含了一组最小集的软件安装包运行所需要的文件。
S205、判断生成的控制命令是否是完整流程命令,如果是完整流程命令,则转向S206,如果不是完整流程命令,则转向S207;
S206、根据控制命令生成可下达的版本构建命令,转向步骤208;
S207、判断该控制命令是否是版本构建命令,如果是,则转向S206,如果不是,则转向S210;
S208、版本构建服务器接受版本构建命令,协调统筹版本构建过程,同时向主控服务器返回版本和日志信息;
S209、主控服务器接受提交的信息生成回执信息;结束;
主控服务器从版本构建服务器上得到构建好的版本同时根据传递的日志信息,根据分析生成回执信息;从版本测试服务器上得到的测试报告,根据分析生成回执信息;
用户根据回执信息就可以查看主控服务器对于用户请求的处理情况和结果。
S210、判断该控制命令是否是版本测试命令,如果是版本测试命令,则转向S211,否则转向S213;
S211、根据控制命令生成可下达的版本测试命令,下达至版本测试服务器;
S212、版本测试服务器接受版本测试命令,协调统筹版本测试过程,同时向主控服务器返回测试报告和日志信息;并转向步骤209;
S213、确定该控制命令是版本提交命令,将S208主控服务器收到的版本提交至相关路径,转向步骤209。
完整流程命令将执行从版本构建、自动化测试到版本提交的全部过程。而版本构建命令仅进行版本构建活动,版本测试命令仅进行自动化版本测试活动,版本提交命令仅进行版本提交活动。
如图3所示,为本发明实施例中基于浏览器的客户端进行业务的流程图,该过程包括以下步骤:
S301、登录验证,对于这种附加的软件功能和业务,由于牵扯后台维护的工作,往往这些业务的展开都是有偿的,只有获取相关的权限才能展开该业务。因此,高端用户、用户团体或者二次开发者可以通过相关渠道获取到登录主控服务器授权。登录之后就可以转到S302或者S303执行;
S302、如果是初次用户登录可以选择建立用户数据,通过浏览器填充相关表单,提交给主控服务器中基于Internet的控制模块。基于Internet的控制模块根据用户提交的内容经由逻辑控制模块建立当前用户的数据信息;
S303、如果用户之前已经建立过用户数据,则可以通过此过程察看相关数据和已经提交的文件信息和版本构建信息等;
无论是S302还是S303都可以通过S304过程上传和删除文件、代码以及构建相关配置项。
S304、文件数据上传,用户可以通过此过程将修改的代码,配置文件,资源文件等上传至主控服务器的相关用户数据库中,同时还可以将版本构建请求等控制信息和配置项上传至主控服务器;
S305、完成远端版本构建过程,当用户提交了版本构建所需的相关项之后,就可以启动远端的版本构建过程,主控服务器收到版本构建请求之后将开辟新的版本构建进程对用户的远端版本构建命令进行响应。最终生成新的软件安装版本和日志文件,存放于相应的登录用户的数据库中,供用户提取;
S306、版本和日志获取,当S305过程结束之后服务器上用户数据库中将会有最终软件版本和日志信息。用户可以通过数据察看界面察看到相关文件信息,下载生成的新的软件版本和日志。
如图4所示,为本发明实施例中版本构建服务器进行业务的流程图,该过程包括以下步骤:
S401、由主控服务器将下达的版本构建命令传递到版本构建服务器;
版本构建服务器通过版本构建命令可以确定一个版本构建任务,以及所需要的所有外部输入。版本构建服务器可能同时接收到多个版本构建指令,版本构建服务器将可以产生多个版本构建进程来控制并发的版本构建过程。
S402、版本构建服务器收到版本构建指令后,维护自身的版本构建进程队列,协调其控制的各个版本构建机;当分配了版本构建资源后,版本构建服务器就会向相关的版本构建机发送版本构建指令,转到S403、S404、S405执行;
当剩余的版本构建机资源允许进行当前版本构建任务时,版本构建服务器会产生新的版本构建进程并分配相关的版本构建资源。当剩余版本构建资源不允许进行当前版本构建任务时,版本构建服务器会将当前版本构建任务加入等待队列,当有版本构建资源释放时,会再次检查队列中等待任务,当有满足任务时,从等待队列中将此任务取出,建立版本构建进程并分配相关资源。
S403、windows版本构建机群构建windows版本;
S404、mac版本构建机群构建mac版本;
S405、linux版本构建机群构建linux版本;
版本构建服务器根据当前构建版本的类型和当前类型版本构建机器的使用情况选择具体的版本构建机器进行版本构建。每一个版本构建机上都有相应版本构建的所需的自动化构建工具和相关的下载上传工具。
S406、版本构建机将构建好的版本发送至版本构建服务器,由版本构建服务器决定后续的操作。
后续操作一般包括将多平台软件版本生成三合一或者二合一软件包,或者直接将软件版本提交至主控服务器。
如图5所示,为本发明实施例中版本测试服务器进行业务的流程图,该过程包括以下步骤:
S501、由主控服务器将下达的版本测试命令传递到版本测试服务器;
版本测试服务器通过版本测试命令可以确定一个版本测试任务,以及所需要的所有外部输入。版本测试服务器可能同时接收到多个版本测试指令,版本测试服务器将可以产生多个版本测试进程来控制并发的版本测试过程。
S502、版本测试服务器收到版本测试指令后,维护自身的版本测试进程队列,协调其控制的各个测试机;当分配了版本测试资源后,版本测试服务器就会向相关的测试机发送版本测试指令,转到S503、S504、S505执行;
当剩余的测试机资源允许进行当前版本测试任务时,版本测试服务器会产生新的版本测试进程并分配相关的资源。当剩余版本测试资源不允许进行当前版本测试任务时,版本测试服务器会将当前版本测试任务加入等待队列,当有版本测试资源释放时,会再次检查队列中等待任务,当有满足任务时,从等待队列中将此任务取出,建立版本测试进程并分配相关资源。
S503、windows测试机对windows版本进行测试;
S504、mac测试机对mac版本进行测试;
S505、linux测试机对linux版本进行测试;
版本测试服务器根据当前测试任务选择具体的测试机器进行自动化测试。每一个测试机上都有相应版本测试所需的自动化测试工具和相关的下载上传工具。
S506、生成测试报告,自动化测试的目的就是测试软件版本的质量,其重要的输出就是测试报告。自动化测试工具完成自动化测试后会生成测试报告,上传至版本测试服务器。
将有利于提高效率,缩短开发周期,实现全天候自动化的版本构建和自动化测试服务,有效的保证了所构建版本的质量。
上述软硬件版本的构建和测试方法,有利于提高效率,缩短开发周期,实现全天候自动化的版本构建和自动化测试服务,有效地保证了所构建版本的质量。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

Claims (12)

1.一种版本的构建系统,其特征在于,该系统包括主控服务器、与所述主控服务器相连的版本构建服务器以及与所述版本构建服务器相连的版本构建机,其中:所述版本构建机是一个机器群落,所述机器群落包含windows版本构建机群、mac版本构建机群和linux版本构建机群,能够并发进行windows版本、mac版本和linux版本的构建;
所述主控服务器,用于根据获得的请求生成控制命令,将所述控制命令对应下发至所述版本构建服务器,以及根据所述版本构建服务器上报的构建信息生成回执信息,所述控制命令包括版本构建命令;
所述版本构建服务器,用于向所述版本构建机下发来自所述主控服务器的版本构建命令或完整流程命令,以及向所述主控服务器上报所述版本构建机反馈的构建信息;
所述版本构建机,用于根据接收的来自所述版本构建服务器的版本构建命令或完整流程命令进行软硬件版本的构建,并向所述版本构建服务器反馈所述构建信息。
2.根据权利要求1所述的系统,其特征在于,所述控制命令还包括版本测试命令,所述系统还包括与所述主控服务器相连的版本测试服务器以及与所述版本测试服务器相连的测试机;
所述主控服务器,还用于将所述版本测试命令对应下发至所述版本测试服务器,以及根据所述版本测试服务器上报的测试信息生成回执信息;
所述版本测试服务器,用于向所述测试机下发来自所述主控服务器的版本测试命令,以及,向所述主控服务器上报所述测试机反馈的测试信息;
所述测试机,用于根据接收的来自所述版本测试服务器的版本测试命令进行软硬件版本的测试,并向所述版本测试服务器反馈所述测试信息。
3.根据权利要求2所述的系统,其特征在于:
所述控制命令还包括完整流程命令;
所述主控服务器,还用于将所述完整流程命令对应下发至所述版本构建服务器,以及在接收所述版本构建服务器上报的所述构建信息后,向所述版本测试服务器下发所述版本测试命令。
4.根据权利要求1所述的系统,其特征在于:
所述控制命令还包括版本提交命令,所述主控服务器,还用于根据所述版本提交命令将当前软硬件版本提交至目标路径。
5.根据权利要求1所述的系统,其特征在于:
所述主控服务器,具体用于根据本地输入的所述请求或者接收客户端输入的所述请求或者接收终端发送的所述请求生成所述控制命令。
6.根据权利要求1所述的系统,其特征在于:
所述版本构建机包括多系统的版本构建机;
所述版本构建服务器,具体用于根据当前构建版本的类型和当前类型版本构建机器的使用情况选择具体的版本构建机器进行版本构建。
7.根据权利要求2所述的系统,其特征在于:
所述测试机包括多系统的测试机;
所述版本测试服务器,具体用于接收所述主控服务器发送的所述版本测试命令,为所述版本测试命令分配测试机,将所述版本测试命令下发至对应的测试机。
8.根据权利要求1-7任一权利要求所述的系统,其特征在于:
所述主控服务器包括逻辑控制模块、基于互联网的控制模块和基于短信的控制模块,其中:
所述基于互联网的控制模块,用于接收用户通过客户端输入的用户请求或业务请求,对所述用户请求或所述业务请求进行解析后发送给所述逻辑控制模块,所述业务请求包括二次开发业务请求;
所述基于短信的控制模块,用于接收用户通过终端发送的短信,对所述短信进行解析后发送给所述逻辑控制模块;
所述逻辑控制模块,用于接收本地输入的所述用户请求、所述基于互联网的控制模块发送的解析结果或基于短信的控制模块发送的解析结果,根据所述基于互联网的控制模块发送的解析结果、基于短信的控制模块发送的解析结果或本地输入的所述用户请求实时或定时生成所述控制命令。
9.根据权利要求8所述的系统,其特征在于:
所述逻辑控制模块,还用于为所述用户请求或业务请求分配标识,以及根据所述标识对应保存用户上传的文件或所述主控服务器生成的所述回执信息。
10.一种版本的构建方法,其特征在于,该方法包括:
主控服务器根据输入的请求生成控制命令;
当所述控制命令为版本构建命令时,所述主控服务器向版本构建服务器发送所述控制命令,接收所述版本构建服务器根据所述控制命令上报的构建信息,并根据所述构建信息生成回执信息;
所述版本构建服务器向版本构建机下发来自所述主控服务器的版本构建命令或完整流程命令,以及向所述主控服务器上报所述版本构建机反馈的构建信息;
所述版本构建机根据接收的来自所述版本构建服务器的版本构建命令或完整流程命令进行软硬件版本的构建,并向所述版本构建服务器反馈所述构建信息;
其中,所述版本构建机是一个机器群落,所述机器群落包含windows版本构建机群、mac版本构建机群和linux版本构建机群,能够并发进行windows版本、mac版本和linux版本的构建。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
当所述控制命令为版本测试命令时,所述主控服务器向版本测试服务器发送所述控制命令,接收所述版本测试服务器根据所述控制命令上报的测试信息,并根据所述测试信息生成回执信息;或者
当所述控制命令为完整流程命令时,所述主控服务器向版本构建服务器发送所述控制命令,接收所述版本构建服务器根据所述控制命令上报的构建信息后向所述版本测试服务器发送所述控制命令,接收所述版本测试服务器根据所述控制命令上报的测试信息,并根据所述测试信息生成回执信息;或者
当所述控制命令为版本提交命令时,所述主控服务器根据所述控制命令将当前软硬件版本提交至目标路径。
12.根据权利要求10或11所述的方法,其特征在于:
所述主控服务器根据输入的请求生成控制命令包括:
所述主控服务器根据本地输入或远端输入的用户请求生成所述控制命令;或者,所述主控服务器根据远端输入的业务请求生成所述控制命令,所述业务请求包括二次开发业务请求。
CN201210063527.XA 2012-03-12 2012-03-12 版本的构建系统及方法 Active CN102662655B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210063527.XA CN102662655B (zh) 2012-03-12 2012-03-12 版本的构建系统及方法
US14/371,842 US20140351792A1 (en) 2012-03-12 2012-06-20 Version Construction System and Method
EP12871073.8A EP2790100A4 (en) 2012-03-12 2012-06-20 SYSTEM AND METHOD FOR VERSION CONSTRUCTION
PCT/CN2012/077219 WO2013135016A1 (zh) 2012-03-12 2012-06-20 版本的构建系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210063527.XA CN102662655B (zh) 2012-03-12 2012-03-12 版本的构建系统及方法

Publications (2)

Publication Number Publication Date
CN102662655A CN102662655A (zh) 2012-09-12
CN102662655B true CN102662655B (zh) 2018-09-25

Family

ID=46772156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210063527.XA Active CN102662655B (zh) 2012-03-12 2012-03-12 版本的构建系统及方法

Country Status (4)

Country Link
US (1) US20140351792A1 (zh)
EP (1) EP2790100A4 (zh)
CN (1) CN102662655B (zh)
WO (1) WO2013135016A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426186A (zh) * 2015-11-13 2016-03-23 上海斐讯数据通信技术有限公司 通过服务器获取终端上应用软件更新数据的方法和系统
CN108206848A (zh) * 2016-12-19 2018-06-26 深圳中兴网信科技有限公司 构建soa服务版本的方法及装置
DE102019103195A1 (de) * 2019-02-08 2020-08-13 Liebherr-Werk Biberach Gmbh Vorrichtung und Verfahren zum Steuern und/oder Konfigurieren einer Baumaschine
CN111651197B (zh) * 2020-07-01 2023-04-28 中国银行股份有限公司 一种自动搬库方法和装置
CN114077576A (zh) * 2020-08-19 2022-02-22 长鑫存储技术有限公司 晶圆修补方法、装置、设备及存储介质
CN112256309A (zh) * 2020-11-12 2021-01-22 上海达梦数据库有限公司 一种程序升级方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145001A (en) * 1995-05-19 2000-11-07 Telogy Networks, Inc. Network management gateway
CN101436157A (zh) * 2007-11-13 2009-05-20 上海未来宽带技术及应用工程研究中心有限公司 一种在程序测试流程中程序bug的处理方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163805A (en) * 1997-10-07 2000-12-19 Hewlett-Packard Company Distributed automated testing system
US20040205730A1 (en) * 2001-06-11 2004-10-14 Week Jon J. System and method for building libraries and groups of computer programs
US6957366B1 (en) * 2001-09-28 2005-10-18 Bellsouth Intellectual Property Corporation System and method for an interactive web-based data catalog for tracking software bugs
US7243137B2 (en) * 2001-09-28 2007-07-10 Sun Microsystems, Inc. Remote system controller and data center and methods for implementing the same
US20070038982A1 (en) * 2005-08-11 2007-02-15 International Business Machines Corporation Method and process to automatically perform test builds or translated files for a software product
US8458661B2 (en) * 2006-03-31 2013-06-04 Ebay Inc. Distributed parallel build system
US20070167178A1 (en) * 2007-01-07 2007-07-19 Al-Harbi Mansour A Short Message Service (SMS) Parser
US8201148B2 (en) * 2007-03-05 2012-06-12 Sap Ag Guided development and testing for computer code
US20090164970A1 (en) * 2007-12-20 2009-06-25 At&T Knowledge Ventures, L.P. System for Managing Automated Report Versions
US9122460B2 (en) * 2008-08-28 2015-09-01 Red Hat, Inc. Application development using middleware platform
US8225281B1 (en) * 2009-02-04 2012-07-17 Sprint Communications Company L.P. Automated baseline deployment system
CN101593118B (zh) * 2009-02-24 2013-01-16 浪潮集团山东通用软件有限公司 一种软件升级的方法
CA2698066A1 (en) * 2009-07-31 2011-01-31 Nitobi Software Inc. System and method for remotely compiling multi-platform native applications for mobile devices
US20110289484A1 (en) * 2010-05-19 2011-11-24 Also Energy Method and System for Script Processing for Web-Based Applications
KR101132560B1 (ko) * 2010-06-09 2012-04-03 강원대학교산학협력단 로봇 소프트웨어 컴포넌트를 위한 시뮬레이션 기반 인터페이스 테스팅 자동화 시스템 및 그 방법
CN102255748B (zh) * 2011-06-27 2017-12-29 中兴通讯股份有限公司 自动化测试系统及方法、版本服务器、以及终端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145001A (en) * 1995-05-19 2000-11-07 Telogy Networks, Inc. Network management gateway
CN101436157A (zh) * 2007-11-13 2009-05-20 上海未来宽带技术及应用工程研究中心有限公司 一种在程序测试流程中程序bug的处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Understanding a Team Foundation Build System;anonymous;《https://msdn.microsoft.com/cs-cz/library/dd793166(v=vs.100).aspx》;20090527;第1-6页 *

Also Published As

Publication number Publication date
US20140351792A1 (en) 2014-11-27
EP2790100A1 (en) 2014-10-15
CN102662655A (zh) 2012-09-12
EP2790100A4 (en) 2015-09-30
WO2013135016A1 (zh) 2013-09-19

Similar Documents

Publication Publication Date Title
CN102662655B (zh) 版本的构建系统及方法
CN106844198A (zh) 一种分布式调度自动化测试平台及方法
CN102693183B (zh) 一种实现软件自动化测试的方法及系统
CN105677556B (zh) 一种调度自动化主站系统软件测试方法及其平台
CN109192248A (zh) 基于云平台的生物信息分析系统、方法及云计算平台系统
CN103002490B (zh) 一种业务仿真测试系统及其实现方法
CN106933729A (zh) 一种基于云平台的测试方法和系统
CN104898573A (zh) 一种基于云计算的数控系统数据采集及处理方法
CN102141962A (zh) 一种安全性分布式测试框架系统及其测试方法
CN102411540B (zh) 基于工作流的通用软件测试过程自动化管理系统
CN107370796A (zh) 一种基于Hyper TF的智能学习系统
CN107807815A (zh) 分布式处理任务的方法和装置
CN108876286A (zh) 一种面向航迹处理与电磁分析的分布式实时处理系统
CN107423223A (zh) 测试管理系统
CN108345449A (zh) 一种信息处理方法、装置、存储介质及计算机设备
CN109865292A (zh) 一种基于游戏引擎的游戏资源构建方法和装置
CN109800081A (zh) 一种大数据任务的管理方法及相关设备
CN104636250B (zh) 云端自动测试系统及方法
CN111798196A (zh) 一种基于SpringBoot框架的敏捷开发管理系统
CN108243238B (zh) 一种性能数据的采集方法及装置
CN112884455A (zh) 任务计划处理系统、方法和装置
CN116107913B (zh) 单节点服务器的测试控制方法、装置及系统
CN115794659B (zh) 一种cfd软件的分布式并行测试方法、装置、设备及介质
CN112527577A (zh) 一种服务器能耗自动化测试和采集方法、系统及介质
CN1327656C (zh) 升级系统设备的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180627

Address after: 210012 No. 68, Bauhinia Road, Ningnan street, Yuhuatai District, Nanjing, Jiangsu

Applicant after: Nanjing Zhongxing Software Co., Ltd.

Address before: 518057 Nanshan District high tech Industrial Park, Shenzhen, Guangdong, Ministry of justice, Zhongxing Road, South China road.

Applicant before: ZTE Corporation

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191104

Address after: 518057 Nanshan District science and Technology Industrial Park, Guangdong high tech Industrial Park, ZTE building

Patentee after: ZTE Communications Co., Ltd.

Address before: 210012 Nanjing, Yuhuatai District, South Street, Bauhinia Road, No. 68

Patentee before: Nanjing Zhongxing Software Co., Ltd.

TR01 Transfer of patent right