CN112612529A - 基于k8s的Jupyter Notebook运行系统关机方法及装置 - Google Patents

基于k8s的Jupyter Notebook运行系统关机方法及装置 Download PDF

Info

Publication number
CN112612529A
CN112612529A CN202110019589.XA CN202110019589A CN112612529A CN 112612529 A CN112612529 A CN 112612529A CN 202110019589 A CN202110019589 A CN 202110019589A CN 112612529 A CN112612529 A CN 112612529A
Authority
CN
China
Prior art keywords
jupyter
notewood
running
shutdown
system based
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
CN202110019589.XA
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.)
Shanghai Minglue Artificial Intelligence Group Co Ltd
Original Assignee
Shanghai Minglue Artificial Intelligence Group 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 Shanghai Minglue Artificial Intelligence Group Co Ltd filed Critical Shanghai Minglue Artificial Intelligence Group Co Ltd
Priority to CN202110019589.XA priority Critical patent/CN112612529A/zh
Publication of CN112612529A publication Critical patent/CN112612529A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种基于k8s的Jupyter Notebook运行系统关机方法及装置,所述方法包括以下步骤:基于后端功能实现Jupyter Notebook管理平台;所述Jupyter Notebook管理平台与Jupyter Notebook通过REST API进行接口调用,进行数据保存和任务保护监测。通过本申请,可对容器进行停止操作时进行预先数据保存和运行程序安全保护,最大限度的保存工作成果的完整。

Description

基于k8s的Jupyter Notebook运行系统关机方法及装置
技术领域
本发明涉及的是机器学习技术领域。更具体的说,本发明涉及一种基于k8s的Jupyter Notebook运行系统关机方法及装置。
背景技术
Juypter Notebook是机器学习领域内广泛应用的浏览器端开发环境。JuypterNotebook常用的部署方式可分为实体机部署和基于k8s的容器化部署。在k8s(Kubernetes,一种开源的容器编排引擎)环境中,Notebook容器常作为模型开发和训练环境。
在多租户环境下,容器上时间运行往往占据较大的系统资源,如cpu、gpu、内存等。资源紧张时,新建Notebook环境会因为资源不足而创建失败。在当前技术现状下,急需一种安全的系统资源释放方法,在释放系统资源的同时,尽最大限度的保存当前工作环境数据和保护运行模型训练结果。
目前,k8s为容器调度和资源分配系统,可以在系统层面进行容器的新建、销毁等动作。在k8s进行容器操作时,无法对当前容器中数据进行保存,对正在运行的模型训练程序不能保护,容器销毁时往往带来数据的丢失和训练程序的强制中断,损坏已完成的工作成果。基于k8s环境部署的Jupyter Notebook容器在默认情况下在容器关闭时数据无法持久化存储,对容器内已经运行的程序也无法告知用户。
发明内容
本申请实施例提供了一种基于k8s的Jupyter Notebook运行系统关机方法,以至少解决相关技术中主观因素影响的问题。
本发明提供了一种基于k8s的Jupyter Notebook运行系统关机方法,所述方法包括以下步骤:
平台实现步骤:基于后端功能实现Jupyter Notebook管理平台;
接口调用步骤:所述Jupyter Notebook管理平台与Jupyter Notebook通过RESTAPI接口调用,进行数据保存和任务保护监测。
作为本发明的进一步改进,所述平台实现步骤具体包括以下步骤:
配置步骤:配置数据卷挂载;
功能增加步骤:增加所述Jupyter Notebook代码编辑日志记录功能;
监控步骤:增加所述Jupyter Notebook内部系统运行进程监控代码;
模块增加步骤:增加自定义Jupyter Handler模块。
作为本发明的进一步改进,所述配置步骤具体包括以下步骤:
创建步骤:创建所述数据卷;
挂载步骤:将所述数据卷挂载至Jupyter Notebook默认存储路径下。
作为本发明的进一步改进,所述配置步骤中还包括将数据卷挂载操作设置为默认操作。
作为本发明的进一步改进,所述代码编辑日志记录功能记录的信息包括但不限于:新建文件、文件保存时间、文件保存状态。
作为本发明的进一步改进,所述监控步骤具体包括以下步骤:
检索步骤:检索系统内部运行进程列表;
关联步骤:将所述进程列表与所述Jupyter Notebook和代码文件进行关联扫描;
返回步骤:根据扫描结果确定是否有模型训练代码正在运行,若有则返回所述运行进程列表和正在运行的所述模型训练代码文件cell名称。
作为本发明的进一步改进,在所述模块增加步骤中增加所述REST API。
作为本发明的进一步改进,所述自定义Jupyter Handler模块基于tornado框架实现。
基于相同发明思想,本发明还基于任一项发明创造所揭示的基于k8s的JupyterNotebook运行系统关机计方法,揭示了一种基于k8s的Jupyter Notebook运行系统关机装置,
所述基于k8s的Jupyter Notebook运行系统关机装置包括:
平台实现模块,基于后端功能实现Jupyter Notebook管理平台;
接口调用模块,所述Jupyter Notebook管理平台与Jupyter Notebook通过RESTAPI进行接口调用,进行数据保存和任务保护监测。
作为本发明的进一步改进,所述平台实现模块具体包括:
配置单元,配置数据卷挂载;
功能增加单元,增加所述Jupyter Notebook代码编辑日志记录功能;
监控单元,增加所述Jupyter Notebook内部系统运行进程监控代码;
模块增加单元,增加自定义Jupyter Handler模块。
与现有技术相比,本发明的有益效果如下:
1、提出了一种基于k8s的Jupyter Notebook运行系统关机方法,在k8s环境中,容器进行停止操作时进行预先数据保存和运行程序安全保护,最大限度的保存工作成果的完整;
2、在容器重新开机时可进行数据恢复,可使训练程序再次运行,并且多次重启并开机后运行效果一致;
3、可以为开发者用户提供定制的Jupyter Notebook容器管理操作,实现用户在新建、删除Notebook容器外安全点时暂时关闭容器释放资源。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明实施例提供的一种基于k8s的Jupyter Notebook运行系统关机方法整体流程图;
图2是图1所揭示的步骤S1整体流程图;
图3是图2所揭示的步骤S11整体流程图;
图4是图2所揭示的步骤S13整体流程图;
图5是本实施例提供的一种基于k8s的Jupyter Notebook运行系统关机装置结构框架图;
图6是根据本发明实施例的计算机设备的框架图。
以上图中:
10、平台实现模块;20、接口调用模块;11、配置单元;111、创建单元;112、挂载单元;12、功能增加单元;13、监控单元;131、检索单元;132、关联单元;133、返回单元;14、模块增加单元;80、总线;81、处理器;82、存储器;83、通信接口。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不待表针对对象的特定排序。
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替待,均属于本发明的保护范围之内。
在详细阐述本发明各个实施例之前,对本发明的核心发明思想予以概述,并通过下述若干实施例予以详细阐述。
本发明可实现基于k8s的Jupyter Notebook运行系统中数据保存和程序监测,保护工作完整性。
实施例一:
参照图1至图4所示,本实例揭示了一种基于k8s的Jupyter Notebook运行系统关机方法(以下简称“方法”)的具体实施方式。
在介绍所述方法的流程之前,首先介绍本实施例的实现原理。在基于k8s环境部署的Jupyter Notebook容器中,数据存储可使用外挂数据卷进行系统挂载实现,将用户代码数据存储目录和训练数据目录均以挂载的方式实现持久化存储。并对Jupyter Notebook容器内运行的训练等相关程序进行运行监控,若存在正在运行的训练任务,则在执行容器关闭时,发出程序正在运行警告,让用户自己选择等待训练运行完成还是选择依然关机操作。
具体而言参照图1所示,本实施例所揭示的方法主要包括以下步骤:
步骤S1、基于后端功能实现Jupyter Notebook管理平台。
具体而言,在其中一些实施例中,参照图2所示,所述步骤S1具体包括以下步骤:
S11、配置数据卷挂载;
S12、增加所述Jupyter Notebook代码编辑日志记录功能;
S13、增加所述Jupyter Notebook内部系统运行进程监控代码;
S14、增加自定义Jupyter Handler模块。
具体而言,在其中一些实施例中,参照图3所示步骤S11具体包括以下步骤:
S111、创建所述数据卷;
S112、将所述数据卷挂载至Jupyter Notebook默认存储路径下。
具体而言,在其中一些实施例中,配置数据卷挂载,数据卷挂载后将会被Notebook视为本地存储来使用.默认情况下Notebook存储路径为/home/jovyan路径,因此首先创建数据卷并将其挂载至/home/jovyan目录下。在这一过程中,需将数据卷挂载操作设置为默认操作,所有的Notebook容器均需要有此路径的挂载。
具体而言,在其中一些实施例中,所述步骤S12增加Notebook代码编辑日志记录功能。记录功能需要记录文件新建、文件保存时间、保存状态等信息。Jupyter Notebook中读写操作均通过ContensManager来实现,并默认实现为Local模式,类名为FileContentsManager。在此类中各文件、目录保存均通过save方法来保存,在save方法中添加日志保存至SQLite数据库逻辑,数据库文件与代码文件同级目录存放。当文件需要执行save方法时,添加如下逻辑:检查SQLite库当前文件记录是否存在,若不存在则为新文件,反之则为已创建文件。另外,执行保存动作前将文件状态设置为预保存(presave)状态,待保存动作完成后将状态改为saved,并更新保存时间。
具体而言,在其中一些实施例中,参照图4所示步骤S13具体包括以下步骤:
S131、检索系统内部运行进程列表;
S132、将所述进程列表与所述Jupyter Notebook和代码文件进行关联扫描;
S133、根据扫描结果确定是否有模型训练代码正在运行,若有则返回所述运行进程列表和正在运行的所述模型训练代码文件cell名称。
具体而言,在其中一些实施例中,增加容器内部系统运行进程监控代码,此模块完成功能为检索系统内部运行进程列表,并与Jupyter Notebook和代码文件进行关联扫描,确定是否有模型训练代码运行,如有正在运行进程,则返回运行程序列表和相关代码文件cell名称。
具体而言,在其中一些实施例中,所述步骤S14中增加自定义Jupyter Handler模块,此模块基于tornado框架实现,主要用于Jupyter Web Application与后端服务进行通信并完成文件保存、运行等操作。自定义模块用于增加REST API接收用户关机指令并完成预关机和进程保护功能。
其中,预关机功能用于实现用户代码文件强制保存动作。通过检索SQLite中预先保存的文件列表进行遍历调用Jupyter Web Application_save操作,完成关机前最后一次数据保存动作,保证数据完成持久化存储。进程保护功能则进行后端接口调用,若存在后端程序运行时,返回用户告警信息,并提供选项:取消关机、任务完成后关机和强制关机。
基于以上后端功能,实现基于k8s的Jupyter Notebook管理平台,然后执行步骤S2、所述Jupyter Notebook管理平台与Jupyter Notebook通过REST API进行接口调用,进行数据保存和任务保护监测。
具体而言,在其中一些实施例中,管理平台与Jupyter Notebook通过REST API进行接口调用,在关机时,调用自定义预关机操作,完成数据保存和任务保护监测。当存在任务时,提供选项:取消关机、任务完成后关机和强制关机,其中取消关机和强制关机选项分别为终止关机操作和直接使用k8s接口功能关闭容器。
具体而言,如果是任务完成后关机,则在管理平台中记录关机动作并定时刷新进程保护监测接口,当无训练任务时继续执行关闭容器动作,从而完成整套关机指令。容器再次开机时,代码数据和容器环境仍可恢复成关机前状态,程序可再次执行。
通过本申请实施例所揭示的一种基于k8s的Jupyter Notebook运行系统关机方法,在k8s环境中,容器进行停止操作时进行预先数据保存和运行程序安全保护,最大限度的保存工作成果的完整;在容器重新开机时可进行数据恢复,可使训练程序再次运行,并且多次重启并开机后运行效果一致;可以为开发者用户提供定制的Jupyter Notebook容器管理操作,实现用户在新建、删除Notebook容器外安全点时暂时关闭容器释放资源。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
实施例二:
结合实施例一所揭示的一种基于k8s的Jupyter Notebook运行系统关机方法,本实施例揭示了一种基于k8s的Jupyter Notebook运行系统关机装置(以下简称“装置”)的具体实施示例。
参照图5所示,所述装置包括:
平台实现模块10,基于后端功能实现Jupyter Notebook管理平台;
接口调用模块20,所述Jupyter Notebook管理平台与Jupyter Notebook通过RESTAPI进行接口调用,进行数据保存和任务保护监测。
具体而言,在其中一些实施例中,所述平台实现模块10具体包括:
配置单元11,配置数据卷挂载;
功能增加单元12,增加所述Jupyter Notebook代码编辑日志记录功能;
监控单元13,增加所述Jupyter Notebook内部系统运行进程监控代码;
模块增加单元14,增加自定义Jupyter Handler模块。
具体而言,在其中一些实施例中,所述配置单元11具体包括:
创建单元111,创建所述数据卷;
挂载单元112,将所述数据卷挂载至Jupyter Notebook默认存储路径下。
具体而言,在其中一些实施例中,所述监控单元13具体包括:
检索单元131,检索系统内部运行进程列表;
关联单元132,将所述进程列表与所述Jupyter Notebook和代码文件进行关联扫描;
返回单元133,根据扫描结果确定是否有模型训练代码正在运行,若有则返回所述运行进程列表和正在运行的所述模型训练代码文件cell名称。
本实施例所揭示的一种基于k8s的Jupyter Notebook运行系统关机装置与实施例一所揭示的一种基于k8s的Jupyter Notebook运行系统关机方法中其余相同部分的技术方案,请参考实施例一所述,在此不再赘述。
实施例三:
结合图6所示,本实施例揭示了一种计算机设备的一种具体实施方式。计算机设备可以包括处理器81以及存储有计算机程序指令的存储器82。
具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。
处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种基于k8s的Jupyter Notebook运行系统关机方法。
在其中一些实施例中,计算机设备还可包括通信接口83和总线80。其中,如图6所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。
通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线80包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该计算机设备可以基于k8s的Jupyter Notebook运行系统实现关机时数据保存和运行进程监测,从而实现结合图1描述的方法。
另外,结合上述实施例中基于k8s的Jupyter Notebook运行系统关机方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种基于k8s的Jupyter Notebook运行系统关机方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
综上所述,基于本发明的有益效果在于,提出了一种基于k8s的Jupyter Notebook运行系统关机方法,在k8s环境中,容器进行停止操作时进行预先数据保存和运行程序安全保护,最大限度的保存工作成果的完整;在容器重新开机时可进行数据恢复,可使训练程序再次运行,并且多次重启并开机后运行效果一致;可以为开发者用户提供定制的JupyterNotebook容器管理操作,实现用户在新建、删除Notebook容器外安全点时暂时关闭容器释放资源。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于k8s的Jupyter Notebook运行系统关机方法,其特征在于,包括如下步骤:
平台实现步骤:基于后端功能实现Jupyter Notebook管理平台;
接口调用步骤:所述Jupyter Notebook管理平台与Jupyter Notebook通过REST API接口调用,进行数据保存和任务保护监测。
2.如权利要求1所述的基于k8s的Jupyter Notebook运行系统关机方法,其特征在于,所述平台实现步骤具体包括以下步骤:
配置步骤:配置数据卷挂载;
功能增加步骤:增加所述Jupyter Notebook代码编辑日志记录功能;
监控步骤:增加所述Jupyter Notebook内部系统运行进程监控代码;
模块增加步骤:增加自定义Jupyter Handler模块。
3.如权利要求2所述的基于k8s的Jupyter Notebook运行系统关机方法,其特征在于,所述配置步骤具体包括以下步骤:
创建步骤:创建所述数据卷;
挂载步骤:将所述数据卷挂载至Jupyter Notebook默认存储路径下。
4.如权利要求2所述的基于k8s的Jupyter Notebook运行系统关机方法,其特征在于,所述配置步骤中还包括将数据卷挂载操作设置为默认操作。
5.如权利要求2所述的基于k8s的Jupyter Notebook运行系统关机方法,其特征在于,所述代码编辑日志记录功能记录的信息包括但不限于:新建文件、文件保存时间、文件保存状态。
6.如权利要求2所述的基于k8s的Jupyter Notebook运行系统关机方法,其特征在于,所述监控步骤具体包括以下步骤:
检索步骤:检索系统内部运行进程列表;
关联步骤:将所述进程列表与所述Jupyter Notebook和代码文件进行关联扫描;
返回步骤:根据扫描结果确定是否有模型训练代码正在运行,若有则返回所述运行进程列表和正在运行的所述模型训练代码文件cel l名称。
7.如权利要求2所述的基于k8s的Jupyter Notebook运行系统关机方法,其特征在于,在所述模块增加步骤中增加所述REST API。
8.如权利要求2所述的基于k8s的Jupyter Notebook运行系统关机方法,其特征在于,所述自定义Jupyter Handler模块基于tornado框架实现。
9.一种基于k8s的Jupyter Notebook运行系统关机装置,其特征在于,包括:
平台实现模块,基于后端功能实现Jupyter Notebook管理平台;
接口调用模块,所述Jupyter Notebook管理平台与Jupyter Notebook通过REST API进行接口调用,进行数据保存和任务保护监测。
10.如权利要求9所述的基于k8s的Jupyter Notebook运行系统关机装置,其特征在于,所述平台实现模块具体包括:
配置单元,配置数据卷挂载;
功能增加单元,增加所述Jupyter Notebook代码编辑日志记录功能;
监控单元,增加所述Jupyter Notebook内部系统运行进程监控代码;
模块增加单元,增加自定义Jupyter Handler模块。
CN202110019589.XA 2021-01-07 2021-01-07 基于k8s的Jupyter Notebook运行系统关机方法及装置 Pending CN112612529A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110019589.XA CN112612529A (zh) 2021-01-07 2021-01-07 基于k8s的Jupyter Notebook运行系统关机方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110019589.XA CN112612529A (zh) 2021-01-07 2021-01-07 基于k8s的Jupyter Notebook运行系统关机方法及装置

Publications (1)

Publication Number Publication Date
CN112612529A true CN112612529A (zh) 2021-04-06

Family

ID=75254723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110019589.XA Pending CN112612529A (zh) 2021-01-07 2021-01-07 基于k8s的Jupyter Notebook运行系统关机方法及装置

Country Status (1)

Country Link
CN (1) CN112612529A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076334A (zh) * 2023-10-16 2023-11-17 北京世冠金洋科技发展有限公司 一种自动化建模、仿真、测试及数据分析方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391318A (zh) * 2017-09-18 2017-11-24 郑州云海信息技术有限公司 一种容器数据持久化的方法、系统及装置
CN108681434A (zh) * 2018-05-24 2018-10-19 中科边缘智慧信息科技(苏州)有限公司 一种容器持久存储挂载方法
CN110780822A (zh) * 2019-10-28 2020-02-11 浪潮云信息技术有限公司 一种管理容器云本地存储系统及实现方法
CN111338854A (zh) * 2020-05-25 2020-06-26 南京云信达科技有限公司 基于Kubernetes集群快速恢复数据的方法及系统
CN112181764A (zh) * 2020-09-23 2021-01-05 南京南瑞继保电气有限公司 Kubernetes资源数据的监视方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391318A (zh) * 2017-09-18 2017-11-24 郑州云海信息技术有限公司 一种容器数据持久化的方法、系统及装置
CN108681434A (zh) * 2018-05-24 2018-10-19 中科边缘智慧信息科技(苏州)有限公司 一种容器持久存储挂载方法
CN110780822A (zh) * 2019-10-28 2020-02-11 浪潮云信息技术有限公司 一种管理容器云本地存储系统及实现方法
CN111338854A (zh) * 2020-05-25 2020-06-26 南京云信达科技有限公司 基于Kubernetes集群快速恢复数据的方法及系统
CN112181764A (zh) * 2020-09-23 2021-01-05 南京南瑞继保电气有限公司 Kubernetes资源数据的监视方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076334A (zh) * 2023-10-16 2023-11-17 北京世冠金洋科技发展有限公司 一种自动化建模、仿真、测试及数据分析方法及装置
CN117076334B (zh) * 2023-10-16 2024-01-26 北京世冠金洋科技发展有限公司 一种自动化建模、仿真、测试及数据分析方法及装置

Similar Documents

Publication Publication Date Title
US9953161B2 (en) Method, device and system for processing notification bar message
CN102722680B (zh) 清除恶意程序的方法和系统
CN105763602A (zh) 一种数据请求处理的方法、服务器及系统
CN115378735B (zh) 一种数据处理方法、装置、存储介质及电子设备
US20180059978A1 (en) Virtual disk expansion method and apparatus
CN104750534A (zh) 触发虚拟机自省的方法、装置及系统
CN110716845B (zh) 一种Android系统的日志信息读取的方法
CN103577212A (zh) 系统启动预加载方法及装置
CN112148485A (zh) 超融合平台故障恢复方法、装置、电子装置和存储介质
CN112486459A (zh) 活动页面生成方法、装置、计算机设备和可读存储介质
CN104751062A (zh) 一种提高操作系统可靠性的方法及装置
CN112612529A (zh) 基于k8s的Jupyter Notebook运行系统关机方法及装置
CN106997313B (zh) 一种应用程序的信号处理方法、系统及终端设备
CN111522598A (zh) 嵌入式设备的重启信息记录方法及装置
CN115357762A (zh) 一种数据校验方法、装置、存储介质及电子设备
CN113220362A (zh) 日志记录获取方法、装置、计算机设备和存储介质
CN110888686B (zh) 应用程序启动方法、设备和存储介质
CN108664293B (zh) 安卓系统中的应用控制方法和装置
CN107608782B (zh) 内存压缩的方法及装置、操作系统、电子设备
CN110955539A (zh) 进程退出方法、装置、电子设备及机器可读存储介质
CN111984299A (zh) 一种数据加载的方法和设备
CN113722715B (zh) 一种导入文件检查方法、检查系统及计算设备
US20160266960A1 (en) Information processing apparatus and kernel dump method
Dancer Analyzing and Comparing Android HTC Aria, Apple iPhone 3G, and Windows Mobile HTC TouchPro 6850
CN117632428B (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