一种远程编译软件的方法及系统与流程

文档序号:11250683阅读:613来源:国知局
一种远程编译软件的方法及系统与流程

本发明涉及软件自动编译和远程操控系统技术领域,特别涉及一种远程编译软件的方法及系统。



背景技术:

编译整个android系统软件版本,是一个非常耗时的过程(编译一个软件版本大概4小时左右),通常编译一个软件版本,工程师需要一直待在公司,在公司编译服务器上进行相应的操作。如果编译的软件版本需要在晚上进行编译,需要工程师一直待在公司编译软件版本,将会给工程师带来极大的不便。这种编译方式急需相应的解决方案。如果是在家通过pc远程连接公司的内部服务器进行编译相关的操作,这种方式对工程师非常方便,但公司电脑内部的资料和代码完全暴露在internet网络,存在着非常大的安全隐患。

因而现有技术还有待改进和提高。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的不足,提供一种远程编译软件的方法及系统,以解决现有不能进行远程编译软件而造成的编译人员的编译时间难以协调的问题。

为了解决上述技术问题,本发明所采用的技术方案如下:

一种远程编译软件的方法,其包括:

移动终端根据用户的操作生成编译指令并将所述编译指令发送至sever服务器,其中,所述编译指令携带编译服务器标识和待编译软件标识;

sever服务器接收所述编译指令,并根据所述编译服务器标识控制对应的编译服务器对相应的软件代码执行编译操作以生成相应的软件,其中,所述软件代码与所述待编译软件标识相对应;以及

获取所述编译操作对应的编译结果并返回至移动终端。

所述远程编译软件的方法,其中,所述sever服务器获取所述编译指令携带的编译服务器标识和待编译软件标识,并根据所述编译服务器标识控制其对应的编译服务器对所述待编译软件标识对应的软件执行编译操作具体包括:

所述sever服务器获取所述编译指令携带的编译服务器标识,并根据所述编译服务器标识查找到对应的编译服务器以将所述编译指令转发给所述编译服务器;

所述编译服务器获取所述待编译软件标识,并根据所述待编译软件标识在版本管理服务器中查找其对应的软件代码;以及

同步查找到的软件代码并对所述软件代码执行编译操作以生成相应的软件。

所述远程编译软件的方法,其中,所述移动终端根据用户的操作生成编译指令并将所述编译指令发送至sever服务器,其中,所述编译指令携带编译服务器标识和待编译软件标识具体包括:

移动终端接收用户选择编译服务器和待编译软件的操作,并获取所述操作对应的编译服务器标识和待编译软件标识;

根据所述编译服务器标识和待编译软件标识生成编译指令,并将所述编译指令通过反向代理服务器发送至sever服务器。

所述远程编译软件的方法,其中,所述移动终端根据用户的操作生成编译指令并将所述编译指令发送至sever服务器,其中,所述编译指令携带编译服务器标识和待编译软件标识之前还包括:

当server服务器接收到移动终端发送的查询指令时,server服务器检测预设的若干编译服务器的状态,其中,所述状态包括空闲状态和忙碌状态;

sever服务器获取处于空闲状态的编译服务器的编译服务器标识,并将获取到的所有编译服务器标识返回至移动终端。

所述远程编译软件的方法,其中,所述移动终端根据用户的操作生成编译指令并将所述编译指令发送至sever服务器,其中,所述编译指令携带编译服务器标识和待编译软件标识之前还包括:

移动终端根据用户的登录操作生成登录指令并将所述登录指令发送至sever服务器,其中,所述登录指令携带用户信息;

sever将所述用户信息与预设的用户信息数据库进行比对;

若比对成功,则执行所述登录指令并返回登录成功的信息至移动终端。

所述远程编译软件的方法,其中,所述获取所述编译操作对应的编译结果并返回至移动终端之后还包括:

当编译结果为编译成功时,移动终端通过反向代理服务器发送上传指令至server服务器;

所述server服务器根据所述上传指令控制编译服务器将编译成功后的软件上传至teleweb服务器。

所述远程编译软件的方法,其中,所述server服务器根据所述上传指令控制编译服务器将编译成功后的软件上传至teleweb服务器之后还包括:

当上传成功时,移动终端通过反向代理服务器发送通知指令至server服务器;

所述server服务器根据所述通知指令控制邮件服务器将上传成功的信息发送至预设的邮箱地址。

一种远程编译软件的系统,其包括:

移动终端,用于根据用户的操作生成的编译指令并将所述编译指令发送至sever服务器,其中,所述编译指令携带编译服务器标识和待编译软件标识;

sever服务器,用于接收所述编译指令,并根据所述编译服务器标识控制对应的编译服务器对相应的软件代码执行编译操作以生成相应的软件,其中,所述软件代码与所述待编译软件标识相对应;以及

获取所述编译操作对应的编译结果并返回至移动终端。

所述远程编译软件的系统,其还包括:

反向代理服务器,用于将移动终端发送的指令转发给sever服务器或者将sever服务器发送的指令转发给移动终端。

有益效果:与现有技术相比,本发明提供了一种远程编译软件的方法及系统,所述方法包括:移动终端根据用户选择的编译服务器和待编译软件生成编译指令并将编译指令发送至server服务器中,server服务器根据所述编译指令查找到对应的编译服务器以使得所述编译服务器编译所述待编译软件,然后将编译结果通过server服务器返回至移动终端以告知用户。本发明通过移动终端与sever服务器建立连接,并且sever服务器根据移动终端的编译指令控制编译服务器执行相应的编译操作,实现软件版本的远程编译,从而使得编译人员可以随时随地实现远程操作编译过程。

附图说明

图1为本发明提供的远程编译软件的方法较佳实施例的流程图。

图2为本发明提供的远程编译软件的系统的结构原理图。

具体实施方式

本发明提供一种远程编译软件的方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

终端设备可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。

下面结合附图,通过对实施例的描述,对发明内容作进一步说明。

请参照图1,图1为本发明提供的远程编译软件的方法的较佳实施例的流程图。所述方法包括:

s100、移动终端根据用户的操作生成编译指令并将所述编译指令发送至sever服务器,其中,所述编译指令携带编译服务器标识和待编译软件标识;

具体地,所述sever服务器指的是系统的核心服务器,其负责处理移动终端的请求并根据请求信息协调编译服务器。所述编译服务器指的是用于同步软件代码以及编译软件版本的服务器,其可以为若干台。所述编译服务器标识指的是用于唯一标识每台编译服务器的信息,其可以是为每一编译服务器预先设置的编号,也可以为编译服务器的设备标识等。通过所述编译服务器标识,所述sever服务器可以查找到唯一对应的编译服务器,以执行后续的编译工作。所述待编译软件标识指的是需要编译的软件版本标识,其可以为软件名称、编号等。用户通过在移动终端的选择界面选择需要编译的软件以便后续对所选择的软件进行编译。

在本实施例中,由于编译系统中存在若干台编译服务器,而每台编译服务器只能执行一个软件的编译工作,因此在移动终端发送编译指令之前还包括一个编译服务器的状态查询过程,这样用户可以根据所述若干个编译服务器的状态直接选择可用的编译服务器进行编译。示例性的,所述编译服务器的状态查询过程具体可以包括:

s01、当server服务器接收到移动终端发送的查询指令时,server服务器检测预设的若干编译服务器的状态,其中,所述状态包括空闲状态和忙碌状态;

s02、sever服务器获取处于空闲状态的编译服务器的编译服务器标识,并将获取到的所有编译服务器标识返回至移动终端。

具体的来说,在所述步骤s01中,所述编译服务器的状态指的是编译服务器的使用状态,其包括空闲状态和忙碌状态。所述空闲状态指的是编译服务器未执行编译操作,即其处于未使用状态,此时编译服务器可以接收编译任务。所述忙碌状态指的是编译服务器正在执行编译操作,即其处于使用状态,此时编译服务器不可以接收新的编译任务。在所述步骤s02中,所述预设的若干编译服务器指的是编译系统中包含的所有编译服务器。所述sever服务器接收到所述查询指令后,依次检测所述若干个编译服务器的状态,若为空闲状态,则获取所述编译服务器的标识;若为忙碌状态,则丢弃所述编译服务器。直至检测完所有的编译服务器,并将获取到的所有编译服务器标识返回至移动终端。这样,移动终端可以通过接收到的所有编译服务器标识确定可用的编译服务器,并将可用的编译服务器显示给用户,以供用户选择,从而提高编译效率,避免了重复请求编译服务器。

在本发明的另一个实施例中,为了保障核心服务器server内部数据的安全,在移动终端与server建立连接时需对移动终端的用户信息进行验证,因此所述步骤s100之前还包括一个登录验证的过程:

m1、移动终端根据用户的登录操作生成登录指令并将所述登录指令发送至sever服务器,其中,所述登录指令携带用户信息;

m2、sever将所述用户信息与预设的用户信息数据库进行比对;

m3、若比对成功,则执行所述登录指令并返回登录成功的信息至移动终端。

具体的来说,所述用户信息指的是根据用户的登录操作中输入的账号、密码等生成的信息。相对应的,在用户信息数据库中存储有预设的用户信息以对用户输入的用户信息进行比对。当用户登录时输入的用户信息与所述预设的用户信息一致时,说明当前移动终端可以接入所述编译系统而与sever服务器建立连接;当不一致时,说明当前输入的用户信息有误,或者为不合法的用户信息,此时,所述移动终端无法与sever服务器建立连接。

示例性的,所述移动终端根据用户的操作生成编译指令并将所述编译指令发送至sever服务器,其中,所述编译指令携带编译服务器标识和待编译软件标识具体可以包括:

s101、移动终端接收用户选择编译服务器和待编译软件的操作,并获取所述操作对应的编译服务器标识和待编译软件标识;

s102、根据所述编译服务器标识和待编译软件标识生成编译指令,并将所述编译指令通过反向代理服务器发送至sever服务器。

具体的来说,所述反向代理服务器指的是用于连接移动终端与核心服务器之间的服务器,例如,其可以为nginx反向代理服务器。其可以作为编译系统内部和外部因特网之间的接入点,让internet网络能够访问到公司内部nginx反向代理服务器,并将internet接收到的请求转发到内部server服务器,同时反向代理服务器也能够访问外网internet,将内部server服务器处理后的消息转发到internet网络。反向代理(reverseproxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给internet上请求连接的客户端。同时,通过反向代理服务器可以避免公司内部真正的服务器被internet网络攻击,公司内部服务器的ip地址对外部internet是未知的,只是通过nginx做为代理服务器,从而保证公司内部服务器数据的安全性。

s200、sever服务器接收所述编译指令,并根据所述编译服务器标识控制对应的编译服务器对相应的软件代码执行编译操作以生成相应的软件,其中,所述软件代码与所述待编译软件标识相对应。

具体地,sever服务器获取所述编译指令携带的编译服务器标识和待编译软件标识,根据所述编译服务器标识查找到对应的编译服务器并根据所述待编译软件标识查找到待编译的软件代码,以控制所述编译服务器执行相应的编译操作。

示例性的,所述sever服务器获取所述编译指令携带的编译服务器标识和待编译软件标识,并根据所述编译服务器标识控制其对应的编译服务器执行相应的编译操作具体可以包括:

s201、所述sever服务器获取所述编译指令携带的编译服务器标识,并根据所述编译服务器标识查找到对应的编译服务器以将所述编译指令转发给所述编译服务器;

s202、所述编译服务器获取所述待编译软件标识,并根据所述待编译软件标识在版本管理服务器中查找其对应的软件代码,以及

s203、同步查找到的软件代码并对所述软件代码执行编译操作以生成相应的软件。

具体的来说,在所述步骤s201中,server根据接收到的编译服务器标识在预设的若干个编译服务器中查找到对应的编译服务器,并将编译指令转发给查找到的编译服务器,以使得所述编译服务器执行便已操作。在所述步骤s202和s203中,编译服务器在对待编译软件进行编译之前,需将保存在版本管理服务其中的软件代码下载到本地,并在本地执行编译操作。因此首先要根据待编译软件标识查找到对应的软件代码。所述版本管理服务器用于管理和保存最相应的软件版本代码(软件代码),例如,其可以为git服务器。通过软件标识信息可以在所述版本管理服务器中查找其对应的软件代码,并将查找到的软件代码同步至编译服务器。

进一步,当软件代码下载并同步至编译服务器完毕后,用户可以通过移动终端浏览所述软件代码,若发现需要修改软件配置,还可以通过移动终端发送修改配置的指令,以使得编译服务器根据所述修改配置的指令执行修改软件代码的操作。

s300、获取所述编译操作对应的编译结果并返回至移动终端。

具体地,所述编译结果指的是编译服务器器根据编译信息生成的结果信息,其包括编译报错的信息和编译成功的信息。当所述编译结果为编译报错的信息时,说明编译无法再继续下去,此时编译服务器将所述编译报错的信息经由sever服务器而返回至移动终端以告知移动终端处的编译人员编译出错。这样,编译人员可以根据所述报错信息查找原因,或者联系相应软件设计人员解决问题。当所述编译结果为编译成功的信息时,将所述编译成功的信息经由所述server服务器返回至移动终端,告知编译人员完成编译。

示例性的,所述获取所述编译操作对应的编译结果并返回至移动终端具体可以包括:

s301、sever服务器获取所述编译服务器生成的编译结果,并将所述编译结果发送至反向代理服务器;

s302、反向代理服务器将所述编译结果转发至所述移动终端。

s400、当编译结果为编译成功时,移动终端通过反向代理服务器发送上传指令至server服务器;

s500、所述server服务器根据所述上传指令控制编译服务器将编译成功后的软件上传至teleweb服务器。

具体地,所述移动终端接收到编译结果时,判断所述编译结果是否为编译成功的信息,若为编译成功的信息,则发送上传指令至反向代理服务器。所述反向代理服务器将所述上传指令转发至server服务器,server服务器根据所述上传指令从所述编译服务器中获取编译成功的软件版本,并将所述编译成功的软件版本上传至teleweb服务器中。

在本发明的另一个实施例中,在上传成功后,发送上传成功的信息至移动终端并获取预先导入的邮箱地址,将编译成功的信息以邮件形式发送至对应的测试人员,以使得测试人员对编译后的版本及时验证。因此,在所述步骤s500之后还可以包括:

s600、当上传成功时,移动终端通过反向代理服务器发送通知指令至server服务器;

s700、所述server服务器根据所述通知指令控制邮件服务器将上传成功的信息发送至预设的邮箱地址。

当然,在实际应用中,所述告知的形式还可以为短信、语音等,其不限与上述说明。

本发明还提供了一种远程编译软件的系统,如图2,其包括:

移动终端100,用于根据用户的操作生成的编译指令并将所述编译指令发送至sever服务器,其中,所述编译指令携带编译服务器标识和待编译软件标识;

sever服务器200,用于接收所述编译指令,并根据所述编译服务器标识控制对应的编译服务器对相应的软件代码执行编译操作以生成相应的软件,其中,所述软件代码与所述待编译软件标识相对应;以及

获取所述编译操作对应的编译结果并返回至移动终端。

所述远程编译软件的系统,其还包括:

反向代理服务器400,用于将移动终端发送的指令转发给sever服务器或者将sever服务器发送的指令转发给移动终端。

在本发明所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1