CN112698921A - 一种逻辑代码运行方法、装置、计算机设备和存储介质 - Google Patents
一种逻辑代码运行方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112698921A CN112698921A CN202110026181.5A CN202110026181A CN112698921A CN 112698921 A CN112698921 A CN 112698921A CN 202110026181 A CN202110026181 A CN 202110026181A CN 112698921 A CN112698921 A CN 112698921A
- Authority
- CN
- China
- Prior art keywords
- logic code
- code
- translation
- logic
- image file
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/4552—Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种逻辑代码运行方法、装置、计算机设备和存储介质。本申请实施例在获取包括转译程序和预设类库的转译镜像文件后,根据转译镜像文件生成镜像容器;然后,获取包括调用预设类库的相关代码的第一逻辑代码;当接收到终端发送的服务请求时,在镜像容器内,基于预设类库,通过转译程序将第一逻辑代码转译为预设语言格式的第二逻辑代码;运行第二逻辑代码,以响应服务请求,执行服务请求对应的操作。该方案的逻辑代码调用预设类库的相关代码,不需要远程拉取类库,可以增加逻辑代码的安全性;不需要远程拉取类库,以及逻辑代码更新时不需要构建镜像,只需要将更新的逻辑代码发送给服务器,减少逻辑代码发布和更新的时间。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种逻辑代码运行方法、装置、计算机设备和存储介质。
背景技术
Serveless架构,也称为无服务架构,是指客户仅编写所需的业务逻辑代码而云厂商提供其他所有功能的架构,即开发者无须管理和操作云端或本地的服务器,只需要关注产品的程序代码。
Serverless架构可以提供的软件架构范式,我们称之函数即服务(Function as aServices,FaaS),FaaS中的函数可以代表客户所要执行的每个操作:创建、读取、更新及删除;和后端即服务(Backend as a Service,BaaS),为运行在FaaS平台上的代码程序提供底层服务,比如云端数据/文件存储、账户管理、数据采集、运营分析、消息推送和社交媒体整合等。
通常,开发人员通过从远程仓库拉取实现代码程序运行所需要的类库,以编写代码程序实现特定的服务,对编写的代码程序构建镜像并通过镜像仓库将构建的镜像分发至后端服务集群,使代码程序在Faas平台上运行,BaaS云服务为该代码程序的运行提供底层服务;当程序代码每次更新时,需要重新拉取类库和构建镜像,然后将镜像分发至后端服务集群。
在对现有技术的研究和实践过程中,本申请的发明人发现,开发人员在编写逻辑代码时根据需要拉取不同的类库,类库的来源可能导致类库存在一定的不安全性,会使编写的逻辑代码存在漏洞;且若拉取类库需要访问的远程仓库响应速度慢会导致拉取类库的时间长;以及,由于构建的镜像包括类库,逻辑代码以及逻辑代码运行所需要的操作系统和应用文件,镜像一般较大,分发至后端服务集群的时间也较长;拉取类库和分发过程的耗时较长导致逻辑代码的发布和更新需要的时间长。
发明内容
本申请实施例一种逻辑代码运行方法、装置、计算机设备和存储介质,本申请实施例的逻辑代码调用预设类库的相关代码,不需要远程拉取类库,可以增加逻辑代码的安全性;不需要远程拉取类库,以及逻辑代码更新时不需要构建镜像,只需要将更新的逻辑代码发送给服务器,减少逻辑代码发布和更新的时间。
本申请实施例提供的一种逻辑代码运行方法,包括:
获取转译镜像文件,所述转译镜像文件包括转译程序和预设类库;
根据所述转译镜像文件生成镜像容器;
获取第一逻辑代码,所述第一逻辑代码包括调用所述预设类库的相关代码;
当接收到终端发送的服务请求时,在所述镜像容器内,基于所述预设类库,通过所述转译程序将所述第一逻辑代码转译为预设语言格式的第二逻辑代码;
运行所述第二逻辑代码,以响应所述服务请求,执行所述服务请求对应的操作。
相应的,本申请实施例还提供的一种逻辑代码运行装置,包括:
第一获取单元,用于获取转译镜像文件,所述转译镜像文件包括转译程序和预设类库;
容器单元,用于根据所述转译镜像文件生成镜像容器;
第二获取单元,用于获取第一逻辑代码,所述第一逻辑代码包括调用所述预设类库的相关代码;
转译单元,用于当接收到终端发送的服务请求时,在所述镜像容器内,基于所述预设类库,通过所述转译程序将所述第一逻辑代码转译为预设语言格式的第二逻辑代码;
运行单元,用于运行所述第二逻辑代码,以响应所述服务请求,执行所述服务请求对应的操作,提供相应的服务。
相应的,本申请实施例还提供的一种计算机设备,包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行本申请实施例提供的任一种逻辑代码运行方法。
相应的,本申请实施例还提供的一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器加载以执行本申请实施例提供的任一种逻辑代码运行方法。
本申请实施例采用获取包括转译程序和预设类库的转译镜像文件;根据转译镜像文件生成镜像容器;然后,获取包括调用预设类库的相关代码的第一逻辑代码;当接收到终端发送的服务请求时,在镜像容器内,基于预设类库,通过转译程序将第一逻辑代码转译为预设语言格式的第二逻辑代码;运行第二逻辑代码,以响应服务请求,执行服务请求对应的操作。该方案的逻辑代码调用预设类库的相关代码,不需要远程拉取类库,可以增加逻辑代码的安全性;不需要远程拉取类库,以及逻辑代码更新时不需要构建镜像,只需要将更新的逻辑代码发送给服务器,减少逻辑代码发布和更新的时间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的逻辑代码运行方法的场景示意图;
图2是本申请实施例提供的逻辑代码运行方法的流程图;
图3是本申请实施例提供的逻辑代码运行方法的转译镜像文件分发示意图;
图4是本申请实施例提供的逻辑代码运行方法的第一逻辑代码同步示意图;
图5是本申请实施例提供的逻辑代码运行方法的又一流程图;
图6是本申请实施例提供的代码编写平台示意图;
图7是本申请实施例提供的逻辑代码运行方法的代码运行流程图;
图8是本申请实施例提供的逻辑代码运行示意图;
图9是本申请实施例提供的服务器结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例一种逻辑代码运行方法、装置、计算机设备和存储介质,该逻辑代码运行装置可以集成在计算机设备中,该计算机设备可以是服务器等设备,该存储介质可以是计算机可读存储介质。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器以及终端可以通过有线或无线通信方式进行直接或间接地连接,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载计算机等,但并不局限于此。本申请在此不做限制。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
例如,如图1所示,服务器在获取包括转译程序和预设类库的转译镜像文件后,根据转译镜像文件生成镜像容器;然后,获取包括调用预设类库的相关代码的第一逻辑代码;当接收到终端发送的服务请求时,在镜像容器内,基于预设类库,通过转译程序将第一逻辑代码转译为预设语言格式的第二逻辑代码;运行第二逻辑代码,以响应服务请求,执行服务请求对应的操作。该方案的逻辑代码调用预设类库的相关代码,不需要远程拉取类库,可以增加逻辑代码的安全性;不需要远程拉取类库,以及逻辑代码更新时不需要构建镜像,只需要将更新的逻辑代码发送给服务器,减少逻辑代码发布和更新的时间。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本申请实施例将从逻辑代码运行装置的角度进行描述,该逻辑代码运行装置具体可以集成在计算机设备中,该计算机设备可以是服务器等设备。
本申请实施例提供的一种逻辑代码运行方法,该方法可以由服务器执行,如图2所示,该逻辑代码运行方法的具体流程可以如下:
101、获取转译镜像文件,转译镜像文件包括转译程序和预设类库。
其中,转译镜像文件是一个特殊的文件系统,除了提供镜像容器运行时所需的逻辑代码、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像文件不包含任何动态数据,其内容在构建之后也不会被改变。
其中,镜像容器可以从镜像文件启动,比如通过docker container run和dockerservice create命令从镜像文件启动一个或者多个镜像容器。镜像容器可以用于运行应用或者服务(即,逻辑代码)。
其中,预设类库为开发人员预先设置的类库,类库(Class Library)是一个综合性面向对象可重用类型的集合,这些类型包括:接口、抽象类和具体类。类库可以解决一系列常见编程任务(比如,字符串管理、数据收集、数据库连接以及文件访问等任务),还可以解决多种专用开发任务(桌面应用程序、WEB应用程序、控制台应用程序等)。
可选的,可以通过在预设类库接入链路追踪的功能,比如基于开放分布式追踪(Open Tracing)进行分布式追踪,实现在每次调用时预设类库时,都能够查看到对应的调用链信息。
例如,具体可以是接收终端发送的转译镜像文件,可以是终端直接发送的转译镜像文件,也可以是终端间接发送的转译镜像文件。
其中,终端可以是提供云服务或者为代码程序提供底层服务的提供商(简称提供商)的相关开发人员所使用的终端。
在一实施例中,如图3所示,开发人员通过为编写的转译程序和预设类库构建转译镜像文件(即,构建镜像),比如Docker镜像,并将转译镜像文件推送至镜像仓库,镜像仓库将镜像文件分发至请求该转译镜像文件的服务器。
其中,服务器可以是Kubernetes集群,Kubernetes集群为一种稳定、开源的容器集群,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。可根据CPU、内存等资源,将服务请求调度到集群内合适的服务器上运行,使得整个集群内的资源得到充分应用。
当转译镜像文件更新时,服务器获取更新的转译镜像文件,并替换原来的镜像文件。
其中,构建转译镜像文件可以将本地的镜像推送到镜像仓库,也可以是使用代码仓库,在镜像服务商提供的平台通过触发触发器在云服务中进行构建转译镜像文件,在此不做限制。
镜像仓库可以用于存储终端发送的转译镜像文件,以及将转译镜像文件分发至服务器。镜像仓库可以是公共仓库,也可以是用户自己搭载的私人仓库,在此不做限制。
为了防止转译镜像文件被恶意篡改,导致运行逻辑代码时出现异常,无法提供相应的服务,可以验证发送转译镜像文件的用户的身份,以提高获取的转译镜像文件的安全性,。
可选的,转译镜像文件可以携带身份标识,在获取转译镜像文件后,判断其所携带的身份标识是否为目标身份标识。若转译镜像文件携带的身份标识为目标身份标识,则存储转译镜像文件;若转译镜像文件携带的身份标识不为目标身份标识,则不存储转译镜像文件。
其中,目标身份标识可以根据实际需要进行设置。
102、根据转译镜像文件生成镜像容器。
其中,镜像容器可以从镜像文件启动,用于运行和隔离应用(即,逻辑代码)。
比如,具体可以是,获取到转译镜像文件后,在该转译镜像文件上通过dockercontainer run和docker service create命令启动容器,以在该容器内运行步骤103获取的第一逻辑代码。
103、获取第一逻辑代码,第一逻辑代码包括调用预设类库的相关代码。
其中,第一逻辑代码可以是开发人员编写的可以提供特定服务的逻辑代码,比如说应用程序。第一逻辑代码的语言格式可以有多种,开发人员可以根据需要选择编程语言编写代码,比如JavaScript和lua。
比如,具体可以是获取终端发送的第一逻辑代码。
其中,终端可以是使用提供商提供的云服务,为所编写的逻辑代码的运行提供底层服务的开发人员所使用的终端。
由于服务器需要响应服务请求,当服务请求数量超过服务器的处理能力时,会导致服务器的处理速度缓慢。在服务请求数量过多时,提供商通常通过增加服务器的数量以适应当下的服务请求数量。而新增加的服务器上并没有部署相关的第一逻辑代码和转译镜像文件,可以利用配置中心存储开发人员发送的第一逻辑代码,当服务器增加时,可以从配置中心和镜像仓库获取的获取第一逻辑代码和转译镜像文件。
在一实施例中,获取第一逻辑代码可以是获取配置中心发送的第一逻辑代码,当服务器扩容时,向配置中心发送数据获取请求;接收配置中心响应该数据获取请求发送的第一逻辑代码。
其中,配置中心用于响应终端的逻辑代码更新请求,将逻辑代码更新请求携带的第一逻辑代码进行存储,并发送给服务器。
其中,第一逻辑代码携带标识信息,配置中心可以根据标识信息对的第一逻辑代码进行存储。存储规则可以由提供商的相关开发人员进行设置,比如,存储预设数量版本的第一逻辑代码,当存储的第一逻辑代码的版本数量超过预设数量时,删除最早版本的第一逻辑代码;或者,只保存最新版本的第一逻辑代码,不保存其他版本的第一逻辑代码。
因为服务器获取的第一逻辑代码可以是更新的第一逻辑代码,即开发人员对已发送至服务器的第一逻辑代码进行增加、修改或者删除操作,对提供的服务将进行改进,或者增加服务;也可以是开发人员为实现新的服务而编写的第一逻辑代码,即从未发送至服务器的第一逻辑代码。
在一实施例中,如图4所示,开发人员将编写的第一逻辑代码上传至配置中心(即同步逻辑代码至配置中心),配置中心接收到第一逻辑代码后,根据第一逻辑代码携带的标识信息,按照预设的规则存储第一逻辑代码,以及将第一逻辑代码发送至服务器,即推送第一逻辑代码至服务器。
在一实施例中,可以根据第一逻辑代码携带的标识信息,判断数据库中是否已经存在该标识信息,若存在,则该第一逻辑代码是更新的第一逻辑代码,若不存在,则该第一逻辑代码不是更新的第一逻辑代码,是开发人员为实现新的服务而编写的第一逻辑代码。
若获取到的是更新的逻辑代码,则替换原有的第一逻辑代码,若获取到的不是更新的第一逻辑代码,则存储第一逻辑代码。
104、当接收到终端发送的服务请求时,在镜像容器内,基于预设类库,通过转译程序将第一逻辑代码转译为预设语言格式的第二逻辑代码。
其中,终端可以是安装有与第一逻辑代码相应的应用程序,或者是应用程序的子应用程序,比如小程序。
其中,服务请求可以是云端数据/文件存储、账户管理、数据采集、运营分析、消息推送和社交媒体整合等请求。
其中,第二逻辑代码可以是以语法树的形式表示,语法树是句子结构的图形表示,它代表了句子的推导结果,有利于理解句子语法结构的层次。比如可以是抽象语法树(Abstract Syntax Tree,AST),或者是具体语法树(Concrete Syntax Tree,CST)。
CST是一个反映某种形式语言字符串的语法关系的有根有序树。解析树一般按照两种相反的法则生成,一种是依存语法,一种是短语结构语法;AST是语法结构的一种抽象表示,其以树状的形式表现结构,即树上的每个节点都语法中的一种结构。
比如,具体可以是接收到终端发送的服务请求,在步骤102中根据转译镜像文件所生成镜像容器内,根据预设类库,对获取的第一逻辑代码进行转译,得到以抽象语法树形式表示的第二逻辑代码。
可选的,转译程序可以包括自定义语言解释程序,也可称为自定义语言解释器,自定义语言解释器可以将特定语言格式(可以是一种或者多种)的第一逻辑代码转译为预设语言格式的第二逻辑代码,比如将JavaScript语言转译(也可称为解析)为AST;将lua语言解析为AST。
可选的,由于第一逻辑语言的语言格式有多种,第二逻辑语言的格式也有多种,为了满足不同语言的转译需求,转译程序可以包括多个自定义语言解释器,根据第一逻辑代码的语言类型,或者根据第一逻辑代码的语言类型和所要转译的第二逻辑代码的语言格式,选择相应的自定义语言解释器,比如采用第一自定义语言解释器,将JavaScript语言转译为AST形式表示的第一逻辑语言;采用第二自定义语言解释器,将JavaScript语言转译为CST形式表示的第二逻辑语言。
由于,第一逻辑代码包括调用预设类库的相关代码,当接收到服务请求,转译对应的第一逻辑代码时,若对应的第一逻辑代码为目标代码,比如为调用预设类库的相关代码,则对类库中的相关代码进行转译。
在一实施例中,当接收到终端发送的服务请求时,在步骤102中生成的镜像容器内,读取第一逻辑代码,判断第一逻辑代码是否为目标代码,比如是否为调用预设类库的相关代码;若第一逻辑代码为目标代码,则获取预设类库中与目标代码对应代码,通过转译程序对代码进行转译得到第二逻辑代码;若第一逻辑代码不为目标代码,通过转译程序将第一逻辑代码进行转译得到第二逻辑代码。
105、运行第二逻辑代码,以响应服务请求,执行服务请求对应的操作。
比如,具体可以是当接收到数据获取请求时,将第一逻辑代码进行解析,得到抽象语法树,然后遍历该抽象语法树的节点以运行该抽象语法树所表示的第二逻辑代码,从第二逻辑代码指示的位置,比如数据库获取相应的数据,并将获取的数据返回给触发数据获取请求的终端。
其中,遍历的方式有多种,比如前序遍历、中序遍历和后序遍历等,开发人员可以根据编程语言的语法结构进行预先设置遍历的方式。
本申请实施例在获取包括转译程序和预设类库的转译镜像文件后,根据转译镜像文件生成镜像容器;然后,获取包括调用预设类库的相关代码的第一逻辑代码;当接收到终端发送的服务请求时,在镜像容器内,基于预设类库,通过转译程序将第一逻辑代码转译为预设语言格式的第二逻辑代码;运行第二逻辑代码,以响应服务请求,执行服务请求对应的操作。该方案的逻辑代码调用预设类库的相关代码,不需要远程拉取类库,可以增加逻辑代码的安全性;不需要远程拉取类库,以及逻辑代码更新时不需要构建镜像,只需要将更新的逻辑代码发送给服务器,减少逻辑代码发布和更新的时间。
在上述实施例的基础上,下面将举例做进一步详细说明。
本实施例将从逻辑代码运行装置的角度进行描述,该逻辑代码运行装置具体可以集成在计算机设备中,该计算机设备可以是服务器等设备。
本申请实施例提供的一种逻辑代码运行方法,该方法可以由服务器执行,如图5所示,该逻辑代码运行方法的具体流程可以如下:
201、获取转译镜像文件。
比如,具体可以是接收终端发送的转译镜像文件。
可选的,获取终端直接发送的转译镜像文件,用户通过为编写的转译程序和预设类库构建转译镜像文件,将转译镜像文件发送至服务器。
可选的,获取终端间接发送的转译镜像文件,比如用户通过为编写的转译程序和预设类库构建转译镜像文件,比如Docker镜像,并将转译镜像文件推送至镜像仓库,镜像仓库将镜像文件分发至请求该转译镜像文件的服务器。
其中,构建转译镜像文件可以将本地的镜像推送到镜像仓库,也可以是使用代码仓库,在镜像服务商提供的平台通过触发触发器在云服务中进行构建转译镜像文件,在此不做限制。
镜像仓库可以用于存储终端发送的转译镜像文件,以及将转译镜像文件分发至服务器。镜像仓库可以是公共仓库,也可以是用户自己搭载的私人仓库,在此不做限制。
202、若转译镜像文件携带的身份标识为目标身份标识,则存储转译镜像文件。
比如,具体可以是转译镜像文件可以携带身份标识,判断转译镜像文件所携带的身份标识是否为目标身份标识。若转译镜像文件携带的身份标识为目标身份标识,则存储转译镜像文件;若转译镜像文件携带的身份标识不为目标身份标识,则不存储转译镜像文件。
可选的,当转译镜像文件更新时(可以是云服务或者底层服务提供商的相关开发人员修改转译镜像文件,得到新版本的转译镜像文件),服务器获取更新的转译镜像文件,并替换原来的镜像文件。
203、根据转译镜像文件生成镜像容器。
比如,具体可以是,获取到转译镜像文件后,在该转译镜像文件上启动容器,以在该容器内运行步骤204获取的第一逻辑代码,比如通过docker container run和dockerservice create命令从Docker镜像文件启动一个或者多个镜像容器。
204、获取配置中心发送第一逻辑代码。
其中,配置中心用于响应终端的逻辑代码更新请求,将逻辑代码更新请求携带的第一逻辑代码进行存储,并发送给服务器。
其中,终端可以是使用提供商提供的云服务,为所编写逻辑代码的运行提供底层服务的开发人员所使用的终端。
比如,具体可以是获取配置中心发送的第一逻辑代码。
可选的,当服务器扩容时,向配置中心发送第一逻辑代码获取请求,接收到配置中心响应第一逻辑代码获取请求发送所存储的第一逻辑代码。
Serverless架构实际上是函数即服务和后端即服务,即FaaS和Baas。通常一个应用程序捆绑一个或多个函数,开发者只需要将这些函数开发完成,并且上传至提供商提供的Serverless,然后运行即可。
FaaS通常提供事件驱动计算,开发人员使用由事件或HTTP请求触发的函数来运行和管理应用程序代码(即本申请实施例的第一逻辑代码)。开发人员将代码以函数为单元部署到FaaS平台,程序代码将根据需要执行(运行)。
其中,一个事件可以触发一个函数,或者事件的和(或)组合触发一个函数,或者一个事件触发顺序或并行执行多个函数,或者函数的结果可能是另一个函数的触发器,又或者N个事件触发M个函数。
可选的,如图6所示,开发人员可以在云服务或者底层服务提供商所提供的平台编写代码,并对代码进行调试,即开发人员可以在本地Web开发环境中构建和测试函数,并将构建的函数上传至Severless平台;以及,声明事件触发器、函数,以及函数运行时,事件与函数的关系。
其中,触发器是响应一个特定事件的声明,可以是人为触发,也可以是在接收到某个特定事件时被自动触发。
可以通过将一个规则(Rule)将一个触发器(Trigger)与一个操作(Action)相关联,触发器(Trigger)的每次触发都会导致以触发器事件作为输入调用相应的操作。使用适当的规则集,单个触发器事件可以调用多个操作,或者可以调用操作作为来自多个触发器的事件的响应。
开发人员在编写逻辑代码时,可以根据需要自行选择数据的IO(Input/Output,IO)方式和调用IO接口的方式。IO方式有同步IO和异步IO,使用异步IO编写程序性能会高于同步IO;在程序调用IO接口存在阻塞调用和非阻塞调用两种方式,阻塞方式相比较非阻塞方式更直观。
可选的,可以通过在平台上对开发人员所选择的IO方式和调用IO接口进行限定,比如开发人员只能使用阻塞调用和异步IO的方式进行IO操作,使获取的第一逻辑语言实现高性能的数据传输。
205、查询服务器的数据库中的标识信息,若数据库中不存在标识信息,则存储第一逻辑代码。
比如,具体可以是第一逻辑代码可以携带标识信息,查询数据库中的标识信息,若数据库中不存在该标识信息,该第一逻辑代码为开发人员为实现新的服务而编写的第一逻辑代码,存储该第一逻辑代码。
其中,标识信息可以用于识别第一逻辑代码是更新的第一逻辑代码,还是为实现新的服务而编写的第一逻辑代码。
206、若数据库中存在标识信息,则将数据库中标识信息对应逻辑代码替换为第一逻辑代码。
比如,具体可以是查询数据库中的标识信息,若数据库中存在该标识信息,该第一逻辑代码为更新的第一逻辑代码,则删除数据库中原有的第一逻辑代码,存储更新的逻辑代码。
207、当接收到终端发送的服务请求时,识别该服务请求对应的第一逻辑代码的语言类型。
比如,具体可以是当接收到终端发送的服务请求时,根据第一逻辑代码的关键词识别该服务请求对应的第一逻辑代码的语言类型。
208、根据语言类型调用对应的自定义语言解释程序,在镜像容器内,基于预设类库,通过自定义语言解释程序将第一逻辑代码转译为预设语言格式的第二逻辑代码。
比如,具体可以是根据识别的语言类型调用对应的自定义语言解释程序,在镜像容器内,基于预设类库,通过自定义语言解释程序将第一逻辑代码转译为以抽象语法树形式表示的第二逻辑语言。
可选的,由于,第一逻辑代码包括调用预设类库的相关代码,当接收到服务请求,若对应的第一逻辑代码为目标代码,比如为调用预设类库的相关代码,则对类库中的相关代码进行转译,则进行转译之前判断第一逻辑代码是否为目标代码。
如图7所示,当接收到终端发送的服务请求时,读取第一逻辑代码,判断第一逻辑代码是否为目标代码,比如是否为调用预设类库的相关代码;若第一逻辑代码为目标代码,则获取预设类库中与目标代码对应的代码,识别的语言类型。根据语言类型调用对应的自定义语言解释程序,在镜像容器内,基于预设类库,通过自定义语言解释程序将对应的代码转译为预设语言格式的第二逻辑代码。
若第一逻辑代码不为目标代码,识别的语言类型;根据语言类型调用对应的自定义语言解释程序,在镜像容器内,基于预设类库,通过自定义语言解释程序将第一逻辑代码转译为预设语言格式的第二逻辑代码。
209、运行第二逻辑代码,以响应服务请求,执行服务请求对应的操作。
比如,具体可以是当接收到数据获取请求时,将第一逻辑代码进行解析,得到抽象语法树,然后遍历该抽象语法树的节点以运行该抽象语法树所表示的第二逻辑代码,从第二逻辑代码指示的位置,比如数据库获取相应的数据,并将获取的数据返回给触发数据获取请求的终端。
本申请实施例获取转译镜像文件,若转译镜像文件携带的身份标识为目标身份标识,则存储转译镜像文件,根据转译镜像文件生成镜像容器,然后,获取配置中心发送第一逻辑代码,查询服务器的数据库中的标识信息,若数据库中不存在标识信息,则存储第一逻辑代码,若数据库中存在标识信息,则将数据库中标识信息对应逻辑代码替换为第一逻辑代码,当接收到终端发送的服务请求时,识别该服务请求对应的第一逻辑代码的语言类型,根据语言类型调用对应的自定义语言解释程序,在镜像容器内,基于预设类库,通过自定义语言解释程序将第一逻辑代码转译为预设语言格式的第二逻辑代码,运行第二逻辑代码。该方案的逻辑代码调用预设类库的相关代码,不需要远程拉取类库,可以增加逻辑代码的安全性;不需要远程拉取类库,以及逻辑代码更新时不需要构建镜像,只需要将更新的逻辑代码发送给服务器,减少逻辑代码发布和更新的时间。
为了更好地实施以上方法,本申请实施例还提供一种逻辑代码运行装置,如图8所示,该逻辑代码运行装置可以包括第一获取单元301、容器单元302、第二获取单元303、转译单元304和运行单元305,如下:
(1)第一获取单元301:
第一获取单元301,用于获取转译镜像文件,转译镜像文件包括转译程序和预设类库。
比如,具体可以是获取开发人员通过为编写的转译程序和预设类库构建转译镜像文件(即,构建镜像),比如Docker镜像,并将转译镜像文件推送至镜像仓库的转译镜像文件,或者是终端直接发送的转译镜像文件。
可选的,第一获取单元301还包括身份识别子单元,身份识别子单元用于:
若转译镜像文件携带的身份标识为目标身份标识,则存储转译镜像文件;
若转译镜像文件携带的身份标识不为目标身份标识,则不存储转译镜像文件。
比如,具体可以是为了防止转译镜像文件被恶意篡改,导致运行逻辑代码时出现异常,无法提供相应的服务,可以预先设置有权限上传转译镜像文件的用户,通过验证发送转译镜像文件的用户的身份,判断该用户是否有权限上传转译镜像文件,即判断该身份标识是否为目标身份标识,若是,则保存该转译镜像文件,若不是,不对该转译镜像文件进行保存。
(2)容器单元302:
容器单元302,用于根据转译镜像文件生成镜像容器。
比如,具体可以是获取到转译镜像文件后,在该转译镜像文件上通过dockercontainer run和docker service create命令启动容器启动容器,以在该容器内运行由第一获取单元301获取的第一逻辑代码。
(3)第二获取单元303:
第二获取单元303,用于获取第一逻辑代码,第一逻辑代码包括调用预设类库的相关代码。
比如,具体可以是获取终端发送的第一逻辑代码,终端可以是使用提供商提供的云服务,为所编写逻辑代码的运行提供底层服务的开发人员所使用的终端,还可以是获取第一逻辑代码可以是获取配置中心发送的第一逻辑代码。
可选的,第二获取单元303还包括判断子单元,判断子单元用于:
查询服务器的数据库中的标识信息;
若数据库中不存在标识信息,则存储第一逻辑代码;
若数据库中存在标识信息,则将数据库中标识信息对应逻辑代码替换为第一逻辑代码。
比如,具体可以是第一逻辑代码携带标识信息,查询数据库中的标识信息,若数据库中不存在该标识信息,该第一逻辑代码为开发人员为实现新的服务而编写的第一逻辑代码,存储该第一逻辑代码;若存在,该第一逻辑代码是更新的第一逻辑代码,则替换原有的第一逻辑代码。
可选的,第二获取单元303包括逻辑代码获取子单元,逻辑代码获取子
单元用于:
获取配置中心发送的第一逻辑代码,配置中心用于响应终端的逻辑代码更新请求,将逻辑代码更新请求携带的第一逻辑代码进行存储,并发送给服务器。
比如,具体可以是获取配置中心发送的第一逻辑代码。
可选的,获取子单元303还包括数据获取模块,数据获取模块用于:
服务器扩容时,向配置中心发送数据获取请求;
接收到配置中心响应数据获取请求发送所存储的第一逻辑代码。
比如,具体可以是服务请求数量超过服务器的处理能力时,会导致服务器的处理速度缓慢,当服务器扩容时,向配置中心发送第一逻辑代码获取请求,接收到配置中心响应第一逻辑代码获取请求发送所存储的第一逻辑代码。
(4)转译单元304:
转译单元304,用于当接收到终端发送的服务请求时,在镜像容器内,基于预设类库,通过转译程序将第一逻辑代码转译为预设语言格式的第二逻辑代码。
比如,具体可以是接收到终端发送的服务请求,在通过容器单元302根据转译镜像文件所生成镜像容器内,根据预设类库,对获取的第一逻辑代码进行转译,得到以抽象语法树形式表示的第二逻辑代码。
可选的,转译单元304还包括第一识别子单元和第二识别子单元,其中第一子单元用于:
当接收到终端发送的服务请求时,识别第一逻辑代码的语言类型;
根据语言类型调用对应的自定义语言解释程序;
在镜像容器内,基于预设类库,通过自定义语言解释程序将第一逻辑代码转译为预设语言格式的第二逻辑代码。
比如,具体可以是当接收到终端发送的服务请求时,通过关键词识别该服务请求对应的第一逻辑代码的语言类型,根据语言类型调用对应的自定义语言解释程序,在镜像容器内,基于预设类库,通过自定义语言解释程序将第一逻辑代码转译为预设语言格式的第二逻辑代码。
第二识别子单元用于:
当接收到终端发送的服务请求时,在镜像容器内,读取第一逻辑代码;
若第一逻辑代码为目标代码,则获取预设类库中与目标代码对应代码,通过转译程序对代码进行转译得到第二逻辑代码;
若第一逻辑代码不为目标代码,通过转译程序将第一逻辑代码进行转译得到第二逻辑代码。
比如,具体可以是当接收到终端发送的服务请求时,在通过容器单元302生成的镜像容器内,读取第一逻辑代码,判断第一逻辑代码是否为调用预设类库的相关代码;若第一逻辑代码为调用预设类库的相关代码,则获取预设类库中与目标代码对应代码,通过转译程序对代码进行转译得到第二逻辑代码;若第一逻辑代码不为调用预设类库的相关代码,通过转译程序将第一逻辑代码进行转译得到第二逻辑代码。
(5)运行单元305:
运行单元305,用于运行第二逻辑代码,以响应服务请求,执行服务请求对应的操作,提供相应的服务。
比如,具体可以是当接收到数据获取请求时,将第一逻辑代码进行解析,得到抽象语法树,然后遍历该抽象语法树的节点以运行该抽象语法树所表示的第二逻辑代码,从第二逻辑代码指示的位置,比如数据库获取相应的数据,并将获取的数据返回给触发数据获取请求的终端。
由上可知,本申请实施例通过第一获取单元301获取包括转译程序和预设类库的转译镜像文件后,由容器单元302根据转译镜像文件生成镜像容器;然后,经第二获取单元303获取包括调用预设类库的相关代码的第一逻辑代码;当接收到终端发送的服务请求时,通过转移单元304在镜像容器内,基于预设类库,通过转译程序将第一逻辑代码转译为预设语言格式的第二逻辑代码;由运行单元305运行第二逻辑代码,以响应服务请求,执行服务请求对应的操作。本申请实施例的逻辑代码调用预设类库的相关代码,不需要远程拉取类库,可以增加逻辑代码的安全性;不需要远程拉取类库,以及逻辑代码更新时不需要构建镜像,只需要将更新的逻辑代码发送给服务器,减少逻辑代码发布和更新的时间。
本申请实施例还提供一种计算机设备,本申请实施例还提供一种计算机设备,该计算机设备可以是服务器,如图9所示,其示出了本申请实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图9中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取包括转译程序和预设类库的转译镜像文件;根据转译镜像文件生成镜像容器;获取包括调用预设类库的相关代码的第一逻辑代码;当接收到终端发送的服务请求时,在镜像容器内,基于预设类库,通过转译程序将第一逻辑代码转译为预设语言格式的第二逻辑代码;运行第二逻辑代码,以响应服务请求,执行服务请求对应的操作。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
由上可知,本实施例的服务器运行的逻辑代码调用预设类库的相关代码,不需要远程拉取类库,可以增加逻辑代码的安全性;不需要远程拉取类库,以及逻辑代码更新时不需要构建镜像,服务器接收的不是包括逻辑代码的镜像文件,而只是更新的逻辑代码,减少逻辑代码发布和更新的时间。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种逻辑代码运行方法。
以上逻辑代码运行方法的各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种逻辑代码运行方法中的步骤,因此,可以实现本申请实施例所提供的任一种逻辑代码运行方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种逻辑代码运行方法、装置、计算机设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上该,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种逻辑代码运行方法,其特征在于,包括:
获取转译镜像文件,所述转译镜像文件包括转译程序和预设类库;
根据所述转译镜像文件生成镜像容器;
获取第一逻辑代码,所述第一逻辑代码包括调用所述预设类库的相关代码;
当接收到终端发送的服务请求时,在所述镜像容器内,基于所述预设类库,通过所述转译程序将所述第一逻辑代码转译为预设语言格式的第二逻辑代码;
运行所述第二逻辑代码,以响应所述服务请求,执行所述服务请求对应的操作。
2.根据权利要求1所述的方法,其特征在于,所述第一逻辑代码携带标识信息,所述获取第一逻辑代码之后,所述方法还包括:
查询服务器的数据库中的标识信息;
若所述数据库中不存在所述标识信息,则存储所述第一逻辑代码;
若所述数据库中存在所述标识信息,则将所述数据库中所述标识信息对应逻辑代码替换为所述第一逻辑代码。
3.根据权利要求1所述的方法,其特征在于,所述转译程序包括自定义语言解释程序,所述当接收到终端发送的服务请求时,在所述镜像容器内,基于所述预设类库,通过所述转译程序将所述第一逻辑代码转译为预设语言格式的第二逻辑代码,包括:
当接收到终端发送的服务请求时,识别所述第一逻辑代码的语言类型;
根据所述语言类型调用对应的自定义语言解释程序;
在所述镜像容器内,基于所述预设类库,通过所述自定义语言解释程序将所述第一逻辑代码转译为预设语言格式的第二逻辑代码。
4.根据权利要求1所述的方法,其特征在于,所述当接收到终端发送的服务请求时,在所述镜像容器内,基于所述预设类库,通过所述转译程序将所述第一逻辑代码转译为预设语言格式的第二逻辑代码,包括:
当接收到终端发送的服务请求时,在所述镜像容器内,读取所述第一逻辑代码;
若所述第一逻辑代码为目标代码,则获取所述预设类库中与目标代码对应的代码,通过所述转译程序对所述代码进行转译得到第二逻辑代码;
若所述第一逻辑代码不为目标代码,通过所述转译程序将所述第一逻辑代码进行转译得到第二逻辑代码。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述获取第一逻辑代码,包括:
获取配置中心发送的第一逻辑代码,所述配置中心用于响应终端的逻辑代码更新请求,将所述逻辑代码更新请求携带的第一逻辑代码进行存储,并发送给服务器。
6.根据权利要求5所述的方法,其特征在于,所述获取配置中心发送的第一逻辑代码,还包括:
当服务器扩容时,向所述配置中心发送数据获取请求;
接收到所述配置中心响应所述数据获取请求发送所存储的第一逻辑代码。
7.根据权利要求1所述的方法,其特征在于,所述转译镜像文件携带身份标识,所述获取转译镜像文件之后,所述方法还包括:
若所述转译镜像文件携带的身份标识为目标身份标识,则存储所述转译镜像文件;
若所述转译镜像文件携带的身份标识不为目标身份标识,则不存储所述转译镜像文件。
8.一种逻辑代码运行装置,其特征在于,包括:
第一获取单元,用于获取转译镜像文件,所述转译镜像文件包括转译程序和预设类库;
容器单元,用于根据所述转译镜像文件生成镜像容器;
第二获取单元,用于获取第一逻辑代码,所述第一逻辑代码包括调用所述预设类库的相关代码;
转译单元,用于当接收到终端发送的服务请求时,在所述镜像容器内,基于所述预设类库,通过所述转译程序将所述第一逻辑代码转译为预设语言格式的第二逻辑代码;
运行单元,用于运行所述第二逻辑代码,以响应所述服务请求,执行所述服务请求对应的操作,提供相应的服务。
9.一种计算机设备,其特征在于,包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器加载以执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110026181.5A CN112698921B (zh) | 2021-01-08 | 2021-01-08 | 一种逻辑代码运行方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110026181.5A CN112698921B (zh) | 2021-01-08 | 2021-01-08 | 一种逻辑代码运行方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112698921A true CN112698921A (zh) | 2021-04-23 |
CN112698921B CN112698921B (zh) | 2023-10-03 |
Family
ID=75513529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110026181.5A Active CN112698921B (zh) | 2021-01-08 | 2021-01-08 | 一种逻辑代码运行方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112698921B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296910A (zh) * | 2021-05-17 | 2021-08-24 | 深圳市优必选科技股份有限公司 | 文件系统的调用方法、装置、终端设备及可读存储介质 |
CN113590166A (zh) * | 2021-08-02 | 2021-11-02 | 腾讯数码(深圳)有限公司 | 应用程序的更新方法、装置以及计算机可读存储介质 |
CN113742716A (zh) * | 2021-11-04 | 2021-12-03 | 腾讯科技(深圳)有限公司 | 代码运行方法、装置、电子设备、存储介质和程序产品 |
CN115550375A (zh) * | 2022-08-31 | 2022-12-30 | 云南电网有限责任公司信息中心 | 基于容器化技术实现区块链轻量化的系统、方法及设备 |
WO2023246398A1 (zh) * | 2022-06-22 | 2023-12-28 | 北京火山引擎科技有限公司 | 云服务实现方法及装置 |
CN117435200A (zh) * | 2023-12-21 | 2024-01-23 | 粤港澳大湾区数字经济研究院(福田) | 同态加密业务代码转译方法、装置、设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050155027A1 (en) * | 2004-01-09 | 2005-07-14 | Wei Coach K. | System and method for developing and deploying computer applications over a network |
CN108958843A (zh) * | 2018-07-12 | 2018-12-07 | 成都数字天空科技有限公司 | 基于轻量化脚本的插件构建方法、系统、设备及介质 |
CN109324799A (zh) * | 2018-09-25 | 2019-02-12 | 珠海市筑巢科技有限公司 | 一种代码编译方法、计算机装置及计算机可读存储介质 |
-
2021
- 2021-01-08 CN CN202110026181.5A patent/CN112698921B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050155027A1 (en) * | 2004-01-09 | 2005-07-14 | Wei Coach K. | System and method for developing and deploying computer applications over a network |
CN108958843A (zh) * | 2018-07-12 | 2018-12-07 | 成都数字天空科技有限公司 | 基于轻量化脚本的插件构建方法、系统、设备及介质 |
CN109324799A (zh) * | 2018-09-25 | 2019-02-12 | 珠海市筑巢科技有限公司 | 一种代码编译方法、计算机装置及计算机可读存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296910A (zh) * | 2021-05-17 | 2021-08-24 | 深圳市优必选科技股份有限公司 | 文件系统的调用方法、装置、终端设备及可读存储介质 |
CN113296910B (zh) * | 2021-05-17 | 2023-12-15 | 深圳市优必选科技股份有限公司 | 文件系统的调用方法、装置、终端设备及可读存储介质 |
CN113590166A (zh) * | 2021-08-02 | 2021-11-02 | 腾讯数码(深圳)有限公司 | 应用程序的更新方法、装置以及计算机可读存储介质 |
CN113590166B (zh) * | 2021-08-02 | 2024-03-26 | 腾讯数码(深圳)有限公司 | 应用程序的更新方法、装置以及计算机可读存储介质 |
CN113742716A (zh) * | 2021-11-04 | 2021-12-03 | 腾讯科技(深圳)有限公司 | 代码运行方法、装置、电子设备、存储介质和程序产品 |
CN113742716B (zh) * | 2021-11-04 | 2022-02-08 | 腾讯科技(深圳)有限公司 | 代码运行方法、装置、电子设备、存储介质和程序产品 |
WO2023246398A1 (zh) * | 2022-06-22 | 2023-12-28 | 北京火山引擎科技有限公司 | 云服务实现方法及装置 |
CN115550375A (zh) * | 2022-08-31 | 2022-12-30 | 云南电网有限责任公司信息中心 | 基于容器化技术实现区块链轻量化的系统、方法及设备 |
CN115550375B (zh) * | 2022-08-31 | 2024-03-15 | 云南电网有限责任公司信息中心 | 基于容器化技术实现区块链轻量化的系统、方法及设备 |
CN117435200A (zh) * | 2023-12-21 | 2024-01-23 | 粤港澳大湾区数字经济研究院(福田) | 同态加密业务代码转译方法、装置、设备及可读存储介质 |
CN117435200B (zh) * | 2023-12-21 | 2024-04-16 | 粤港澳大湾区数字经济研究院(福田) | 同态加密业务代码转译方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112698921B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112698921B (zh) | 一种逻辑代码运行方法、装置、计算机设备和存储介质 | |
US11829742B2 (en) | Container-based server environments | |
JP7421511B2 (ja) | アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム | |
US9363195B2 (en) | Configuring cloud resources | |
JP2020096357A (ja) | コンテナオーケストレーションサービスを使用した動的ルーティング | |
CN111901294A (zh) | 一种构建在线机器学习项目的方法及机器学习系统 | |
US10884764B1 (en) | Optimizing managed runtime applications for serverless environments | |
US12014216B2 (en) | Method for platform-based scheduling of job flow | |
US10534640B2 (en) | System and method for providing a native job control language execution engine in a rehosting platform | |
US20170131980A1 (en) | Model driven architecture for network management and configuration | |
CN116700745A (zh) | 基于容器云平台的应用部署方法、装置、电子设备和介质 | |
Cai et al. | Deployment and verification of machine learning tool-chain based on kubernetes distributed clusters: This paper is submitted for possible publication in the special issue on high performance distributed computing | |
US20180107723A1 (en) | Content oriented analysis of dumps | |
CN114168151B (zh) | 基于容器的程序编译方法、装置、电子设备及存储介质 | |
CN115567526A (zh) | 数据监控方法、装置、设备及介质 | |
US11640281B2 (en) | Tool for introspection in object-oriented source code | |
CN105610908B (zh) | 一种基于安卓设备的samba服务实现方法及系统 | |
Weidner et al. | Collabs: A Flexible and Performant CRDT Collaboration Framework | |
CN112783757B (zh) | 测试系统、方法、计算机系统和计算机可读存储介质 | |
Xiao et al. | A Metadata-driven Cloud Computing Application Virtualization Model. | |
US11514016B2 (en) | Paging row-based data stored as objects | |
CN114553688B (zh) | 云计算部署方法、装置、设备及计算机可读存储介质 | |
US11726776B2 (en) | Super-app extension discovery and configuration via source code management platform comments | |
CN118057306A (zh) | 安装包的生成方法、装置、服务器、介质和程序产品 | |
US20230113408A1 (en) | Training and inference management for composite machine learning scenarios |
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 |