CN112799699A - 一种服务器的更新方法及装置 - Google Patents
一种服务器的更新方法及装置 Download PDFInfo
- Publication number
- CN112799699A CN112799699A CN202110099732.0A CN202110099732A CN112799699A CN 112799699 A CN112799699 A CN 112799699A CN 202110099732 A CN202110099732 A CN 202110099732A CN 112799699 A CN112799699 A CN 112799699A
- Authority
- CN
- China
- Prior art keywords
- code
- file
- server
- preset
- compiling
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000010276 construction Methods 0.000 claims abstract description 22
- 238000011161 development Methods 0.000 claims abstract description 18
- 238000004806 packaging method and process Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Abstract
本发明公开了一种服务器的更新方法及装置,所述方法包括:按照预设的开发需求,从预设的构建机拉取业务代码和公共代码,并将所述业务代码和公共代码,编译成代码数据包;从预设的构建机上获取与所述开发需求对应的so文件,并将所述代码数据包与所述so文件编译打包生成更新文件;将所述更新文件上传至待更新服务器,供所述待更新服务器采用所述更新文件完成更新操作。本发明可以将代码进行分层存放,从而无法进行权限分配,方便用户进行管理和处理,而且本发明可以将核心代码进行加固编译,减少代码被窃取的风险,可以提高核心代码的安全性,同时整个过程操作方便,无需用户人手操作,可以减少人为干预,提高更新效率。
Description
技术领域
本发明涉及服务器的技术领域,尤其涉及一种服务器的更新方法及装置。
背景技术
服务器是在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务的一种计算机。由于服务器具有高速的运算能力、长时间的可靠运行能力、强大的I/O外部数据吞吐能力以及可扩展能力,可以为用户提供各种不同的计算机服务。
随着各个企业或公司的业务不同增加,服务器需要拓展的功能也越来越多,为了能满足公司业务需求,需要对服务器进行更新操作。目前常用的更新方式是用户在本地终端拉取服务器更新所需的代码,通过构建脚本打包程序,将更新所需的代码生成更新文件,然后手动上传至服务器,供服务器完成更新操作。
但目前常用的更新方式有如下技术问题:由于更新过程需要用户手动操作,人为干预太多,而且代码拉取和打包构建涉及到权限分配、开发环境的兼容,不但增加了更新步骤,也降低了更新效率,而且将公司核心代码及各种底层代码拉取到各个开发人员的终端上,容易发生代码窃取情况,也增加了资料和信息泄露的风险。
发明内容
本发明提出一种服务器的更新方法及装置,所述方法可以分别拉取代码,并对代码进行编译加固和自动上传,从而提高更新信息的安全性和更新的效率。
本发明实施例的第一方面提供了一种服务器的更新方法,所述方法包括:
按照预设的开发需求,从预设的构建机拉取业务代码和公共代码,并将所述业务代码和公共代码,编译成代码数据包;
从预设的构建机上获取与所述开发需求对应的so文件,并将所述代码数据包与所述so文件编译打包生成更新文件;
将所述更新文件上传至待更新服务器,供所述待更新服务器采用所述更新文件完成更新操作。
在第一方面的一种可能的实现方式中,所述so文件具体为:
预设的构建机对所述核心代码进行编译得到编译核心代码后,采用预设的gobuild命令将所述编译核心代码编译生成so文件,其中,所述核心代码包括服务器的运行算法、输入输出代码、服务器的框架代码以及服务器的功能代码。
在第一方面的一种可能的实现方式中,在所述按照预设的开发需求,拉取业务代码和公共代码的步骤前,所述方法还包括:
在预设的构建机中设置三个分别与所述业务代码、公共代码和核心代码相对应的Git仓库。
在第一方面的一种可能的实现方式中,所述将所述代码数据包与所述so文件编译打包生成更新文件具体为:将所述代码数据包与所述so文件编译并压缩生成压缩包,以所述压缩包为更新文件。
本发明实施例的第二方面提供了一种服务器的更新装置,所述装置包括:
拉取模块,用于按照预设的开发需求,从预设的构建机拉取业务代码和公共代码,并将所述业务代码和公共代码,编译成代码数据包;
打包模块,用于从预设的构建机上获取与所述开发需求对应的so文件,并将所述代码数据包与所述so文件编译打包生成更新文件;
上传模块,用于将所述更新文件上传至待更新服务器,供所述待更新服务器采用所述更新文件完成更新操作。
在第二方面的一种可能的实现方式中,所述so文件具体为:
预设的构建机对所述核心代码进行编译得到编译核心代码后,采用预设的gobuild命令将所述编译核心代码编译生成so文件,其中,所述核心代码包括服务器的运行算法、输入输出代码、服务器的框架代码以及服务器的功能代码。
在第二方面的一种可能的实现方式中,所述装置还包括:
设置模块,用于在预设的构建机中设置三个分别与所述业务代码、公共代码和核心代码相对应的Git仓库。
在第二方面的一种可能的实现方式中,所述打包模块还用于:将所述代码数据包与所述so文件编译并压缩生成压缩包,以所述压缩包为更新文件。
本发明实施例的第三方面提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的服务器的更新方法。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上所述的服务器的更新方法
相比于现有技术,本发明实施例提供的服务器的更新方法及装置,其有益效果在于:本发明可以将代码进行分层存放,从而无法进行权限分配,方便用户进行管理和处理,而且本发明可以将核心代码进行加固编译,减少代码被窃取的风险,可以提高核心代码的安全性,同时整个过程操作方便,无需用户人手操作,可以减少人为干预,提高更新效率。
附图说明
图1是本发明一实施例提供的一种服务器的更新方法的流程示意图;
图2是本发明一实施例提供的一种服务器的更新装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于目前的服务器更新过程需要用户手动操作,人为干预太多,而且代码拉取和打包构建涉及到权限分配、开发环境的兼容,不但增加了更新步骤,也降低了更新效率,而且将公司核心代码及各种底层代码拉取到各个开发人员的终端上,容易发生代码窃取情况,也增加了资料和信息泄露的风险。
为了解决上述问题,下面将通过以下具体的实施例对本申请实施例提供的一种服务器的更新方法进行详细介绍和说明。
参照图1,示出了本发明一实施例提供的一种服务器的更新方法的流程示意图。所述方法可以适用于xinars系统,该xinars系统可以搭载在服务器或本地终端中。xinars系统可以在服务器或本地终端中构建生成构建机,通过构建机与服务器和本地终端进行通信连接以及数据交互。
其中,作为示例的,所述服务器的更新方法,可以包括:
S11、在预设的构建机中设置三个分别与所述业务代码、公共代码和核心代码相对应的Git仓库。
在本实施例中,代码可以分为业务代码、公共代码以及底层的核心代码。可以将三类代码分成各个Git仓库,实现了代码分层。通过将代码分层,可以实现代码的分层管理,从而无需在设定管理人员的权限分配。
S12、按照预设的开发需求,从预设的构建机拉取业务代码和公共代码,并将所述业务代码和公共代码,编译成代码数据包。
该业务代码和公共代码可以预先存储在暂不需要更新的服务器或在先的服务器或开发人员的本地终端或普通工作人员的本地终端中,可以从预设的构建机拉取业务代码和公共代码。为了提高代码的安全性以及传输的可靠性,在拉取业务代码和公共代码时或拉取业务代码和公共代码后,对业务代码和公共代码进行编译,得到编译后的业务代码和公共代码,接着再对编译后的业务代码和公共代码编译生成代码数据包。
S13、从预设的构建机上获取与所述开发需求对应的so文件,并将所述代码数据包与所述so文件编译打包生成更新文件。
在本实施例中,所述so文件具体为预设的构建机对所述核心代码进行编译得到编译核心代码后,采用预设的go build命令将所述编译核心代码编译生成so文件,其中,所述核心代码包括服务器的运行算法、输入输出代码、服务器的框架代码以及服务器的功能代码。其中,编译生成的so文件的具体格式可以是计算机可以识别的程序格式。
在实际操作中,所述将所述代码数据包与所述so文件编译打包生成更新文件的具体操作为:
将所述代码数据包与所述so文件编译并压缩生成压缩包,以所述压缩包为更新文件。
在整个编译过程中,通过将核心代码编译成so文件,可以增加核心代码的保密性,从而实现了代码安全的加固。
而由核心代码编译成so文件可以放在特定的构建机上,例如特定服务器的构建机或特定运维人员的本地终端上,由指定的运维人员统一管理,而普通开发人员无权限获取,从而可以进一步提高核心代码的安全性。
S14、将所述更新文件上传至待更新服务器,供所述待更新服务器采用所述更新文件完成更新操作。
在生成更新文件后,可以将更新文件回传xinars系统,最后由xinars系统将更新文件发送至需要进行更新操作的服务器中,让服务器可以采用更新文件完成更新操作。
在本实施例中,本发明实施例提供了一种服务器的更新方法,其有益效果在于:本发明可以将代码进行分层存放,从而无法进行权限分配,方便用户进行管理和处理,而且本发明可以将核心代码进行加固编译,减少代码被窃取的风险,可以提高核心代码的安全性,同时整个过程操作方便,无需用户人手操作,可以减少人为干预,提高更新效率。
本发明实施例还提供了一种服务器的更新装置,参见图2,示出了本发明一实施例提供的一种服务器的更新装置的结构示意图。
其中,作为示例的,所述服务器的更新装置可以包括:
拉取模块201,用于按照预设的开发需求,从预设的构建机拉取业务代码和公共代码,并将所述业务代码和公共代码,编译成代码数据包;
打包模块202,用于从预设的构建机上获取与所述开发需求对应的so文件,并将所述代码数据包与所述so文件编译打包生成更新文件;
上传模块203,用于将所述更新文件上传至待更新服务器,供所述待更新服务器采用所述更新文件完成更新操作。
在第二方面的一种可能的实现方式中,所述so文件具体为:
预设的构建机对所述核心代码进行编译得到编译核心代码后,采用预设的gobuild命令将所述编译核心代码编译生成so文件,其中,所述核心代码包括服务器的运行算法、输入输出代码、服务器的框架代码以及服务器的功能代码。
在第二方面的一种可能的实现方式中,所述装置还包括:
设置模块,用于在预设的构建机中设置三个分别与所述业务代码、公共代码和核心代码相对应的Git仓库。
在第二方面的一种可能的实现方式中,所述打包模块还用于:将所述代码数据包与所述so文件编译并压缩生成压缩包,以所述压缩包为更新文件。
进一步的,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例所述的服务器的更新方法。
进一步的,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述实施例所述的服务器的更新方法。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种服务器的更新方法,其特征在于,包括:
按照预设的开发需求,从预设的构建机拉取业务代码和公共代码,并将所述业务代码和公共代码,编译成代码数据包;
从预设的构建机上获取与所述开发需求对应的so文件,并将所述代码数据包与所述so文件编译打包生成更新文件;
将所述更新文件上传至待更新服务器,供所述待更新服务器采用所述更新文件完成更新操作。
2.根据权利要求1所述的服务器的更新方法,其特征在于,所述so文件具体为:
预设的构建机对所述核心代码进行编译得到编译核心代码后,采用预设的go build命令将所述编译核心代码编译生成so文件,其中,所述核心代码包括服务器的运行算法、输入输出代码、服务器的框架代码以及服务器的功能代码。
3.根据权利要求2所述的服务器的更新方法,其特征在于,在所述按照预设的开发需求,拉取业务代码和公共代码的步骤前,所述方法还包括:
在预设的构建机中设置三个分别与所述业务代码、公共代码和核心代码相对应的Git仓库。
4.根据权利要求1所述的服务器的更新方法,其特征在于,所述将所述代码数据包与所述so文件编译打包生成更新文件具体为:将所述代码数据包与所述so文件编译并压缩生成压缩包,以所述压缩包为更新文件。
5.一种服务器的更新装置,其特征在于,所述装置包括:
拉取模块,用于按照预设的开发需求,从预设的构建机拉取业务代码和公共代码,并将所述业务代码和公共代码,编译成代码数据包;
打包模块,用于从预设的构建机上获取与所述开发需求对应的so文件,并将所述代码数据包与所述so文件编译打包生成更新文件;
上传模块,用于将所述更新文件上传至待更新服务器,供所述待更新服务器采用所述更新文件完成更新操作。
6.根据权利要求1所述的服务器的更新装置,其特征在于,所述so文件具体为:
预设的构建机对所述核心代码进行编译得到编译核心代码后,采用预设的go build命令将所述编译核心代码编译生成so文件,其中,所述核心代码包括服务器的运行算法、输入输出代码、服务器的框架代码以及服务器的功能代码。
7.根据权利要求6所述的服务器的更新装置,其特征在于,所述装置还包括:
设置模块,用于在预设的构建机中设置三个分别与所述业务代码、公共代码和核心代码相对应的Git仓库。
8.根据权利要求1所述的服务器的更新装置,其特征在于,所述打包模块还用于:将所述代码数据包与所述so文件编译并压缩生成压缩包,以所述压缩包为更新文件。
9.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4任意一项所述的服务器的更新方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-4任意一项所述的服务器的更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110099732.0A CN112799699B (zh) | 2021-01-25 | 2021-01-25 | 一种服务器的更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110099732.0A CN112799699B (zh) | 2021-01-25 | 2021-01-25 | 一种服务器的更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799699A true CN112799699A (zh) | 2021-05-14 |
CN112799699B CN112799699B (zh) | 2024-05-03 |
Family
ID=75811654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110099732.0A Active CN112799699B (zh) | 2021-01-25 | 2021-01-25 | 一种服务器的更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799699B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227099A1 (en) * | 2010-12-03 | 2013-08-29 | International Business Machines Corporation | Identity provider discovery service using a publish-subscribe model |
CN106599629A (zh) * | 2016-12-16 | 2017-04-26 | Tcl集团股份有限公司 | 一种安卓应用程序加固方法及装置 |
CN107133171A (zh) * | 2017-05-02 | 2017-09-05 | 山东浪潮通软信息科技有限公司 | 一种基于组件式的轻量aop框架及其使用方法 |
CN109194625A (zh) * | 2018-08-10 | 2019-01-11 | 厦门市美亚柏科信息股份有限公司 | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 |
CN111552484A (zh) * | 2020-04-29 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 一种应用程序包分发方法、装置、设备及存储介质 |
-
2021
- 2021-01-25 CN CN202110099732.0A patent/CN112799699B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227099A1 (en) * | 2010-12-03 | 2013-08-29 | International Business Machines Corporation | Identity provider discovery service using a publish-subscribe model |
CN106599629A (zh) * | 2016-12-16 | 2017-04-26 | Tcl集团股份有限公司 | 一种安卓应用程序加固方法及装置 |
CN107133171A (zh) * | 2017-05-02 | 2017-09-05 | 山东浪潮通软信息科技有限公司 | 一种基于组件式的轻量aop框架及其使用方法 |
CN109194625A (zh) * | 2018-08-10 | 2019-01-11 | 厦门市美亚柏科信息股份有限公司 | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 |
CN111552484A (zh) * | 2020-04-29 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 一种应用程序包分发方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
谢檬檬: ""基于ReactNative的手机百度社交化系统的设计与实现"", <中国优秀硕士学位论文全文数据库 信息科技辑> * |
Also Published As
Publication number | Publication date |
---|---|
CN112799699B (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102609281B (zh) | 分布式软件补丁更新方法及系统 | |
CN111352653B (zh) | 基于PaaS云平台服务器的系统开发方法及服务器 | |
CN109391673A (zh) | 一种管理更新文件的方法、系统及终端设备 | |
US11740886B2 (en) | Algorithm update method and apparatus | |
CN113687858B (zh) | 配置文件的检查方法、装置、电子设备及存储介质 | |
US20070198562A1 (en) | Method and Apparatus for Ensuring Business Process Integration Capability for one or more Distributed Component Systems in Communication with one or more Legacy Systems | |
AU2021204593A1 (en) | Methods and apparatuses for installing device application | |
CN116149747A (zh) | 接口编排方法、装置、电子设备和计算机可读存储介质 | |
CN113626002A (zh) | 一种服务执行方法及装置 | |
WO2017045345A1 (zh) | 一种资源管理方法、装置及多模软基站统一网管 | |
CN111045928B (zh) | 一种接口数据测试方法、装置、终端及存储介质 | |
CN112799699B (zh) | 一种服务器的更新方法及装置 | |
CN116860266A (zh) | 应用容器化部署方法、装置、电子设备及存储介质 | |
CN108170760B (zh) | 智能硬件管理系统和设备 | |
CN112448909A (zh) | 电子锁管理方法、装置、系统及存储介质 | |
CN113296987B (zh) | 调用模块的接口调用方法、装置、计算机设备及存储介质 | |
CN114648012A (zh) | 一种票据处理方法、装置、电子设备及计算机可读介质 | |
CN110765610B (zh) | Pdm集成方法、装置、计算机设备及存储介质 | |
CN114553608A (zh) | 用于接入云平台的方法和装置 | |
US20030212919A1 (en) | Updateable event forwarding discriminator incorporating a runtime modifiable filter | |
CN112905273A (zh) | 一种服务调用方法和装置 | |
CN112564979A (zh) | 构建任务的执行方法、装置、计算机设备和存储介质 | |
CN113176892B (zh) | 一种基于发布单元的标准化持续交付方法及系统 | |
CN117093286B (zh) | 插件生成方法、装置、设备及计算机可读存储介质 | |
CN115080276B (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 | ||
GR01 | Patent grant |