本发明涉及计算机领域,特别是涉及一种软件编译方法及系统。
背景技术:
计算机技术的飞速发展,给软件行业带来了很大的发展空间和巨大的发展契机。随着计算机软件系统日趋复杂、规模越来越大,软件开发成本不断提高,软件开发所面临的风险也随之加大。
随着电子产品如电视、电脑、手机等不断普及,用户的需求越来越多样化、个性化。当用户需要修改一种产品的功能时,需要修改相应程序的软件代码。现有技术中,接收客户提交的软件需求信息的单位与实际软件代码编译的单位一般不同。软件代码编译单位的代码一般不外泄,需求信息接收单位,无法直接编译代码。当客户提交需求信息给到a单位,a单位将需求信息反馈到b单位,进行编译,b单位编译结束后将编译结果再返回至a单位,并同客户确认。如此反复,导致软件需求修改的环节较多,周期长,工作效率低。
技术实现要素:
鉴于上述状况,有必要针对现有技术中软件需求修改效率低的问题,提供一种软件编译方法及系统。
一种软件编译方法,包括:
利用第一终端将配置文件发送至对应的编译服务器;
所述编译服务器根据所述配置文件修改最新存储的代码,得到新的代码;
所述编译服务器运行所述新的代码获得编译结果,并将所述编译结果发送至所述第一终端。
上软件编译方法,其中,所述根据所述配置文件修改所述编译服务器中最新存储的代码的步骤包括:
提取所述配置文件的配置信息,并获取所述编译服务器中最新存储的代码;
将所述最新存储的代码中的原配置信息替换为所述配置文件的配置信息,得到新的代码。
上软件编译方法,其中,所述软件编译方法的步骤还包括:
利用第二终端将修改后的代码发送至对应的编译服务器中进行存储。
上软件编译方法,其中,所述编译服务器运行所述新的代码的步骤之后还包括:
所述第一终端显示所述编译服务器的代码运行过程。
上软件编译方法,其中,所述配置文件为根据用户提供的软件需求修改配置条目后的文件。
本发明还提供了一种软件编译系统,包括第一终端和编译服务器,其中,
所述第一终端包括:
第一发送模块,用于将配置头文件发送至对应的编译服务器;
所述编译服务器包括:
接收模块,用于接收所述第一终端发送的配置文件;
修改模块,用于根据所述配置文件修改所述编译服务器中最新存储的代码,得到新的代码;
运行模块,用于运行所述新的代码以获得编译结果;
第二发送模块,用于将所述编译结果发送至所述第一终端。
上述软件编译系统,其中,所述修改模块包括:
提取模块,用于提取所述配置文件的配置信息;
获取模块,用于获取所述编译服务器中最新存储的代码;
修改子模块,用于将所述最新存储的代码中的原配置信息替换为所述配置文件的配置信息,得到新的代码。
上述软件编译系统,其中,还包括第二终端,所述第二终端包括:第三发送模块,用于发送更新后的代码至所述编译服务器;
所述编译服务器还包括:存储模块,用于存储第二终端发送的代码。
上述软件编译系统,其中,所述第一终端还包括:
显示模块,用于显示所述编译服务器的代码运行过程。
上述软件编译系统,其中,所述配置文件为根据用户提供的软件需求修改配置条目后的文件。
本发明中,用户根据客户提供的需求信息在第一终端修改配置文件,并提交,发送至对应的编译服务器中,编译服务器根据配置文件修改代码,并运行修改后的代码,得到满足客户需求的软件。由于配置文件和软件代码设置在不同的设备中,用户在第一终端无法看见代码,保证了代码的安全性,且用户可以在第一终端上将配置文件提交至编译服务器后,即可完成软件需求的修改,提高了软件需求修改的效率。
附图说明
图1为本发明第一实施例提供的软件编译方法;
图2为第一实施例中的配置文件的修改规范;
图3为本发明第二实施例提供的软件编译方法;
图4为本发明第三实施例提供的软件编译系统的结构框图;
图5为第三实施例中第一终端的结构框图;
图6为第三实施例中编译服务器的结构框图;
图7为本发明第四实施例提供的软件编译系统的结构框图;
图8为第四实施例中第二终端的结构框图;
图9为第四实施例中编译服务器的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
请参阅图1,为本发明第一实施例中软件编译方法,包括步骤s11~s13。
步骤s11,利用第一终端将配置文件发送至对应的编译服务器。所述配置文件为根据用户提供的软件需求修改配置条目后的文件。
上述步骤中,所述编译服务器设于不同于所述第一终端的终端设备中。所述第一终端一般为接收客户需求信息的用户所使用的电脑、平板等。所述编译服务器所在的终端设备一般为软件代码的设置人员使用或维护的电脑、平板等,一个终端设备可以设有一个编译服务器,也可以设有多个编译服务器。
该第一终端预存有一个或多个配置文件,每一个配置文件对应客户不同性质的软件需求信息,例如不同的板卡以及不同的软件功能对应不同的配置文件。每一个配置文件对应一个编译服务器。用户根据客户提交的软件需求后,在第一终端中打开相应的配置文件,可根据客户提交的软件需求对该配置文件进行编辑或修改,并利用第一终端将编辑或修改后的配置文件发送至对应的编译服务器中。用户可按照预设的修改规范修改配置文件中约定的配置条目。例如根据客户的软件需求,找到对应的配置model_id,即找到该软件需求信息对应的配置文件,打开配置文件在配置区域修改配置条目。配置区域的内容可按照给定的修改规范修改,如附图2中所示的某个型号的板卡的部分修改规范。
步骤s12,所述编译服务器接收所述第一终端发送的所述配置文件,并根据所述配置文件修改所述编译服务器中最新存储的代码,得到新的代码。
上述步骤中,所述根据所述配置文件修改代码的步骤具体包括步骤s121和s122。
步骤s121,所述提取所述配置文件的配置信息,并获取所述编译服务器中最新存储的代码。
每个编译服务器中设有分别存储配置文件和代码的存储空间即配置文件远程仓库和代码仓库。当用户在第一终端提交配置文件后,触发编译服务器从两个存储空间获取所述配置文件以及最新存储的代码。
步骤s122,将所述最新存储的代码中的原配置信息替换为所述配置文件的配置信息,得到新的代码。
步骤s13,所述编译服务器运行所述新的代码获得编译结果,并将所述编译结果发送至所述第一终端。
所述编译结果为完成满足客户需求的软件,当用户从第一终端输出编译后的软件,烧录至板卡中。在板卡中配置文件,根据配置实现用户要求的功能,以满足用的需求。
本实施例中,用户根据客户提供的需求信息在第一终端编辑或修改配置文件,并提交发送至配置文件对应的编译服务器中,编译服务器根据配置文件修改代码,并运行修改后的代码,得到满足客户需求的软件。由于软件代码的存储在不同于所述第一终端的终端设备中进行,用户在第一终端无法看见代码,保证了代码的安全性,且用户可以在第一终端只需要修改配置文件便可自行编译软件和修改软件需求,提高了软件编译和修改的效率。
可以理解的,可以在一个第一终端中设置多个配置文件,多个配置文件分别与终端设备的多个编译服务器一一对应。用户登录第一终端,分别对不同的配置文件进行编写或修改并提交,提交后的各个配置文件分别发送到对应的编译服务器中,进行修改代码并运行修改后的代码,得到多个满足客户需求的软件。当然,也可以在多个终端中分别设置配置文件,以供多个用户对软件进行编译或修改。当一个配置文件发送给编译服务器并完成编译后,若配置文件还需要修改,可再次修改发送至编译服务器,完成第二次软件需求修改。
请参阅图3,为本发明第二实施例中的软件编译方法,包括步骤s21-s26。
步骤s21,利用第一终端将配置文件发送至对应的编译服务器。
步骤s22,利用第二终端将代码发送至所述编译服务器进行存储。
第一终端中存储至少一个配置文件,每个配置文件对应终端设备中的一个编译服务器,第二终端设有与第一终端的配置文件一一对应的代码库,用于存放配置文件对应的代码。第一终端一般为接收客户需求信息的用户所使用的电脑、平板等。终端设备和第二终端一般为软件代码的设置人员使用或维护的电脑、平板等。
由于编译服务器中的代码要求稳定,所以代码编译人员在第二终端实时更新代码,并将更新后的稳定的代码推送到对应的编译服务器中进行存储。编译服务器触发编译的时候从本编译服务器中提取最新存储的代码到工作代码空间即可。
步骤s23,所述编译服务器接收所述配置文件,并提取所述配置文件的配置信息。
上书步骤中,编译服务器将接收的配置文件和代码文件,分别打包存储于所述编译服务器的配置文件远程仓库和代码仓库中。编译服务器触发编译时,从本编译服务器的配置文件远程仓库和代码仓库中获取最新修改或更新的配置文件和代码。
步骤s24,所述编译服务器获取最新存储的代码,并将所述最新存储的代码中的原配置信息替换为所述配置文件的配置信息,得到新的代码。
步骤s25,所述编译服务器运行所述新的代码。并且,所述编译服务器在运行所述新的代码时,第一终端通过宏控制在第一终端中显示代码的运行过程,以方便用户查看代码的运行进度。如果配置文件修改不规范时,代码运行中止,用户也可以在第一终端查看中止的步骤,方便确定代码运行中止的原因。
步骤s26,所述编译服务器将运行结果发送至所述第一终端。
本实施例中,代码编译人员实时编译或更新代码文件,并将最新的代码文件推送至相应的编译服务器中进行存储。当用户接受到客户的软件需求时,在第一终端中修改或编辑配置文件,并提交至对应的编译服务器中,编译服务器更新最新存储的代码,运行后发送至第一终端,完成软件需求的修改。避免了不必要的人员沟通,也能防止代码泄密,提高了软件修改和编译的效率和保证了代码的安全。
请参阅图4至图6,为本发明第三实施例中的软件编译系统。如图4所示,所述软件编译系统包括第一终端10和编译服务器20,所述服务器设置在独立于所述第一终端的终端设备中,其中,
如图5所示,所述第一终端10包括:
第一发送模块11,用于将配置头文件发送至对应的编译服务器;
如图6所示,所述编译服务器20包括:
接收模块21,用于接收所述第一终端发送的所述配置文件;
修改模块22,用于根据所述配置文件修改所述编译服务器中最新存储的代码,得到新的代码;
运行模块23,用于运行所述新的代码;
第二发送模块24,用于将运行结果发送至所述第一终端。
进一步的,如图4所示,所述第一终端还包括:
显示模块12,用于显示所述编译服务器的代码运行过程。
进一步的,所述修改模块包括:
提取模块,用于提取所述配置文件的配置信息;
获取模块,用于获取所述编译服务器中最新存储的代码;
修改子模块,用于将所述最新存储的代码中的原配置信息替换为所述配置文件的配置信息,得到新的代码。
进一步的,所述配置文件为根据用户提供的软件需求修改配置条目后的文件。当用户的软件需求更改时,在第一终端修改与用户的软件需求对应的配置文件。当第一终端发送修改后的配置文件至对应的编译服务器后,编译服务器接收所述配置文件存储于配置文件远程仓库中,并启动编译,从配置文件远程仓库获取所述配置文件,且根据所述配置文件修改所述编译服务器中最新存储的代码,得到新的代码,所述编译服务器运行所述新的代码,并将运行结果发送至第一终端,即完成软件的编译。由于编译服务器所在的终端设备和第一终端为两个独立的设备,既能实现用户自行修改软件的目的,也能保证代码不会泄密。
请参阅图7至图9,为本发明第四实施例中的软件编译系统,其与第三实施例中的软件编译系统的结构基本相同,不同之处在于,所述软件编译系统还包括第二终端30,所述第二终端设置有与所述编译服务器对应的代码。如图8所示所述第二终端30包括:
第三发送模块31,用于将修改后的代码发送至对应的编译服务器20;
如图9所示,所述编译服务器20还包括:存储模块25,用于将所述第二终端30发送的代码存储在编译服务器的代码仓库中。
本发明实施例提出的软件编译系统的技术特征和技术效果与本发明实施例提出的方法相同,在此不予赘述。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。