CN112269570A - 安全代码开发方法及设备、计算设备和介质 - Google Patents
安全代码开发方法及设备、计算设备和介质 Download PDFInfo
- Publication number
- CN112269570A CN112269570A CN202011270937.2A CN202011270937A CN112269570A CN 112269570 A CN112269570 A CN 112269570A CN 202011270937 A CN202011270937 A CN 202011270937A CN 112269570 A CN112269570 A CN 112269570A
- Authority
- CN
- China
- Prior art keywords
- code
- network segment
- development machine
- client
- development
- 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
- 238000011161 development Methods 0.000 title claims abstract description 102
- 238000000034 method Methods 0.000 title claims abstract description 51
- 206010000117 Abnormal behaviour Diseases 0.000 claims description 13
- 230000015654 memory Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003936 working memory Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation 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
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 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/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- 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
- G06F8/44—Encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种安全代码开发方法及设备、计算设备和介质,涉及计算机技术领域,具体涉及云平台、数据传输技术领域。该安全代码开发方法包括:位于第一网段的管理服务器接收位于第二网段的客户端发送的请求包;管理服务器根据请求包中的项目信息启动相应的开发机,以使得该发机从位于第一网段的代码托管服务器中下载与该项目信息相对应的代码,其中第一网段中包括至少一个开发机,每一个开发机用于管理一个或多个项目;以及该开发机接收客户端发送的代码编辑指令以对下载的代码进行编辑。
Description
技术领域
本公开涉及计算机技术领域,具体涉及云平台,特别涉及一种安全代码开发方法及设备、计算设备和介质。
背景技术
在互联网行业,安全是一个很重要的课题,代码作为公司重要的资产,其安全性尤为重要。通常,为保证代码的安全性,可以通过虚拟桌面的方式,基于视频流的传输对远程服务器中的代码进行编写操作。或者,通过政策手段,例如,办公电脑没有外网权限、没有移动设备连接接口或禁止带出办公区等。
但是,虚拟桌面方案对网络带宽要求非常高,编码体验较差,严重影响开发效率。当员工在家无法值班和工作或者做技术调研需要外网时,政策手段的方式将会非常不方便。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
根据本公开的一个方面,提供了一种安全代码开发方法,包括:位于第一网段的管理服务器接收位于第二网段的客户端发送的请求包;管理服务器根据所述请求包中的项目信息启动相应的开发机,以使得该开发机从位于第一网段的代码托管服务器中下载与项目信息相对应的代码,其中第一网段中包括至少一个开发机,每一个开发机用于管理一个或多个项目;以及开发机接收客户端发送的代码编辑指令以对下载的代码进行编辑。
根据本公开的另一个方面,提供了一种安全代码开发设备,包括:第一接收单元,配置为经由位于第一网段的管理服务器接收位于第二网段的客户端发送的请求包;启动单元,配置为根据请求包中的项目信息启动相应的开发机,以使得开发机从位于第一网段的代码托管服务器中下载与项目信息相对应的代码,其中第一网段中包括至少一个开发机,每一个开发机用于管理一个或多个项目;以及编辑单元,配置为接收客户端发送的代码编辑指令以对下载的代码进行编辑。
根据本公开的又一个方面,提供了一种计算设备,包括:处理器;以及存储程序的存储器,该程序包括指令,该指令在由处理器执行时使处理器执行本公开所述的安全代码开发方法。
根据本公开的又一个方面,提供了一种存储程序的计算机可读存储介质,该程序包括指令,该指令在由计算设备的处理器执行时,致使计算设备执行本公开所述的安全代码开发方法。
根据本公开的一个方面,该安全代码开发方法将远程开发机和本地客户端实现网络隔离,保证了代码数据的安全性;并且,可以同时对多个项目的代码进行编辑,提高了工作效率。
根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开示例性实施例的安全代码开发方法的流程图;
图2示出了根据本公开示例性实施例的安全代码开发的架构示意图;
图3示出了根据本公开示例性实施例的安全代码开发设备的示意图;以及
图4示出了能够用于实现本公开的实施例的示例性计算设备的结构框图。
具体实施方式
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
在代码开发过程中,通常工程师把代码下载到本地的电脑上进行开发,而本地电脑可以随意带出办公区,也可以连接外网,也可以连接移动存储设备,甚至休息日工程师也会用个人电脑进行开发工作,导致代码散落各处,在有意无意的随着网络或移动存储设备泄露出去,甚至被窃取,造成公司的严重经济损失。
因此,根据本公开的实施例,如图1所示,提供了一种安全代码开发方法100,包括:位于第一网段的管理服务器接收位于第二网段的客户端发送的请求包(步骤110);所述管理服务器根据所述请求包中的项目信息启动相应的开发机,以使得所述开发机从位于所述第一网段的代码托管服务器中下载与所述项目信息相对应的代码,其中所述第一网段中包括至少一个开发机,每一个开发机用于管理一个或多个项目(步骤120);所述开发机接收所述客户端发送的代码编辑指令以对所述下载的代码进行编辑(步骤130)。
根据本公开的一个方面,该安全代码开发方法将远程开发机和本地客户端实现网络隔离,保证了代码数据的安全性;并且,可以同时对多个项目的代码进行编辑,提高了工作效率。
在根据本公开的实施例中,首先在内网中隔离出一个网段区间以作为第一网段,代码托管服务器和开发机均在此网段。内网中的第一网段之外的其他网段或其他部分网段可以称为第二网段。
内网是与外网相对应的概念,在一些实施例中内网可以表示办公网络。需要说明的是,外网、内网是根据互联网的接入方式不同而划分得到的,其中,外网也称广域网(英文:Wide Area Network;简称:WAN)、远程网(英文:long haul network)或公网,外网通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。外网的接入方式为:通过外网上网的装置得到的互联网协议(英文:Internet Protocol;简称:IP)地址是互联网上的非保留地址,位于外网中的装置和互联网上的其他装置可随意互相访问;内网一般指局域网,局域网(英文:Local Area Network;简称:LAN)是指在某一区域内由多台计算机互联成的计算机组。内网的接入方式为:通过内网上网的装置得到的IP地址是互联网上的保留地址。通常内网的装置以网络地址转换(英文:Network Address Translation;简称:NAT)协议,通过一个公共的网关访问互联网。内网的装置可向互联网上的其他装置发送连接请求,但互联网上其他的装置无法向内网的装置发送连接请求。
在一些实施例中,位于第一网段的管理服务器接收位于第二网段的客户端发送的请求包包括:所述位于第一网段的管理服务器通过基于TCP(英文:Transmission ControlProtocol;传输控制协议)的应用层协议接收位于第二网段的客户端发送的请求包。
在一些示例中,可以通过部署代码编辑器进行基于远程开发机的代码编辑操作。该代码编辑器例如可以为VScode编辑器,VScode编辑器是运行于Mac OS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,其内置了对JavaScript、TypeScript、Node.js、C++、C#、Python、PHP等语言的强大支持。
应当理解,其他代码编辑器也是可能的,例如Atom、sublime、Notepad++等等编辑器,在此不作限制。
在一些实施例中,开发机可以为位于第一网段中的实体服务器,也可以为第一网段中的虚拟机或容器。例如,可以通过虚拟化技术生成一个或多个虚拟机以作为根据本公开的第一网段中的开发机。虚拟化技术是将物理设备分割为多个互相隔离的逻辑分区,并通过虚拟机管理器(Hypervisor)在每个逻辑分区中模拟出一个具有完整硬件的系统,这种模拟出的每一个完整硬件系统即是一个虚拟机,一个虚拟机管理器可以管理多个虚拟机,数据中心可通过虚拟机管理器应用多个虚拟机在同一台物理设备上运行多个不同的操作系统。在一些示例中,该虚拟机可以部署在云平台上,例如在基于OpenStack的云平台的控制节点和计算节点生成虚拟机。控制节点的虚拟机可以作为根据本公开的管理服务器,以实现对计算节点的其他虚拟机的控制。在一些示例中,管理服务器也可以为单独的服务器,以对该第一网段中的其他开发机和服务器实现控制和管理作用。
容器技术作为一种被广泛认可和应用的服务器资源共享方式,开发者可以通过容器技术将应用部署到任何支持容器的机器上,容器不仅能够用于对应用程序构建、分发、运行的统一平台,能够实现应用程序的自动化安装、部署及升级。容器镜像是对应用程序的代码及其运行环境进行标准化封装,得到的一种特殊的文件系统,容器镜像通常包括操作系统文件、应用本身的文件、应用所依赖的软件包和库文件,提供容器运行时所需的程序、库、资源、配置、配置参数等文件,容器镜像可直接运行在任何安装有容器的操作系统中。在第一网段中的开发机为容器的示例中,管理服务器在接收到位于第二网段的客户端发送的请求包后,可以自动分配容器,以选择相应的镜像以生成相应的开发环境。
在一些示例中,开发机可以同时允许多线程并发操作,以实现多人同时在线。根据本公开的开发机可以直接接收客户端的代码编辑指令,提升了代码编辑效率,能够支持多并发实时编辑,给用户提供了更为顺畅的代码编辑体验。
在一些示例中,开发机从代码托管服务器中获取与所述项目信息相对应的代码或代码文件。可以对得到的代码文件进行解析,得到代码文件中记载的待编译代码。其中,代码托管服务器可以部署在私有云中,代码托管服务器可以与私有云中的开发机进行交互,不需要提供公网接口。代码托管服务器可以是多种代码管理系统或服务中的一种。例如,代码托管服务器可以是iCode(代码服务)Gitee、Github、Gitlab(代码管理仓库系统)、BitBucket或者SVN(Subversion,版本控制系统)等管理系统中的一种。
根据一些实施例,该方法还包括:所述代码托管服务器接收所述开发机发送的代码下载请求,其中所述代码下载请求包括所述开发机的IP地址;以及响应于所述开发机的IP地址位于所述第一网段,所述代码托管服务器允许所述开发机从所述代码托管服务器中下载与所述项目信息相对应的代码。
在一些示例中,第一网段的IP地址例如均是以10.开头,第二网段的IP地址均是以124.开头,则代码托管服务器被请求下载代码时,可以根据请求IP进行过滤。例如可以设置为代码下载请求中的IP地址如果为10.开头的则可以下载,代码下载请求中的IP地址如果为124.开头则不允许下载。或者,例如也可以设置为将部分124.开头的IP地址加到白名单中,以满足一些特殊场景的下载需求;也可以设置为将部分10.开头的IP地址加到黑名单中,以满足一些特殊场景的禁止下载需求。应当理解,白名单和黑名单的形式不限制于此,也可以设置将第一网段和第二网段之外的其他IP地址加入其中,在此不作限制。
在一些实施例中,管理服务器也可以通过访问控制、身份认证、加密和数字签名等安全机制中的至少一种来实现网络隔离。例如,按照请求包所对应的用户身份及其所归属的某项定义组来限制用户对某些项目代码的操作,或限制对某些控制功能的使用。不同的安全机制,对应不同的访问条件,在请求包满足管理服务器中的安全机制所设定的访问条件时,才对该请求包进行响应。例如,身份认证是指在计算机及计算机网络系统中确认操作者身份的过程,从而确定该用户是否具有对某项目代码的访问和编辑权限,以防止攻击者假冒合法用户获得代码的访问权限,保证代码数据的安全性。身份认证的方式可以由多种,如静态密码认证、动态口令认证或短信密码认证等,在此不作限制。
根据一些实施例,方法100还可以包括:所述开发机在代码编辑过程中生成代码编辑日志;所述管理服务器对所述代码编辑日志进行审核;响应于所述代码编辑日志中出现预定的异常行为,所述管理服务器向管理员发送告警信息。
根据一些实施例,所述预定的异常行为包括以下中的一个或多个:向预定网段以外的服务器发送信息;删除预定代码;从所述开发机下载代码。
在一些示例中,该预定网段可以为第一网段,当出现向第一网段之外的服务器发送消息时即认为出现异常行为。或者,该预定网段也可以为第一网段和第二网段,当向出现第一网段和第二网段之外(即外网)的服务器发送消息时即认为出现异常行为。
在一些示例中,可以设置代码或项目的等级,以使得某些代码不能被执行删除操作或者只有特定权限的用户才能够执行删除操作,否则即可认为出现异常行为,以进一步保证代码安全性。
在一些示例中,为保证代码数据的安全性,只能允许在开发机中远程编辑代码,而不能将代码下载到本地客户端或电脑中进行代码编辑。因此,当出现从开发机下载代码的行为时即可认为出现异常行为,从而保证了代码安全性。另外,在在开发机中远程编辑代码的设置,对于客户端用户来说在本地电脑上无需去安装任何代码编辑插件或者第三方开发的程序,也打破了特定运行环境下的一些限制,支持远程访问,客户端可仅通过任意一个浏览器向云端服务器发送编辑指令即可,为用户节约了更多的硬件投入成本。
在一些示例中,对下载到统一网段的开发机中的代码进行编辑的过程中,可以生成代码编辑日志。生成的代码编辑日志可以统一由管理服务器进行审核和监控,以在该日志中出现预定的异常行为时向管理员发出告警信息。例如,可以为不同的项目或开发机各自定义相应的异常行为,以对不同项目的实现不同的监管力度。
根据一些实施例,方法100还可以包括:管理服务器接收位于第三网段的客户端通过虚拟专用网络(英文:Virtual Private Network;简称:VPN)发送的请求包。
在一些实施例中,在代码编辑完成后,还包括:所述开发机接收所述客户端发送的代码保存指令以将所述编辑后的代码保存到所述代码托管服务器。
图2示出了根据本公开示例性实施例的安全代码开发的架构示意图。如图2所示,办公机和个人电脑共同构成的客户端。其中外部网段的个人电脑可通过虚拟专用网络VPN实现与第一网段中的管理服务器和开发机的数据传输和信息交互功能。控制服务器根据请求包中的项目信息确定并启动相应的开发机,以使得该开发机从iCode代码托管服务器下载该项目代码,启动后的开发机即可接收客户端发送的代码编辑指令以对下载的项目代码进行编辑操作。在编辑完成后,开发机接收客户端发送的代码上传指令,以将编辑后的上传到iCode代码托管服务器中保存。
根据本公开的安全代码开发方法对网络带宽的要求极低,几乎没有额外的负担,而且编码体验没有损耗,最大限度地保障了代码的安全性。
根据本公开的实施例,如图3所示,还提供了一种安全代码开发设备300,包括:第一接收单元310,配置为经由位于第一网段的管理服务器接收位于第二网段的客户端发送的请求包;启动单元320,配置为根据所述请求包中的项目信息启动相应的开发机,以使得所述开发机从位于所述第一网段的代码托管服务器中下载与所述项目信息相对应的代码,其中所述第一网段中包括至少一个开发机,每一个开发机用于管理一个或多个项目;以及编辑单元330,配置为接收所述客户端发送的代码编辑指令以对所述下载的代码进行编辑。
根据一些实施例,所述接收单元配置为:经由位于第一网段的管理服务器通过基于TCP的应用层协议接收位于第二网段的客户端发送的请求包。
根据一些实施例,设备300还包括:接收所述开发机发送的代码下载请求的单元,其中所述代码下载请求包括所述开发机的IP地址;以及响应于所述开发机的IP地址位于所述第一网段,允许所述开发机从所述代码托管服务器中下载与所述项目信息相对应的代码的单元。
根据一些实施例,设备300还包括:在代码编辑过程中生成代码编辑日志的单元;对所述代码编辑日志进行审核的单元;响应于所述代码编辑日志中出现预定的异常行为,向管理员发送告警信息的单元。
根据一些实施例,所述预定的异常行为包括以下中的一个或多个:向预定网段以外的服务器发送信息;删除预定代码;以及从所述开发机下载代码。
根据一些实施例,设备300还包括:第二接收单元,配置为接收位于第三网段的客户端通过虚拟专用网络发送的请求包。
根据一些实施例,设备300还包括:保存单元,配置为接收所述客户端发送的代码保存指令以将所述编辑后的代码保存到所述代码托管服务器。
这里,提升匹配效率的联邦学习设备300的上述各单元310~330的操作分别与前面描述的步骤110~130的操作类似,在此不再赘述。
根据本公开的又一个方面,提供了一种计算设备,包括:处理器;以及存储程序的存储器,该程序包括指令,该指令在由处理器执行时使处理器执行本公开所述的安全代码开发方法。
根据本公开的又一个方面,提供了一种存储程序的计算机可读存储介质,该程序包括指令,该指令在由计算设备的处理器执行时,致使电子设备执行本公开所述的安全代码开发方法。
参见图4所示,现将描述计算设备400,其是可以应用于本公开的各方面的硬件设备的示例。计算设备400可以是被配置为执行处理和/或计算的任何机器,可以是但不限于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数字助理、机器人、智能电话、车载计算机或其任何组合。上述安全代码开发方法可以各自全部或至少部分地由计算设备400或类似设备或系统实现。
计算设备400可以包括(可能经由一个或多个接口)与总线402连接或与总线402通信的元件。例如,计算设备400可以包括总线402、一个或多个处理器404、一个或多个输入设备406以及一个或多个输出设备408。一个或多个处理器404可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。处理器404可以对在计算设备400内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器404为例。
输入设备406可以是能向计算设备400输入信息的任何类型的设备。输入设备2006可以接收输入的数字或字符信息,以及产生与安全代码开发的计算设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或遥控器。输出设备408可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。计算设备400还可以包括非暂时性存储设备410或者与非暂时性存储设备410连接,非暂时性存储设备可以是非暂时性的并且可以实现数据存储的任何存储设备,并且可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂时性存储设备410可以从接口拆卸。非暂时性存储设备410可以具有用于实现上述方法和步骤的数据/程序(包括指令)/代码。计算设备400还可以包括通信设备412。通信设备412可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙TM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算设备400还可以包括工作存储器414,其可以是可以存储对处理器404的工作有用的程序(包括指令)和/或数据的任何类型的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。
软件要素(程序)可以位于工作存储器414中,包括但不限于操作系统416、一个或多个应用程序418、驱动程序和/或其他数据和代码。用于执行上述方法和步骤的指令可以被包括在一个或多个应用程序418中,并且上述安全代码开发方法可以各自通过由处理器404读取和执行一个或多个应用程序418的指令来实现。更具体地,上述安全代码开发方法中,步骤110~步骤130可以例如通过处理器404执行具有步骤110~步骤130的指令的应用程序418而实现。此外,上述安全代码开发方法中的其它步骤可以例如通过处理器404执行具有执行相应步骤中的指令的应用程序418而实现。软件要素(程序)的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质(例如上述存储设备410)中,并且在执行时可以被存入工作存储器414中(可能被编译和/或安装)。软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现特定元件。例如,所公开的方法和设备中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
还应该理解,前述方法可以通过服务器-客户端模式来实现。例如,客户端可以接收用户输入的数据并将所述数据发送到服务器。客户端也可以接收用户输入的数据,进行前述方法中的一部分处理,并将处理所得到的数据发送到服务器。服务器可以接收来自客户端的数据,并且执行前述方法或前述方法中的另一部分,并将执行结果返回给客户端。客户端可以从服务器接收到方法的执行结果,并例如可以通过输出设备呈现给用户。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算设备上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
还应该理解,计算设备400的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。计算设备400的其他组件也可以类似地分布。这样,计算设备400可以被解释为在多个位置执行处理的分布式计算系统。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (16)
1.一种安全代码开发方法,包括:
位于第一网段的管理服务器接收位于第二网段的客户端发送的请求包;
所述管理服务器根据所述请求包中的项目信息启动相应的开发机,以使得所述开发机从位于所述第一网段的代码托管服务器中下载与所述项目信息相对应的代码,其中所述第一网段中包括至少一个开发机,每一个开发机用于管理一个或多个项目;以及
所述开发机接收所述客户端发送的代码编辑指令以对所述下载的代码进行编辑。
2.如权利要求1所述的方法,位于第一网段的管理服务器接收位于第二网段的客户端发送的请求包包括:
所述位于第一网段的管理服务器通过基于TCP的应用层协议接收位于第二网段的客户端发送的请求包。
3.如权利要求1所述的方法,还包括:
所述代码托管服务器接收所述开发机发送的代码下载请求,其中所述代码下载请求包括所述开发机的IP地址;以及
响应于所述开发机的IP地址位于所述第一网段,所述代码托管服务器允许所述开发机从所述代码托管服务器中下载与所述项目信息相对应的代码。
4.如权利要求1所述的方法,还包括:
所述开发机在代码编辑过程中生成代码编辑日志;
所述管理服务器对所述代码编辑日志进行审核;以及
响应于所述代码编辑日志中出现预定的异常行为,所述管理服务器向管理员发送告警信息。
5.如权利要求4所述的方法,其中,所述预定的异常行为包括以下中的一个或多个:
向预定一网段以外的服务器发送信息;
删除预定代码;以及
从所述开发机下载代码。
6.如权利要求1所述的方法,还包括:
所述管理服务器接收位于第三网段的客户端通过虚拟专用网络发送的请求包。
7.如权利要求1所述的方法,在代码编辑完成后,还包括:
所述开发机接收所述客户端发送的代码保存指令以将所述编辑后的代码保存到所述代码托管服务器。
8.一种安全代码开发设备,包括:
第一接收单元,配置为经由位于第一网段的管理服务器接收位于第二网段的客户端发送的请求包;
启动单元,配置为根据所述请求包中的项目信息启动相应的开发机,以使得所述开发机从位于所述第一网段的代码托管服务器中下载与所述项目信息相对应的代码,其中所述第一网段中包括至少一个开发机,每一个开发机用于管理一个或多个项目;以及
编辑单元,配置为接收所述客户端发送的代码编辑指令以对所述下载的代码进行编辑。
9.如权利要求8所述的设备,其中,所述接收单元配置为:
经由位于第一网段的管理服务器通过基于TCP的应用层协议接收位于第二网段的客户端发送的请求包。
10.如权利要求8所述的设备,还包括:
接收所述开发机发送的代码下载请求的单元,其中所述代码下载请求包括所述开发机的IP地址;以及
响应于所述开发机的IP地址位于所述第一网段,允许所述开发机从所述代码托管服务器中下载与所述项目信息相对应的代码的单元。
11.如权利要求8所述的设备,还包括:
在代码编辑过程中生成代码编辑日志的单元;
对所述代码编辑日志进行审核的单元;以及
响应于所述代码编辑日志中出现预定的异常行为,向管理员发送告警信息的单元。
12.如权利要求11所述的设备,其中,所述预定的异常行为包括以下中的一个或多个:
向预定网段以外的服务器发送信息;
删除预定代码;以及
从所述开发机下载代码。
13.如权利要求8所述的设备,还包括:
第二接收单元,配置为接收位于第三网段的客户端通过虚拟专用网络发送的请求包。
14.如权利要求8所述的设备,还包括:
保存单元,配置为接收所述客户端发送的代码保存指令以将所述编辑后的代码保存到所述代码托管服务器。
15.一种计算设备,包括:
处理器;以及
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-7中任一项所述的方法。
16.一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由计算设备的处理器执行时,致使所述计算设备执行根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011270937.2A CN112269570B (zh) | 2020-11-13 | 2020-11-13 | 安全代码开发方法及设备、计算设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011270937.2A CN112269570B (zh) | 2020-11-13 | 2020-11-13 | 安全代码开发方法及设备、计算设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112269570A true CN112269570A (zh) | 2021-01-26 |
CN112269570B CN112269570B (zh) | 2024-05-14 |
Family
ID=74339361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011270937.2A Active CN112269570B (zh) | 2020-11-13 | 2020-11-13 | 安全代码开发方法及设备、计算设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269570B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114089974A (zh) * | 2021-11-26 | 2022-02-25 | 北京百度网讯科技有限公司 | 云端代码开发系统、方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140053137A1 (en) * | 2012-08-17 | 2014-02-20 | Ge Aviation Systems Llc | Method for developing software in a parallel computing environment |
CN104935660A (zh) * | 2015-06-17 | 2015-09-23 | 北京智友信诚科技有限公司 | 一种云程序开发运行系统、方法及装置 |
US20150347093A1 (en) * | 2012-12-11 | 2015-12-03 | Hewlett-Packard Development Company, L.P. | Provisioning Tools for Application Development |
CN106095522A (zh) * | 2016-06-03 | 2016-11-09 | 北京奇虎科技有限公司 | 一种实现分布式编译的方法和分布式编译系统 |
CN109582316A (zh) * | 2018-11-15 | 2019-04-05 | 北京深思数盾科技股份有限公司 | 一种跨平台编译方法、装置、系统、服务器及存储介质 |
CN110058850A (zh) * | 2019-04-10 | 2019-07-26 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种应用的开发方法、装置以及存储介质 |
CN110750243A (zh) * | 2019-09-20 | 2020-02-04 | 中国联合网络通信集团有限公司 | 项目代码开发方法和系统 |
CN111079097A (zh) * | 2018-10-22 | 2020-04-28 | 张维加 | 一种基于网络的编程开发系统 |
US10649768B1 (en) * | 2018-03-12 | 2020-05-12 | Amazon Technologies, Inc. | Development code execution using a service proxy |
-
2020
- 2020-11-13 CN CN202011270937.2A patent/CN112269570B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140053137A1 (en) * | 2012-08-17 | 2014-02-20 | Ge Aviation Systems Llc | Method for developing software in a parallel computing environment |
US20150347093A1 (en) * | 2012-12-11 | 2015-12-03 | Hewlett-Packard Development Company, L.P. | Provisioning Tools for Application Development |
CN104935660A (zh) * | 2015-06-17 | 2015-09-23 | 北京智友信诚科技有限公司 | 一种云程序开发运行系统、方法及装置 |
CN106095522A (zh) * | 2016-06-03 | 2016-11-09 | 北京奇虎科技有限公司 | 一种实现分布式编译的方法和分布式编译系统 |
US10649768B1 (en) * | 2018-03-12 | 2020-05-12 | Amazon Technologies, Inc. | Development code execution using a service proxy |
CN111079097A (zh) * | 2018-10-22 | 2020-04-28 | 张维加 | 一种基于网络的编程开发系统 |
CN109582316A (zh) * | 2018-11-15 | 2019-04-05 | 北京深思数盾科技股份有限公司 | 一种跨平台编译方法、装置、系统、服务器及存储介质 |
CN110058850A (zh) * | 2019-04-10 | 2019-07-26 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种应用的开发方法、装置以及存储介质 |
CN110750243A (zh) * | 2019-09-20 | 2020-02-04 | 中国联合网络通信集团有限公司 | 项目代码开发方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114089974A (zh) * | 2021-11-26 | 2022-02-25 | 北京百度网讯科技有限公司 | 云端代码开发系统、方法、装置、设备及存储介质 |
WO2023093016A1 (zh) * | 2021-11-26 | 2023-06-01 | 北京百度网讯科技有限公司 | 云端代码开发系统、方法、装置、设备及存储介质 |
CN114089974B (zh) * | 2021-11-26 | 2023-08-22 | 北京百度网讯科技有限公司 | 云端代码开发系统、方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112269570B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210349750A1 (en) | Enforcing compliance rules using guest management components | |
US11720338B2 (en) | Cloud service automation of common image management | |
US10025612B2 (en) | Enforcing compliance rules against hypervisor and host device using guest management components | |
CN107911421B (zh) | 用于配置区块链中跨网络通信的方法、设备和计算机存储介质 | |
US9276925B2 (en) | Managing cloud zones | |
CN102314373B (zh) | 一种基于虚拟化技术实现安全工作环境的方法 | |
CN108604187B (zh) | 托管的虚拟机部署 | |
US20180191779A1 (en) | Flexible Deception Architecture | |
US9219611B1 (en) | Systems and methods for automating cloud-based code-signing services | |
KR20170022028A (ko) | 컨테이너 이미지 보안 검사 방법 및 그 장치 | |
EP2499784B1 (en) | Model-based virtual networking | |
US20130227635A1 (en) | Mechanism for Applying Security Category Labels to Multi-Tenant Applications of a Node in a Platform-as-a-Service (PaaS) Environment | |
US20170351507A1 (en) | Silent upgrade of software with dependencies | |
US10999135B2 (en) | Fast provisioning in cloud computing environments | |
US20180063088A1 (en) | Hypervisor network profiles to facilitate vpn tunnel | |
CN101753594A (zh) | 激活虚拟机的方法、模拟计算设备的装置及监控设备 | |
CN116541184A (zh) | 一种多协议应用框架系统 | |
CN112269570B (zh) | 安全代码开发方法及设备、计算设备和介质 | |
US20210312271A1 (en) | Edge ai accelerator service | |
US10325096B1 (en) | Modifying a portion of a read-only file system | |
US20220345517A1 (en) | Unified application management for heterogeneous application delivery | |
CN114691157A (zh) | 基于云的fpga管理控制系统、方法及电子设备 | |
US11281774B2 (en) | System and method of optimizing antivirus scanning of files on virtual machines | |
CN113132295A (zh) | 集群内网访问外网的方法及装置、存储介质、电子设备 | |
US20230164114A1 (en) | System and method for managing and securing an enterprise network associated with an organization |
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 | ||
GR01 | Patent grant |