应用部署方法和服务器的制造方法_2

文档序号:9261226阅读:来源:国知局
,使得各业务服务器将该测试用例和该应用一并存入上述部署目录中,各业务服务器自动启动运行该测试用例对该应用进行测试。该自动部署和测试过程中,无需人工干预,避免人工部署、测试容易出错的问题,提高应用部署和测试效率的同时,保证了应用部署和测试的可靠性。
[0082]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0083]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0084]图1是本公开一示例性实施例示出的应用场景示意图;
[0085]图2是根据一示例性实施例示出的一种应用部署方法实施例一的流程图;
[0086]图3是根据一示例性实施例示出的一种应用部署方法实施例二的流程图;
[0087]图4是根据一示例性实施例示出的一种应用部署方法的实施例三的流程图;
[0088]图5是根据一示例性实施例示出的一种应用部署方法的实施例四的流程图;
[0089]图6是根据一示例性实施例示出的一种应用部署方法的实施例五的流程图;
[0090]图7是根据一示例性实施例示出的一种应用部署方法的信令交互图;
[0091]图8是根据一示例性实施例示出的一种应用部署管理服务器实施例一的框图;
[0092]图9是根据一示例性实施例示出的一种应用部署管理服务器实施例二的框图;
[0093]图10是根据一示例性实施例示出的一种应用部署管理服务器实施例三的框图;
[0094]图11是根据一示例性实施例示出的一种应用部署业务服务器实施例一的框图;
[0095]图12是根据一示例性实施例示出的一种应用部署业务服务器实施例二的框图;
[0096]图13是根据一示例性实施例示出的一种应用部署管理服务器的框图;
[0097]图14是根据一示例性实施例示出的一种应用部署业务服务器的框图;
[0098]图15是根据一示例性实施例示出的一种应用部署管理服务器的框图;
[0099]图16是根据一示例性实施例示出的一种应用部署业务服务器的框图。
[0100]通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
【具体实施方式】
[0101]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0102]首先,先介绍本公开各实施例所适用的应用场景。
[0103]图1是本公开一示例性实施例示出的应用场景示意图,如图1所示,本公开各实施例提高的应用部署方法是适用于分布式系统中的应用分布式部署场景。该分布式系统中包括如图1所示的N个业务服务器和一个管理服务器,其中N为大于I的整数。其中,该管理服务器从功能上可以拆分为两个独立的服务器,分别为代码服务器和编译服务器。这两个服务器可以分别独立设置,也可以集成设置在一起构成上述管理服务器。由于该管理服务器的具体实现形式对本公开实施例的应用部署方法影响不大,因此,以下各实施例中除图2所示实施例中特别说明外,均以管理服务器整体的形式来描述,不具体区分为代码服务器和编译服务器。
[0104]下面结合各个具体的实施例对本公开应用部署方法进行详细介绍。
[0105]图2是根据一示例性实施例示出的一种应用部署方法实施例一的流程图,如图2所示,本实施例涉及的应用部署方法可以由图1所示中的管理服务器来执行。具体的,该应用部署方法包括以下步骤:
[0106]在步骤SlOl中,接收应用部署指令,获取待部署应用,所述待部署应用中包括源代码和配置文件,所述配置文件中包含所述待部署应用的部署目录。
[0107]在步骤S102中,获取与所述待部署应用对应的测试用例。
[0108]在步骤S103中,对所述待部署应用进行编译。
[0109]在步骤S104中,将编译后的待部署应用和所述测试用例发送给各业务服务器,以使所述各业务服务器将所述编译后的待部署应用和所述测试用例存入到所述部署目录下,并运行所述测试用例对所述编译后的待部署应用进行测试。
[0110]目前,各个应用服务提供商总是不断推陈出新各种各样的网络应用,比如目前用于人们即时通信的微信,论坛、微博等等。每当应用的开发人员完成相关应用的开发之后,需要将该应用部署在上述分布式系统中的业务服务器中,以提供给广大用户访问使用。
[0111]具体来说,应用开发人员可以将开发完成的应用发送到分布式系统中的管理服务器中。
[0112]本实施例中,以管理服务器包括图1所示的代码服务器和编译服务器对管理服务器的工作过程进行细致说明。但是,可以理解的是,该管理服务器也可以集成上述两个服务器的功能,作为唯一的整体执行本实施例中的工作过程。
[0113]在具体介绍本实施例前,首先,值得说明的是,上述步骤S102和步骤S103之间不具有严格的时序限定关系,即既可以先获取测试用例,之后再对待部署应用进行编译;也可以先对待部署应用进行编译,再获取测试用例;还可以在获取测试用例的同时,对待部署应用进行编译,此时分别由上述管理服务器的两个进程或者分别由上述代码服务器和编译服务器执行不同的操作。
[0114]具体来说,本实施例中,代码服务器可以用于接收应用开发人员发送的应用部署指令,该应用部署指令中包括已经开发完成的待部署应用。因此,代码服务器接收并存储应用开发人员发送的待部署应用。运维人员登录编译服务器后,通过与代码服务器进行交互,可以从代码服务器中获取当前需要部署的应用即待部署应用。
[0115]本实施例中,该待部署应用中除了包含有该应用的源代码之外,还包括该应用的配置文件。
[0116]其中,应用的配置文件中包含应用程序特定的设置。该文件包含公共语言运行库读取的配置设置(如程序集绑定策略、远程处理对象等等),以及应用程序可以读取的设置。
[0117]本实施例中,该配置文件中包含有该待部署应用在各业务服务器中的部署目录,该部署目录可以预先设定。
[0118]如前所述,为了保证应用在各业务服务器中部署之后能够正常运行,从而为广大用户提供相应的服务,需要预先对该应用进行测试,比如需要对该应用进行业务服务器基础环境测试、单元测试等等。
[0119]其中,单元测试(unit testing):是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。其中,由于该应用在开发过程中,很可能是基于某些公共组件、某些第三方组件或者是某些架构进行开发的。为了使得该应用能够正常运行使用,需要部署该应用的各业务服务器能够支持这些公共组件、第三方组件、架构,即各业务服务器需要提供该应用所必须的基础环境。因此,需要对各业务服务器是否提供这些基础环境进行测试。
[0120]为了实现对该应用的自动测试,本实施例中,管理服务器,具体是上述代码服务器需要先获得与该应用对应的测试用例,其中,该测试用例便包括用于进行单元测试的单元测试用例,以及用于对各业务服务器的基础运行环境进行测试的基础环境测试用例。
[0121]值得说明的是,上述测试用例的生成方式不是本公开所要保护的重点,因此不过多描述该测试用例的生成过程。而在实际中,测试用例一般是由专门的应用测试人员预先编写设计完成的。因此,本实施例中,假设与上述待部署的应用的测试用例进行设计完成并存储在一个比如测试用例数据库,则代码服务器可以查询获得与该应用对应的测试用例。比如说,代码服务器通过以该应用的标识信息为索引在测试用例数据库中查询匹配的测试用例。相应的,可以理解的是,应用开发人员除了将该待部署应用发送给代码服务器外,还携带有该应用的标识信息,比如该应用的名称等。
[0122]从而,在代码服务器获得了与该待部署的应用对应的测试用例之后,将该待部署应用与该测试用例关联存储。
[0123]在实际的应用部署过程中,需要先将待部署的应用进行编译,编译通过后才进行向各业务服务器中部署的处理。因此,在管理服务器以独自的一个整体表示的情况下,管理服务器在接收到运维人员针对该待部署应用的编译指令之后,进行该应用的编译过程。其中,编译是指利用编译程序从源语言编写的源程序(源代码)产生目标程序的过程。
[0124]在管理服务器以上述代码服务器和编译服务器表示的情况下,编译服务器需从代码服务器中获得该待部署应用以及对应的测试用例,进而对该应用进行编译处理。具体的,该代码服务器可以在获得与该待部署应用对应的测试用例之后,自动触发向编译服务器发送该应用和该测试用例;或者,编译服务器可以周期性地向代码服务器发送查询请求,以查询代码服务器中是否存在需要部署的应用,如果有,则该代码服务器反馈给编译服务器相应的待部署应用以及对应的测试用例。
[0125]如果该待部署应用编译通过,则该编译服务器将该编译后的应用和对应的测试用例发送给各业务服务器,各业务服务器将接收到的应用和测试用例存储在该应用的配置文件中所描述的部署目录下,从而,各个业务服务器自动将该应用和测试用例均部署在相同的目录下,并启动运行该测试用例以完成对该应用能够正常运行的测试。如果测试通过,则部署完成,否则反馈给编译服务器告警提示,以使得运维人员对测试异常的业务服务器进行检测维护。
[0126]本实施例中,通过在应用的配置文件中设置该应用部署在分布式式系统的各业务服务器中的部署目录,使得各业务服务器自动部署该应用在该部署目录下,保证了该应用在所有业务服务器中的部署路径一致;而且,在获得与该应用对应的测试用例之后,将测试用例也发送给各业务服务器,使得各业务服务器将该测试用例与该应用一并存入上述部署目录中,各业务服务器自动启动运行该测试用例对该应用进行测试。该自动部署和测试过程中,无需人工干预,避免人工部署、测试容易出错的问题,提高应用部署和测试效率的同时,保证了应用部署和测试的可靠性。
[0127]图3是根据一示例性实施例示出的一种应用部署方法实施例二的流程图,本实施例对图2所示实施例中的步骤102给出另一种实现方式。如图3所示,本实施例提供的所述应用部署方法具体可以包括如下步骤:
[0128]在步骤201中,接收应用部署指令,获取待部署应用,所述应用部署指令中包括所述待部署应用的应用标识、版本号和描述文件。
[0129]在步骤202中,确定是否存在与所述待部署应用对
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1