CN106844096A - 程序代码的处理方法和装置 - Google Patents

程序代码的处理方法和装置 Download PDF

Info

Publication number
CN106844096A
CN106844096A CN201611228769.4A CN201611228769A CN106844096A CN 106844096 A CN106844096 A CN 106844096A CN 201611228769 A CN201611228769 A CN 201611228769A CN 106844096 A CN106844096 A CN 106844096A
Authority
CN
China
Prior art keywords
code file
compiling
code
master server
uploaded
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.)
Pending
Application number
CN201611228769.4A
Other languages
English (en)
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.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information Technology 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 Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201611228769.4A priority Critical patent/CN106844096A/zh
Publication of CN106844096A publication Critical patent/CN106844096A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明提供一种程序代码的处理方法和装置,该方法包括:获取源代码文件;对源代码文件中的程序代码进行编译处理得到编译后的代码文件;检测编译后的代码文件中是否存在错误;若不存在,将编译后的代码文件上传至主服务器。本发明提供的程序代码的处理方法和装置,通过对源代码文件进行了统一管理和检测,使得上线的代码文件稳定性更强,错误率更低,提高了网络服务的稳定性。

Description

程序代码的处理方法和装置
技术领域
本发明涉及计算机领域,尤其涉及一种程序代码的处理方法和装置。
背景技术
随着网络技术的发展,用户对网络服务的全面性和稳定性的要求越来越高。网络服务具体通过代码开发人员研发出新的源代码,经过编译检测后上线至服务器来实现。为保证网络服务的稳定性,程序代码的管理越来越重要。
现有的程序代码经开发后,由研发人员自行搭建编译环境,生成编译文件后,直接进行上线,没有程序代码的管理措施。存在上线的编译文件对研发人员自行搭建编译环境依赖比较严重的问题。
发明内容
本发明提供一种图片检测方法和装置,用以解决现有的违规图片检测方法存在检测速度慢的问题。
本发明一方面提供一种程序代码的处理方法,包括:
获取源代码文件;
对所述源代码文件中的程序代码进行编译处理得到编译后的代码文件;
检测所述编译后的代码文件中是否存在错误;
若不存在,则将所述编译后的代码文件上传至主服务器。
如上所述的程序代码的处理,所述将所述编译后的代码文件上传至主服务器之前,所述方法还包括:
检测所述编译后的代码文件与所述主服务器中的备份代码文件是否一致;
则所述将所述编译后的代码文件上传至主服务器,包括:
当所述编译后的代码文件与所述主服务器中的备份代码文件不一致时,将所述编译后的代码文件上传至主服务器。
如上所述的程序代码的处理,所述方法还包括:
当所述编译后的代码文件上传完成,则控制从服务器根据所述主服务器中的所述编译后的代码文件进行更新。
如上所述的程序代码的处理,所述将所述编译后的代码文件上传至主服务器,包括:
根据所述编译后的代码文件的格式,将所述编译后的代码文件上传至与所述格式对应的主服务器的预设目录下进行存储。
如上所述的程序代码的处理,所述方法还包括:
检测是否存在第一从服务器更新所述编译后的代码文件失败;
若存在,则输出告警信息;所述告警信息用于指示所述第一从服务器更新失败。
下面介绍本发明实施例提供的一种图片检测装置,该装置与方法一一对应,用以实现上述实施例中的图片检测方法,具有相同的技术特征和技术效果,本发明对此不再赘述。
本发明另一方面提供一种程序代码的处理装置,包括:
获取模块,用于获取源代码文件;
编译模块,用于对所述源代码文件中的程序代码进行编译处理得到编译后的代码文件;
代码检测模块,用于检测所述编译后的代码文件中是否存在错误;
上线模块,用于在所述编译后的代码文件中不存在错误时,将所述编译后的代码文件上传至主服务器。
如上所述的程序代码的处理装置,还包括:
版本检测模块,用于检测所述编译后的代码文件与所述主服务器中的备份代码文件是否一致;
所述上线模块用于,在所述编译后的代码文件与所述主服务器中的备份代码文件不一致时,将所述编译后的代码文件上传至主服务器。
如上所述的程序代码的处理装置,还包括:
监控模块,用于当所述编译后的代码文件上传完成,则控制从服务器根据所述主服务器中的所述编译后的代码文件进行更新。
如上所述的程序代码的处理装置,所述上线模块具体用于,根据所述编译后的代码文件的格式,将所述编译后的代码文件上传至与所述格式对应的主服务器的预设目录下进行存储。
如上所述的程序代码的处理装置,所述监控模块还用于:
检测是否存在第一从服务器更新所述编译后的代码文件失败;
若存在,则输出告警信息;所述告警信息用于指示所述第一从服务器更新失败。
本发明提供的程序代码的处理方法和装置,在获取源代码文件后,对源代码文件中的程序代码采用统一的编译方式进行编译处理得到编译后的代码文件,然后对编译后的代码文件进行错误检测,在确定不存在错误时将编译后的代码文件上传至主服务器。通过对源代码文件进行了统一管理和检测,使得上线的代码文件稳定性更强,错误率更低,提高了网络服务的稳定性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的程序代码的处理方法实施例一的流程示意图;
图2为本发明提供的程序代码的处理方法实施例二的流程示意图;
图3为本发明提供的程序代码的处理装置实施例一的结构示意图;
图4为本发明提供的程序代码的处理装置实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一方面本发明提供一种程序代码的处理方法,图1为本发明提供的程序代码的处理方法实施例一的流程示意图,该方法的执行主体为程序代码的处理装置,该装置可以通过软件或硬件的方式实现,可直接集成在网站服务器中,本发明对此不做限定。如图1所示,该方法包括:
S101、获取源代码文件;
S102、对源代码文件中的程序代码进行编译处理得到编译后的代码文件;
S103、检测编译后的代码文件中是否存在错误;若否,则执行S104;
S104、将编译后的代码文件上传至主服务器。
具体的,在S101中,获取源代码文件的方式具体以为研发人员主动上传源代码文件,源代码文件具体为前端代码文件,通过将前端代码文件和后端代码文件分离,可提高网络服务的稳定性。
具体的,在S102中,在接收到研发人员上传的源代码文件后,可将源代码文件发送至统一的编译测试机中,由统一的编译测试机对源代码文件中的程序代码进行编译处理得到编译后的代码文件。通过采用统一的编译测试机进行编译,可以避免研发人员根据本地研发环境自行搭建编译平台进行编译,导致的不同版本的源代码采用不同的编译平台进行编译的问题。
具体的,在S103中,在得到编译后的代码文件后,将编译后的代码文件发送至统一的测试服务器中,由统一的测试服务器进行检测编译后的代码文件中是否存在错误。示例性的,测试服务器中按照代码文件的版本和文件列表进行展示,选择需要进行测试的版本进行测试。具体的,当测试服务器检测无错误则可认为是检测通过,还可以是测试服务器将检测结果呈现给用户,当接收到用户输入的检测通过信号后,认为编译后的代码文件检测通过。
具体的,在S104中,当检测编译后的代码文件中不存在错误时,将编译后的代码文件上传至主服务器,即上线。主服务器示例性的可以为进行网络服务或提供其他应用服务的服务器。通过在上线前进行了错误检测,以及统一的编译管理,使得上线的代码文件稳定性更强,错误率更低。
本发明提供的程序代码的处理方法,在获取源代码文件后,对源代码文件中的程序代码采用统一的编译方式进行编译处理得到编译后的代码文件,然后对编译后的代码文件进行错误检测,在确定不存在错误时将编译后的代码文件上传至主服务器。通过对源代码文件进行了统一管理和检测,使得上线的代码文件稳定性更强,错误率更低,提高了网络服务的稳定性。
进一步的,结合图1所示实施例,图2为本发明提供的程序代码的处理方法实施例二的流程示意图,如图2所示,该方法包括:
S201、获取源代码文件;
S202、对源代码文件中的程序代码进行编译处理得到编译后的代码文件;
S203、检测编译后的代码文件中是否存在错误;若否,则执行S204;
S204、检测编译后的代码文件与主服务器中的备份代码文件是否一致;若否,则执行S205;
S205、将编译后的代码文件上传至主服务器。
具体的,S201、S202、S203、S205分别与图1所示实施例中的S101、S102、S103、S104相同,本发明对此不再赘述。
具体的,在S204中,在将编译后的代码文件上传至主服务器之前,需检测编译后的代码文件与主服务器中的备份代码文件是否一致,当编译后的代码文件与主服务器中的备份代码文件一致时,则可能存在研发人员上传的源代码版本错误的问题,当编译后的代码文件与主服务器中的备份代码文件不一致时,则确保了上线的编译文件为新版本的编译文件。通过增加版本检测的步骤,进一步提高了网络服务的稳定性。
可选的,在上述任一实施例的基础上,程序代码的处理方法还包括:
当编译后的代码文件上传完成,则控制从服务器根据主服务器中的编译后的代码文件进行更新。
具体的,当检测到编译后的代码文件在主服务器上传完成后,控制从服务器根据主服务器中的编译后的代码文件进行更新。示例性的,主服务器与从服务器采用内容分发网络(Content Delivery Network,简称CDN)架构。通过采用CDN架构,将从服务器部署在相距较远的不同的物理位置处,通过中心平台的负载均衡,内容分发、调度等功模块,使得不同物理位置处的用户可就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
可选的,在上述任一实施例的基础上,将编译后的代码文件上传至主服务器的步骤,具体包括:
根据编译后的代码文件的格式,将编译后的代码文件上传至与格式对应的主服务器的预设目录下进行存储。
具体的,在将编译后的代码文件上传至主服务器的过程中,为进一步提高网络服务的稳定性,可增加版本管理和资源管理。示例性的,可根据编译后的代码文件的格式,将编译后的代码文件上传至与格式对应的主服务器的预设目录下进行存储。编译后的代码文件的格式包括css、html、js和img等。考虑到不同的主服务器配置不同,可根据编译后的代码文件的格式的不同,将编译后的代码文件存储在不同的主服务器中。通过将不同格式的文件存储在不同的主服务器中,可提高主服务器的访问流量、带宽和访问速度。
在具体存储在主服务器的过程中,将编译后的代码文件上传至主服务器的预设目录下,预设目录可根据编译后的代码文件的类型、研发部门、项目名称、研发时间等生成。示例性的,存储目录可以为“/金融事业部/平台(m/pc/app)/静态文件类型/项目名/”。通过为编译后的代码文件约定存储目录,可方便研发人员确定编译后的代码文件的版本,对代码文件进行维护以及版本管理。
可选的,在上述任一实施例的基础上,程序代码的处理方法还包括:
检测是否存在第一从服务器更新编译后的代码文件失败;
若存在,则输出告警信息;告警信息用于指示第一从服务器更新失败。
具体的,在各从服务器在根据主服务器更新编译后的代码文件进行更新时,需检测是否存在第一从服务器更新编译后的代码文件失败,若存在,则可通过弹出窗口、短消息等方式向用户输出告警信息;告警信息用于指示第一从服务器更新失败。
本发明另一方面还提供的一种程序代码的处理装置,该装置可以由软件/硬件实现,本发明对此不做限定。该装置与方法实施例一一对应,用以实现上述实施例中的程序代码的处理方法,具有相同的技术特征和技术效果,本发明实施例对此不再赘述。
图3为本发明提供的程序代码的处理装置实施例一的结构示意图。如图3所示,该装置包括:
获取模块301,用于获取源代码文件;
编译模块302,用于对源代码文件中的程序代码进行编译处理得到编译后的代码文件;
代码检测模块303,用于检测编译后的代码文件中是否存在错误;
上线模块304,用于在编译后的代码文件中不存在错误时,将编译后的代码文件上传至主服务器。
进一步地,在图3所示实施例的基础上,图4为本发明提供的程序代码的处理装置实施例二的结构示意图。如图4所示,程序代码的处理装置还包括:
版本检测模块3031,用于检测编译后的代码文件与主服务器中的备份代码文件是否一致;
上线模块304用于,在编译后的代码文件与主服务器中的备份代码文件不一致时,将编译后的代码文件上传至主服务器。
示例性的,程序代码的处理装置还包括:
监控模块,用于当编译后的代码文件上传完成,则控制从服务器根据主服务器中的编译后的代码文件进行更新。
示例性的,上线模块304具体用于,根据编译后的代码文件的格式,将编译后的代码文件上传至与格式对应的主服务器的预设目录下进行存储。
示例性的,监控模块还用于:
检测是否存在第一从服务器更新编译后的代码文件失败;
若存在,则输出告警信息;告警信息用于指示第一从服务器更新失败。
在本发明所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。另外,本发明所提供的几个实施例可以整体或部分的相互结合形成新的实施例,而这些新的实施例,仍属于本发明范围内。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种程序代码的处理方法,其特征在于,包括:
获取源代码文件;
对所述源代码文件中的程序代码进行编译处理得到编译后的代码文件;
检测所述编译后的代码文件中是否存在错误;
若不存在,则将所述编译后的代码文件上传至主服务器。
2.根据权利要求1所述的方法,其特征在于,所述将所述编译后的代码文件上传至主服务器之前,所述方法还包括:
检测所述编译后的代码文件与所述主服务器中的备份代码文件是否一致;
则所述将所述编译后的代码文件上传至主服务器,包括:
当所述编译后的代码文件与所述主服务器中的备份代码文件不一致时,将所述编译后的代码文件上传至主服务器。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当所述编译后的代码文件上传完成,则控制从服务器根据所述主服务器中的所述编译后的代码文件进行更新。
4.根据权利要求1或2所述的方法,其特征在于,所述将所述编译后的代码文件上传至主服务器,包括:
根据所述编译后的代码文件的格式,将所述编译后的代码文件上传至与所述格式对应的主服务器的预设目录下进行存储。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
检测是否存在第一从服务器更新所述编译后的代码文件失败;
若存在,则输出告警信息;所述告警信息用于指示所述第一从服务器更新失败。
6.一种程序代码的处理装置,其特征在于,包括:
获取模块,用于获取源代码文件;
编译模块,用于对所述源代码文件中的程序代码进行编译处理得到编译后的代码文件;
代码检测模块,用于检测所述编译后的代码文件中是否存在错误;
上线模块,用于在所述编译后的代码文件中不存在错误时,将所述编译后的代码文件上传至主服务器。
7.根据权利要求6所述的装置,其特征在于,还包括:
版本检测模块,用于检测所述编译后的代码文件与所述主服务器中的备份代码文件是否一致;
所述上线模块用于,在所述编译后的代码文件与所述主服务器中的备份代码文件不一致时,将所述编译后的代码文件上传至主服务器。
8.根据权利要求6或7所述的装置,其特征在于,还包括:
监控模块,用于当所述编译后的代码文件上传完成,则控制从服务器根据所述主服务器中的所述编译后的代码文件进行更新。
9.根据权利要求6或7所述的装置,其特征在于,所述上线模块具体用于,根据所述编译后的代码文件的格式,将所述编译后的代码文件上传至与所述格式对应的主服务器的预设目录下进行存储。
10.根据权利要求8所述的装置,其特征在于,所述监控模块还用于:
检测是否存在第一从服务器更新所述编译后的代码文件失败;
若存在,则输出告警信息;所述告警信息用于指示所述第一从服务器更新失败。
CN201611228769.4A 2016-12-27 2016-12-27 程序代码的处理方法和装置 Pending CN106844096A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611228769.4A CN106844096A (zh) 2016-12-27 2016-12-27 程序代码的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611228769.4A CN106844096A (zh) 2016-12-27 2016-12-27 程序代码的处理方法和装置

Publications (1)

Publication Number Publication Date
CN106844096A true CN106844096A (zh) 2017-06-13

Family

ID=59113260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611228769.4A Pending CN106844096A (zh) 2016-12-27 2016-12-27 程序代码的处理方法和装置

Country Status (1)

Country Link
CN (1) CN106844096A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463422A (zh) * 2017-07-20 2017-12-12 阿里巴巴集团控股有限公司 代码部署方法及装置、电子设备
CN109814874A (zh) * 2019-02-20 2019-05-28 湖南国科微电子股份有限公司 一种编译结果输出控制方法、***及应用
CN109960656A (zh) * 2019-03-22 2019-07-02 北京三快在线科技有限公司 程序的检测方法、装置及电子设备
CN110704060A (zh) * 2018-07-10 2020-01-17 金邦达有限公司 智能卡代码的处理方法和处理***
CN113094040A (zh) * 2021-03-08 2021-07-09 南京唯优信息技术有限公司 一种小程序编译方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150378694A1 (en) * 2014-06-26 2015-12-31 Oracle International Corporation Optimistically Assuming Types in a Dynamically Typed Language
CN105653287A (zh) * 2015-12-31 2016-06-08 北京元心科技有限公司 一种程序自动版本发布方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150378694A1 (en) * 2014-06-26 2015-12-31 Oracle International Corporation Optimistically Assuming Types in a Dynamically Typed Language
CN105653287A (zh) * 2015-12-31 2016-06-08 北京元心科技有限公司 一种程序自动版本发布方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463422A (zh) * 2017-07-20 2017-12-12 阿里巴巴集团控股有限公司 代码部署方法及装置、电子设备
CN110704060A (zh) * 2018-07-10 2020-01-17 金邦达有限公司 智能卡代码的处理方法和处理***
CN109814874A (zh) * 2019-02-20 2019-05-28 湖南国科微电子股份有限公司 一种编译结果输出控制方法、***及应用
CN109960656A (zh) * 2019-03-22 2019-07-02 北京三快在线科技有限公司 程序的检测方法、装置及电子设备
CN109960656B (zh) * 2019-03-22 2023-05-30 北京三快在线科技有限公司 程序的检测方法、装置及电子设备
CN113094040A (zh) * 2021-03-08 2021-07-09 南京唯优信息技术有限公司 一种小程序编译方法和装置

Similar Documents

Publication Publication Date Title
CN106844096A (zh) 程序代码的处理方法和装置
JP6909285B2 (ja) 送電網内の故障検出および位置特定のためのシステム、方法、およびコンピュータ・プログラム
CN107423048B (zh) 数据收集的方法、装置、介质和计算设备
US9612936B2 (en) Correlation of source code with system dump information
US10956313B2 (en) Application testing for security vulnerabilities
US20170123965A1 (en) Automated test generation for multi-interface enterprise virtualization management environment
CN105446868B (zh) ***兼容性测试方法、测试用例管理方法及相关装置
US20180052663A1 (en) System, method, and recording medium for validating computer documentation
Rahman et al. Security misconfigurations in open source kubernetes manifests: An empirical study
US8843623B2 (en) Methods, apparatuses, and computer program products for automated remote data collection
US11656959B2 (en) Disaster recovery region recommendation system and method
US10216617B2 (en) Automatically complete a specific software task using hidden tags
CN109901985B (zh) 分布式测试装置及方法、存储介质和电子设备
CN107341141B (zh) 表单管理方法、装置、介质和计算设备
CN110968560B (zh) 日志采集器的配置方法、装置及***
CN103095530A (zh) 一种基于前置网关的敏感信息监测及防泄漏方法及***
CN109039787A (zh) 日志处理方法、装置及大数据集群
CN113014445B (zh) 用于服务器的运维方法、装置、平台及电子设备
CN110297776A (zh) 检测报告生成、接收方法、装置、设备及存储介质
CN102156650B (zh) 一种实现补丁自动分析的方法及装置
US20130124971A1 (en) Real time web script refresh using asynchronous polling without full web page reload
CN109885472A (zh) 测试管理方法及***和计算机可读存储介质
CN113535568B (zh) 应用部署版本的验证方法、装置、设备和介质
CN110928801A (zh) 角色权限的测试方法及装置、计算机介质和电子设备
CN107294766B (zh) 一种集中管控的方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170613