CN107894886A - 一种运行代码的方法、装置及终端设备 - Google Patents

一种运行代码的方法、装置及终端设备 Download PDF

Info

Publication number
CN107894886A
CN107894886A CN201711184315.6A CN201711184315A CN107894886A CN 107894886 A CN107894886 A CN 107894886A CN 201711184315 A CN201711184315 A CN 201711184315A CN 107894886 A CN107894886 A CN 107894886A
Authority
CN
China
Prior art keywords
code
module
operation code
initial information
parameter
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
Application number
CN201711184315.6A
Other languages
English (en)
Other versions
CN107894886B (zh
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.)
Nine Chapter Yunji Technology Co Ltd Beijing
Original Assignee
Nine Chapter Yunji Technology Co Ltd Beijing
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 Nine Chapter Yunji Technology Co Ltd Beijing filed Critical Nine Chapter Yunji Technology Co Ltd Beijing
Priority to CN201711184315.6A priority Critical patent/CN107894886B/zh
Publication of CN107894886A publication Critical patent/CN107894886A/zh
Application granted granted Critical
Publication of CN107894886B publication Critical patent/CN107894886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种运行代码的方法、装置及终端设备,包括:映射外部存储资源,设置初始信息;将所述初始信息设置为运行代码时所需的参数;调用所述参数,运行代码;以及进行数据输出。本发明采用容器进行应用程序的隔离和封装,提高了运行和开发效率。

Description

一种运行代码的方法、装置及终端设备
技术领域
本申请涉及信息技术领域,尤其涉及一种运行代码的方法、装置及终端设备。
背景技术
在信息技术领域,特别是数据处理领域,当前的环境越来越重视数据的累积,随着数据量的越来越大,对处理数据的能力以及对系统的基本架构有更高的要求,需要更快的处理速度、更大的数据存储能力和易维护性。面对日益增长的数据量和日益复杂的业务,当前的数据处理软件无法满足这样的需求变化。
发明内容
有鉴于此,本发明提供一种运行代码的方法、装置及终端设备,以提高数据处理性能。
为了达到上述目的,本发明采用的技术方案如下:
一方面,本发明提供了一种运行代码的方法,所述方法包括:映射外部存储资源,设置初始信息;将所述初始信息设置为运行代码时所需的参数;调用所述参数,运行代码;以及进行数据输出。
在某些实施方式中,在将所述初始信息设置为运行代码时所需的参数之前,所述方法还包括:判断是否需要验证,响应于需要验证,执行验证步骤,在验证通过后执行将所述初始信息设置为运行代码时所需的参数步骤;响应于不需要验证,直接执行将所述初始信息设置为运行代码时所需的参数步骤。
在某些实施方式中,所述判断是否需要验证具体包括:检测到外部资源设置了权限则需要验证,检测到外部资源不设置权限则自动跳过验证步骤;所述执行验证步骤具体包括:根据所述映射的外部存储资源中的系统文件资源检测出当前所需的验证系统,进行权限验证。
在某些实施方式中,所述初始信息包括初始目录和环境变量,所述初始信息存储在外部存储资源中。
在某些实施方式中,所述外部存储资源包括下述至少之一:当前终端设备系统的文件系统、网络文件系统NFS、大数据分布式文件系统HDFS、通用分布式文件系统Ceph。
在某些实施方式中,所述方法还包括:对不同类型的外部资源进行一致性处理,以使得代码访问外部资源的方式一致。
在某些实施方式中,所述方法还包括:对不同类型编程语言的代码进行一致性处理。
在某些实施方式中,所述进行数据输出具体包括:通过输入输出管理进行数据输出及存储,以提供给其他组件使用。
第二方面,本发明提供了一种运行代码的装置,所述装置包括:管理系统模块,用于映射外部存储资源,设置初始信息;运行时模块,用于将所述初始信息设置为运行代码时所需的参数;代码模块,用于调用所述参数,运行代码;以及输出模块,用于进行数据输出。
在某些实施方式中,所述装置还包括:验证判断模块和验证模块,验证判断模块用于判断是否需要验证,响应于需要验证,运行验证模块,在验证通过后执行将所述初始信息设置为运行代码时所需的参数步骤;响应于不需要验证,直接执行将所述初始信息设置为运行代码时所需的参数步骤。
在某些实施方式中,所述判断是否需要验证具体包括:检测到外部资源设置了权限则需要验证,检测到外部资源不设置权限则自动跳过验证步骤;所述运行验证模块具体包括:根据所述映射的外部存储资源中的系统文件资源检测出当前所需的验证系统,进行权限验证。
在某些实施方式中,所述初始信息包括初始目录和环境变量,所述初始信息存储在外部存储资源中。
在某些实施方式中,所述外部存储资源包括下述至少之一:当前终端设备系统的文件系统、网络文件系统NFS、大数据分布式文件系统HDFS、通用分布式文件系统Ceph。
在某些实施方式中,所述装置还包括:外部资源抽象模块,用于对不同类型的外部资源进行一致性处理,以使得代码访问外部资源的方式一致。
在某些实施方式中,所述装置还包括:编程语言绑定模块,用于对不同类型编程语言的代码进行一致性处理。
在某些实施方式中,所述装置还包括:输入输出管理模块,通过输入输出管理模块进行数据输出及存储,以提供给其他组件使用。
第三方面,本发明提供了一种终端设备,包括所述的运行代码的装置。
本发明针对现有技术中存在的问题,提供一种运行代码的方法、装置及终端设备,通过采用容器进行应用程序的隔离和封装,从而能够采用应用程序复用的方式,提高运行和开发效率。上述容器是指包含最小化操作系统的环境隔离装置,用于封装应用程序。在容器的OS(Operating System)管理系统的上一层设置了一层Runtime运行时以提供支撑服务,以便用户代码可以调用管理系统相关信息和输入输出管理,提高了数据处理性能。
附图说明
图1示出了本发明提供的一种运行代码的方法的一个实施例的流程图;
图2示出了本发明提供的一种运行代码的方法的另一实施例的流程图;
图3示出了本发明提供的一种运行代码的装置的一个实施例的结构示意图;
图4示出了本发明提供的一种运行代码的装置的另一实施例的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明所述的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置,例如分布式服务器。本发明所述的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是个人数据处理设备(PDA)、移动互联网设备(MID,Mobile Internet Device)和/或移动电话,也可以是智能电视、机顶盒等设备。所述终端可以是硬件装置,也可以是软件程序,也可以是软硬件结合的装置。
本发明所述一种运行代码的装置即容器,为一种程序封装装置。所述程序优选为应用程序,即上述代码执行的时候的应用程序。上述代码为用户代码或系统默认代码,上述代码可以是算法逻辑代码。
本发明所述Runtime运行时用于为程序运行的时候提供获取或保存状态所需要的支撑服务。本发明的容器优选采用Docker应用容器引擎技术,在容器的OS(OperatingSystem)管理系统的上一层提供了一层Runtime运行时以便Code代码可以调用OS相关信息和输入输出管理。
本发明所述外部资源包括外部计算资源和外部存储资源,外部计算资源包括下述至少之一:分布式系统基础架构Hadoop、计算引擎Spark、数据流执行引擎flink、查询系统Impala、数据查询引擎Presto等,外部存储资源包括下述至少之一:运行容器的终端系统的文件系统即当前终端设备系统的文件系统、网络文件系统NFS、Hadoop分布式文件系统即大数据分布式文件系统HDFS(Hadoop Distributed File System)、通用文件存储的分布式文件系统Ceph等。
图1示出了本发明提供的一种运行代码的方法的一个实施例的流程图,具体步骤如下:
步骤101:映射外部存储资源,设置初始信息。
当启动容器时容器的OS(Operating System)管理系统会给容器映射一个外部存储资源,并且,OS会通过配置模块给容器设置一些初始信息,所述初始信息包括work dir初始目录、环境变量,所述work dir初始目录里面包含Code代码需要的输入/输出数据资源,所述数据可以是文件、基于内存存储的数据等形式,所述环境变量为配置信息,上述初始信息存储在外部存储资源中。所述映射优选为mount挂载,即把上述外部存储资源挂接到容器管理系统指定的目录上。进一步的,OS管理系统会给当前容器设置一个命令行入口以便启动Code代码。上述映射外部存储资源、设置初始信息以及设置命令行入口步骤的顺序不限,可同时进行或先后进行。
步骤102:将所述初始信息设置为运行Code代码时所需的参数。
Runtime运行时将上述输入/输出数据资源和环境变量设置为Code代码运行的时候的参数供上层Code代码调用。
进一步的,在步骤101与步骤102之间,还包括步骤1011:判断是否需要验证。
容器检测当前设置以判断是否要进行验证,如需要验证,则执行步骤1012:验证,待验证通过之后才进入下一步骤即步骤102,如验证不通过,则执行步骤1013:终止运行,并给予用户提示;如不需要验证,则直接进入下一步骤即步骤102。所述当前设置是指容器所在的终端的系统为该容器设置的个性化配置,优选为当启动容器时终端系统针对不同类型的容器基于不同策略进行的自动设置。验证时需要用到当前设置中的信息例如用户信息。上述验证优选为安全认证系统例如Kerberos令牌检测。
步骤103:调用所述参数,运行Code代码。
上层Code代码调用步骤102中所述的参数,运行Code代码。
进一步的,还包括步骤104:进行数据输出。
根据Runtime运行时所设置的输出数据存放地址进行数据输出,以提供给后续其他组件使用,例如供其他容器、外部可视化组件、外部接口组件等使用。上述输出优选当Code代码运行结束之后,根据Runtime运行时所设置的输出数据存放地址进行运行结果数据输出。上述输出的数据可以是文件、基于内存存储的数据等形式。
如图2所示,为本发明提供的一种运行代码的方法的另一实施例的流程图,具体步骤如下:
步骤201:映射外部存储资源,设置初始信息。
当启动容器时OS管理系统会给容器映射外部存储资源,所述外部存储资源包含第一外部存储资源以及第二外部存储资源,当前用户的工作区存储在第一外部存储资源中,所述工作区包含当前用户上传或者存储的文件资源,与Runtime运行时和OS管理系统相关的系统文件资源存储在第二外部存储资源中。上述第一外部存储资源和第二外部存储资源可以是不同类型的外部存储资源。所述映射优选为mount挂载,即把上述外部存储资源挂接到容器管理系统指定的目录上。
OS管理系统会通过配置模块给容器设置一些初始信息,所述初始信息包括workdir初始目录、环境变量,所述work dir初始目录里面包含Code代码需要的输入/输出数据资源,所述环境变量为配置信息,上述初始信息存储在外部存储资源中。
进一步的,OS管理系统会给当前容器设置一个命令行入口以便启动Code代码。上述映射外部存储资源、设置初始信息以及设置命令行入口步骤的顺序不限,可同时进行或先后进行。
步骤202:将所述初始信息设置为运行Code代码时所需的参数。
Runtime运行时将上述输入/输出数据资源和环境变量设置为Code代码运行的时候的参数供上层Code代码调用。
进一步的,在步骤201与步骤202之间,还包括步骤2011:判断是否需要验证。
容器检测当前设置以判断是否要进行验证,如检测到外部资源设置了权限则需要验证,那么Runtime运行时会根据上述映射的外部存储资源中的系统文件资源检测出OS管理系统当前所需的验证系统,根据当前设置中的信息进行权限验证,执行步骤2012:验证,待验证通过之后才进入下一步骤即步骤202,如验证不通过,则执行步骤2013:终止运行,并给予用户提示;如检测到外部资源不设置权限,那么Runtime运行时会自动跳过验证步骤直接进入下一步骤即步骤202。所述当前设置是指容器所在的终端的系统为该容器设置的个性化配置,优选为当启动容器时终端系统针对不同类型的容器基于不同策略进行的自动设置。验证时需要用到当前设置中的信息例如用户信息。上述验证优选为令牌和权限验证,可以基于令牌检测Kerberos和/或认证机制PAM等,即上述验证可以包含不同类型的验证系统。
步骤203:进行输入输出管理。
Runtime运行时为上层Code代码提供了完整地IO Manager输入输出管理,Code代码的输入输出存储在外部存储资源中,具体的,可以存放在本地文件、分布式文件中,本地文件、分布式文件存储在磁盘例如硬盘中,还可以存放在内存存储中,例如存储在内存数据库、基于列式强类型内存存储中。
进一步的,还包括步骤(未示出):对不同类型的外部资源进行一致性处理。
IO Manager输入输出管理可以直接和外部存储资源交互,IO Manager可以通过Resource Abstract外部资源抽象模块调用外部计算资源。上述Resource Abstract外部资源抽象模块为不同类型的外部资源(主要是外部计算资源)进行统一处理以达到容器的Code代码访问外部资源的方式一致的目的,具体的,Resource Abstract外部资源抽象模块为不同类型的外部资源的接口进行统一处理以使其接口一致,从而容器的Code代码访问外部资源的访问接口一致,上述接口优选为API应用程序编程接口。
进一步的,还包括步骤204:对不同类型编程语言的Code代码进行一致性处理。
设置了Language Binding编程语言绑定模块,对所有编程语言的Code代码提供统一的、标准的接口以提高兼容性,用户可以使用例如Python、R等语言进行Code代码的编写。上述接口优选为API应用程序编程接口。
步骤205:调用所述参数,运行Code代码。
上层Code代码调用步骤202中所述的参数,运行Code代码。
Code代码调用上述参数或外部资源时,会通过Language Binding编程语言绑定模块。
步骤206:进行数据输出。
根据Runtime运行时所设置的输出方式通过IO Manager输入输出管理进行数据输出及存储,以提供给后续其他组件使用,例如供其他容器、外部可视化组件、外部接口组件等使用。上述输出优选当Code代码运行结束之后,根据Runtime运行时所设置的输出方式通过IO Manager输入输出管理进行运行结果数据输出。上述输出的数据可以是文件、基于内存存储的数据等形式。
与附图1所示实施例的区别在于,本实施例中的运行代码的方法还可以包括IOManager输入输出管理、Resource Abstract外部资源抽象和Language Binding编程语言绑定。
图3示出了本发明提供的一种运行代码的装置的一个实施例的结构示意图。该装置包括:OS管理系统模块310、Runtime运行时模块320、Code代码模块330、验证模块321和输出模块322。上述运行代码的装置即容器与外部资源模块340进行交互,上述外部资源模块340为容器的外部模块,外部资源模块340包括外部计算资源模块341和外部存储资源模块342。
OS管理系统模块310,用于映射外部存储资源,设置初始信息。
当启动容器时OS管理系统模块310会给容器映射一个外部存储资源,并且,OS会通过配置模块(未示出)给容器设置一些初始信息,所述初始信息包括work dir初始目录、环境变量,所述work dir初始目录里面包含Code代码需要的输入/输出数据资源,所述环境变量为配置信息,上述初始信息存储在外部存储资源中即外部存储资源模块342中。所述映射优选为mount挂载,即把上述外部存储资源挂接到容器管理系统指定的目录上。进一步的,OS管理系统模块310会给当前容器设置一个命令行入口以便启动Code代码模块330。
Runtime运行时模块320,用于将所述初始信息设置为运行Code代码时所需的参数。
Runtime运行时模块320将上述输入/输出数据资源和环境变量设置为Code代码模块330运行的时候的参数供上层Code代码模块330调用。
进一步的,在Runtime运行时模块320将所述初始信息设置为运行Code代码模块330时所需的参数之前,还包括验证判断模块(未示出)和验证模块321,用于判断是否需要验证和进行验证。
容器检测当前设置以判断是否要运行验证模块321,如需要验证,待验证通过之后则继续运行,如验证不通过,则终止运行,并给予用户提示;如不需要验证,则直接进入下一步骤,即将上述初始信息设置为运行Code代码时所需的参数。所述当前设置是指容器所在的终端的系统为该容器设置的个性化配置,优选为当启动容器时终端系统针对不同类型的容器基于不同策略进行的自动设置。验证时需要用到当前设置中的信息例如用户信息。上述验证优选为安全认证系统例如Kerberos令牌检测。
上层Code代码模块330调用Runtime运行时模块320设置的所述参数,运行Code代码。
输出模块322,用于进行数据输出。
输出模块322用于根据Runtime运行时模块320所设置的输出数据存放地址进行数据输出,以提供给后续其他组件使用,例如供其他容器、外部可视化组件、外部接口组件等使用。上述输出优选当Code代码模块330运行结束之后,根据Runtime运行时模块320所设置的输出数据存放地址进行运行结果数据输出。上述输出的数据可以是文件、基于内存存储的数据等形式。
如图4所示,为本发明提供的一种运行代码的装置的另一实施例的结构示意图。该装置包括:OS管理系统模块410、Runtime运行时模块420、Code代码模块430、验证模块421、IO Manager输入输出管理模块422、Resource Abstract外部资源抽象模块423和LanguageBinding编程语言绑定模块424。上述运行代码的装置即容器与外部资源模块440进行交互,上述外部资源模块440为容器的外部模块,外部资源模块440包括外部计算资源模块441和外部存储资源模块442。
OS管理系统模块410,用于映射外部存储资源,设置初始信息。
当启动容器时OS管理系统模块410会给容器映射外部存储资源,所述外部存储资源包含第一外部存储资源以及第二外部存储资源,当前用户的工作区存储在第一外部存储资源中,所述工作区包含当前用户上传或者存储的文件资源,与Runtime运行时和OS管理系统相关的系统文件资源存储在第二外部存储资源中。上述第一外部存储资源和第二外部存储资源可以是不同类型的外部存储资源。所述映射优选为mount挂载,即把上述外部存储资源挂接到容器管理系统指定的目录上。
OS管理系统模块410会通过配置模块(未示出)给容器设置一些初始信息,所述初始信息包括work dir初始目录、环境变量,所述work dir初始目录里面包含Code代码模块430需要的输入/输出数据资源,所述环境变量为配置信息,上述初始信息存储在外部存储资源中。
进一步的,OS管理系统模块410会给当前容器设置一个命令行入口以便启动Code代码模块430。
Runtime运行时模块420,用于将所述初始信息设置为运行Code代码模块430时所需的参数。
Runtime运行时模块420将上述输入/输出数据资源和环境变量设置为Code代码模块430运行的时候的参数供上层Code代码模块230调用。
进一步的,在Runtime运行时模块420将所述初始信息设置为运行Code代码模块430时所需的参数之前,还包括验证判断模块(未示出)和验证模块421,用于判断是否需要验证和进行验证。
容器检测当前设置以判断是否要运行验证模块421,如果检测到外部资源模块440设置了权限,那么Runtime运行时模块420会根据上述映射的外部存储资源中的系统文件资源检测出OS管理系统模块410当前所需的验证模块421中的验证系统,以根据当前设置中的信息进行权限验证,待验证通过之后才进入下一步骤,如验证不通过,则终止运行,并给予用户提示;如果检测到外部资源模块440不设置权限,那么Runtime运行时模块420会自动跳过验证步骤直接进入下一步骤。所述当前设置是指容器所在的终端的系统为该容器设置的个性化配置,优选为当启动容器时终端系统针对不同类型的容器基于不同策略进行的自动设置。验证时需要用到当前设置中的信息例如用户信息。上述验证优选为令牌和权限验证,可以基于令牌检测Kerberos和/或认证机制PAM等,即上述验证模块421可以包含不同类型的验证系统。
IO Manager输入输出管理模块422,用于进行输入输出管理。
Runtime运行时模块420为上层Code代码模块430提供了完整地IO Manager输入输出管理,Code代码模块430的输入输出存储在外部存储资源中,具体的,可以存放在本地文件、分布式文件中,本地文件、分布式文件存储在磁盘例如硬盘中,还可以存放在内存存储中,例如存储在内存数据库、基于列式强类型内存存储中。
进一步的,还包括Resource Abstract外部资源抽象模块423,用于为不同类型的外部资源(主要是外部计算资源)进行统一处理以达到容器的code代码模块430访问外部资源的方式一致的目的,具体的,Resource Abstract外部资源抽象模块423为不同类型的外部资源的接口进行统一处理以使其接口一致,从而容器的Code代码访问外部资源的访问接口一致,上述接口优选为API应用程序编程接口。
IO Manager输入输出管理模块422可以直接和外部存储资源模块442交互,IOManager输入输出管理模块422可以通过Resource Abstract外部资源抽象模块423调用外部计算资源。
进一步的,还包括Language Binding编程语言绑定模块424,用于对不同类型编程语言的Code代码进行一致性处理。
在IO Manager输入输出管理模块422和Resource Abstract外部资源抽象模块423之上设置了一层Language Binding编程语言绑定模块424,对所有编程语言提供统一的、标准的接口以提高兼容性,用户可以使用Python、R等语言进行Code代码的编写。上述接口优选为API应用程序编程接口。
上层Code代码模块430调用Runtime运行时模块420设置的所述参数,运行Code代码。
Code代码模块430调用上述参数或外部资源时,会通过Language Binding编程语言绑定模块424。
根据Runtime运行时模块420所设置的输出方式通过IO Manager输入输出管理模块422进行数据输出及存储,以提供给后续其他组件使用,例如供其他容器、外部可视化组件、外部接口组件等使用。上述输出优选当Code代码运行结束之后,根据Runtime运行时模块420所设置的输出方式通过IO Manager输入输出管理模块422进行运行结果数据输出。上述输出的数据可以是文件、基于内存存储的数据等形式。
与附图3所示实施例的区别在于,本实施例中的运行代码的装置还可以包括IOManager输入输出管理模块、Resource Abstract外部资源抽象模块、Language Binding编程语言绑定模块。
本发明还提供了一种终端设备,该终端设备包括如上述任一实施例所述的运行代码的装置。
通过本发明所述的方案,可以采用容器进行应用程序的隔离和封装,从而能够采用应用程序复用的方式,提高运行和开发效率,并保障运行环境不被污染。
本发明所述的方案,进一步具有以下有益效果:
(1)在容器的OS(Operating System)管理系统的上一层设置了一层Runtime运行时提供支撑服务,以便用户代码可以调用管理系统相关信息和输入输出管理。
(2)通过容器技术以实现对运行环境的解耦,方便部署和维护,实现标准化,不需要针对不同的环境进行个性化设计。
(3)提供了有针对性的权限验证以访问外部资源。
(4)Runtime运行时层无缝调用外部计算资源,提升计算性能。外部资源可能是单机资源或集群资源,通过抽象外部资源的方式以无感知切换单机模式或集群模式以用于满足不同的占用外部资源的需求,不显示代码执行的细节,从而使用户更加专注于业务和算法。上述单机模式指的是在容器所在的终端本地运行,此时外部计算资源为外部单机资源,上述集群模式是指Runtime把代码分发到集群中,集群是指一组通过网络互联的终端设备,此时外部计算资源为集群资源。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本发明发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开(但不限于)的特征具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种运行代码的方法,其特征在于,所述方法包括:
映射外部存储资源,设置初始信息;
将所述初始信息设置为运行代码时所需的参数;
调用所述参数,运行代码;以及
进行数据输出。
2.根据权利要求1所述的方法,其特征在于,在将所述初始信息设置为运行代码时所需的参数之前,所述方法还包括:
判断是否需要验证,响应于需要验证,执行验证步骤,在验证通过后执行将所述初始信息设置为运行代码时所需的参数步骤;响应于不需要验证,直接执行将所述初始信息设置为运行代码时所需的参数步骤。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述方法还包括:
对不同类型的外部资源进行一致性处理,以使得代码访问外部资源的方式一致。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
对不同类型编程语言的代码进行一致性处理。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述进行数据输出具体包括:
通过输入输出管理进行数据输出及存储,以提供给其他组件使用。
6.一种运行代码的装置,其特征在于,所述装置包括:
管理系统模块,用于映射外部存储资源,设置初始信息;
运行时模块,用于将所述初始信息设置为运行代码时所需的参数;
代码模块,用于调用所述参数,运行代码;以及
输出模块,用于进行数据输出。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
验证判断模块和验证模块,验证判断模块用于判断是否需要验证,响应于需要验证,运行验证模块,在验证通过后执行将所述初始信息设置为运行代码时所需的参数步骤;响应于不需要验证,直接执行将所述初始信息设置为运行代码时所需的参数步骤。
8.根据权利要求6至7中任一项所述的装置,其特征在于,所述装置还包括:
编程语言绑定模块,用于对不同类型编程语言的代码进行一致性处理。
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述装置还包括:
输入输出管理模块,通过输入输出管理模块进行数据输出及存储,以提供给其他组件使用。
10.一种终端设备,其特征在于,包括如权利要求6至9中任一项所述的运行代码的装置。
CN201711184315.6A 2017-11-23 2017-11-23 一种运行代码的方法、装置及终端设备 Active CN107894886B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711184315.6A CN107894886B (zh) 2017-11-23 2017-11-23 一种运行代码的方法、装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711184315.6A CN107894886B (zh) 2017-11-23 2017-11-23 一种运行代码的方法、装置及终端设备

Publications (2)

Publication Number Publication Date
CN107894886A true CN107894886A (zh) 2018-04-10
CN107894886B CN107894886B (zh) 2019-02-19

Family

ID=61806031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711184315.6A Active CN107894886B (zh) 2017-11-23 2017-11-23 一种运行代码的方法、装置及终端设备

Country Status (1)

Country Link
CN (1) CN107894886B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284112A (zh) * 2018-09-28 2019-01-29 郑州云海信息技术有限公司 一种用于运行应用程序的方法和装置
CN111580811A (zh) * 2020-04-01 2020-08-25 北京声智科技有限公司 技能代码的获取方法、装置及存储介质
CN111913755A (zh) * 2020-07-07 2020-11-10 海信视像科技股份有限公司 一种应用程序的扫描方法和显示设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101308505A (zh) * 2007-05-16 2008-11-19 国际商业机器公司 提供对远程资源数据的访问的方法和数据处理系统
CN101668264A (zh) * 2009-09-28 2010-03-10 中国电信股份有限公司 使用号码密码防止短信骚扰的方法和短信中心
CN101836186A (zh) * 2007-10-20 2010-09-15 思杰系统有限公司 用于在隔离环境之间通信的方法和系统
US20130061314A1 (en) * 2009-06-03 2013-03-07 Apple Inc. Secure software installation
CN104573061A (zh) * 2015-01-23 2015-04-29 南开大学 一种支持扩展功能的虚拟文件系统装置和方法
CN105184153A (zh) * 2015-08-26 2015-12-23 北京元心科技有限公司 智能终端及其基于多级容器的应用程序运行方法
CN105354050A (zh) * 2015-09-30 2016-02-24 深圳市九洲电器有限公司 一种智能终端的应用软件调用方法
CN106133688A (zh) * 2014-03-28 2016-11-16 亚马逊技术有限公司 协调容器布置和执行的服务的实施
CN106534148A (zh) * 2016-11-29 2017-03-22 北京元心科技有限公司 应用的访问管控方法及装置
WO2017067016A1 (en) * 2015-10-23 2017-04-27 Huawei Technologies Co., Ltd. Extension of resource constraints for service-defined containers

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101308505A (zh) * 2007-05-16 2008-11-19 国际商业机器公司 提供对远程资源数据的访问的方法和数据处理系统
CN101836186A (zh) * 2007-10-20 2010-09-15 思杰系统有限公司 用于在隔离环境之间通信的方法和系统
US20130061314A1 (en) * 2009-06-03 2013-03-07 Apple Inc. Secure software installation
CN101668264A (zh) * 2009-09-28 2010-03-10 中国电信股份有限公司 使用号码密码防止短信骚扰的方法和短信中心
CN106133688A (zh) * 2014-03-28 2016-11-16 亚马逊技术有限公司 协调容器布置和执行的服务的实施
CN104573061A (zh) * 2015-01-23 2015-04-29 南开大学 一种支持扩展功能的虚拟文件系统装置和方法
CN105184153A (zh) * 2015-08-26 2015-12-23 北京元心科技有限公司 智能终端及其基于多级容器的应用程序运行方法
CN105354050A (zh) * 2015-09-30 2016-02-24 深圳市九洲电器有限公司 一种智能终端的应用软件调用方法
WO2017067016A1 (en) * 2015-10-23 2017-04-27 Huawei Technologies Co., Ltd. Extension of resource constraints for service-defined containers
CN106534148A (zh) * 2016-11-29 2017-03-22 北京元心科技有限公司 应用的访问管控方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284112A (zh) * 2018-09-28 2019-01-29 郑州云海信息技术有限公司 一种用于运行应用程序的方法和装置
CN111580811A (zh) * 2020-04-01 2020-08-25 北京声智科技有限公司 技能代码的获取方法、装置及存储介质
CN111580811B (zh) * 2020-04-01 2024-02-23 北京声智科技有限公司 技能代码的获取方法、装置及存储介质
CN111913755A (zh) * 2020-07-07 2020-11-10 海信视像科技股份有限公司 一种应用程序的扫描方法和显示设备
CN111913755B (zh) * 2020-07-07 2024-04-02 海信视像科技股份有限公司 一种应用程序的扫描方法和显示设备

Also Published As

Publication number Publication date
CN107894886B (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
US8819012B2 (en) Accessing anchors in voice site content
KR102211374B1 (ko) 리스크 정보를 출력하고 리스크 정보를 구축하기 위한 방법 및 디바이스
CN104516783B (zh) 权限控制方法和装置
US11886488B2 (en) System and method for learning scene embeddings via visual semantics and application thereof
CN109656686A (zh) OpenStack上部署容器云方法、存储介质、电子设备及系统
CN101833467B (zh) 一种在Android的菜单中添加菜单项的方法及设备
CN107580083A (zh) 一种容器ip地址分配的方法和系统
CN109358936A (zh) 信息处理方法、装置、存储介质、电子设备及系统
CN109885311A (zh) 一种应用程序的生成方法及设备
CN107894886B (zh) 一种运行代码的方法、装置及终端设备
CN107957911A (zh) 组件调用的方法和装置、组件数据处理的方法和装置
CN110515628A (zh) 应用部署方法及装置
CN105912362A (zh) 一种加载插件的方法、装置及电子设备
CN106649488A (zh) 多数据源交互接口的调用方法及装置
CN103677948A (zh) 一种启动器和启动方法
CN105991694A (zh) 一种实现分布式服务调用的方法与设备
CN107844519A (zh) 电子装置、数据库查询脚本生成方法及存储介质
CN106873970A (zh) 一种操作系统的安装方法和装置
CN109814896A (zh) 服务器升级方法、装置、计算机系统及可读存储系统
CN107205015A (zh) 开放接口的实现方法和装置
CN112243016B (zh) 一种中间件平台、终端设备、5g人工智能云处理系统及处理方法
CN107562428A (zh) 基于规则的自适应软件界面布局方法及系统
US8745387B2 (en) Security management for an integrated console for applications associated with multiple user registries
CN106911634A (zh) 一种登录方法和设备
CN108614714A (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
GR01 Patent grant