CN105247618A - 一种硬盘执行应用代码的方法及装置 - Google Patents

一种硬盘执行应用代码的方法及装置 Download PDF

Info

Publication number
CN105247618A
CN105247618A CN201480000524.9A CN201480000524A CN105247618A CN 105247618 A CN105247618 A CN 105247618A CN 201480000524 A CN201480000524 A CN 201480000524A CN 105247618 A CN105247618 A CN 105247618A
Authority
CN
China
Prior art keywords
application code
hard disk
virtual
virtual machine
data information
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
CN201480000524.9A
Other languages
English (en)
Other versions
CN105247618B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711059662.6A priority Critical patent/CN107844360B/zh
Publication of CN105247618A publication Critical patent/CN105247618A/zh
Application granted granted Critical
Publication of CN105247618B publication Critical patent/CN105247618B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种硬盘执行应用代码的方法及装置,涉及存储技术领域,使得硬盘能够支持基于来自硬盘外部的应用代码对硬盘进行访问的方式,从而增强硬盘的性能,进而提升客户端与硬盘之间的交互能力。该方法包括:硬盘接收应用代码和应用代码的执行策略;硬盘根据应用代码,确定应用代码是否需要在虚拟机环境中执行;如是,则硬盘根据应用代码的执行策略,在虚拟机环境中执行应用代码。

Description

一种硬盘执行应用代码的方法及装置 技术领域
本发明涉及存储技术领域, 尤其涉及一种硬盘执行应用代码的 方法及装置。
背景技术
近年来, 随着云存储的兴起, 具有以太网接口的硬盘, 即以太 接口硬盘的应用越来越广泛。
现有的以太接口硬盘, 提供开放式 Key-Value语义接口, 使得 客户端可以使用以太接口硬盘的 Key-Value接口对以太接口硬盘进 行访问。 具体的, 客户端为以太接口硬盘提供 Key以作为逻辑地址, 以太接口硬盘获取到该 Key 后, 以太接口硬盘可在其存储空间中寻 址找到与该 Key 对应的物理地址, 若客户端对以太接口硬盘进行读 访问, 以太接口硬盘则可从该物理地址中读出对应的 Value, 以及 将该 Va 1 ue 返回给客户端; 若客户端对以太接口硬盘进行写访问, 以太接口硬盘则可将客户端提供的 Value写入该物理地址。
然而, 现有技术中的以太接口硬盘仅支持基于 Key-Value语义 接口的访问方式, 使得客户端只能够通过 Key-Value接口对以太接 口硬盘进行访问, 限制了客户端与该以太接口硬盘之间的交互能力。 发明内容
本发明提供一种硬盘执行应用代码的方法及装置, 使得硬盘能 够支持基于来自硬盘外部的应用代码对硬盘进行访问的方式, 从而 增强硬盘的性能, 进而提升客户端与硬盘之间的交互能力。
为达到上述目的, 本发明的实施例采用如下技术方案:
第一方面, 本发明提供一种硬盘执行应用代码的方法, 包括: 硬盘接收应用代码和所述应用代码的执行策略;
所述硬盘根据所述应用代码, 确定所述应用代码是否需要在虚 拟机环境中执行; 如是, 则所述硬盘根据所述应用代码的执行策略, 在所述虚拟 机环境中执行所述应用代码。
在第一方面的第一种可能的实现方式中, 所述方法还包括: 所述硬盘接收虚拟机数据信息, 所述虚拟机数据信息用于创建 所述虚拟机环境;
所述硬盘根据所述虚拟机数据信息, 创建所述虚拟机环境。 结合前述的第一方面或第一方面的第一种可能的实现方式, 在 第二种可能的实现方式中, 所述应用代码中携带虚拟机标识, 所述 方法还包括:
所述硬盘根据所述应用代码中携带的所述虚拟机标识, 确定执 行所述应用代码的虚拟机环境。
结合前述的第一方面或第一方面的第一种可能的实现方式至第 二种可能的实现方式中的任一种实现方式, 在第三种可能的实现方 式中, 所述硬盘根据所述应用代码的执行策略, 在所述虚拟机环境 中执行所述应用代码, 具体包括:
所述硬盘在所述虚拟机环境中为所述应用代码创建应用代码进 程;
所述硬盘将所述应用代码加载至与所述应用代码进程对应的所 述硬盘的内存中;
所述硬盘根据所述应用代码的执行策略, 在所述虚拟机环境中 执行所述应用代码进程。
结合第一方面的第一种可能的实现方式, 在第四种可能的实现 方式中, 所述方法还包括:
所述硬盘接收所述虚拟机数据信息的执行指示, 所述虚拟机数 据信息的执行指示用于指示所述硬盘是否对所述虚拟机数据信息进 行持久化;
所述硬盘根据所述虚拟机数据信息的执行指示, 对所述虚拟机 数据信息进行与所述虚拟机数据信息的执行指示对应的操作。
结合前述的第一方面或第一方面的第一种可能的实现方式至第 四种可能的实现方式中的任一种实现方式, 在第五种可能的实现方 式中,
所述应用代码的执行策略包括:执行所述应用代码的触发条件、 所述应用代码的执行条件和执行完成所述应用代码后的操作中的至 少一个。
第二方面, 本发明提供一种硬盘, 包括;
接收单元, 用于接收应用代码和所述应用代码的执行策略; 确定单元, 用于根据所述接收单元接收的所述应用代码, 确定 所述应用代码是否需要在虚拟机环境中执行;
执行单元, 用于若所述确定单元确定所述应用代码需要在所述 虚拟机环境中执行, 则根据所述接收单元接收的所述应用代码的执 行策略, 在所述虚拟机环境中执行所述接收单元接收的所述应用代 码。
在第二方面的第一种可能的实现方式中, 所述硬盘还包括创建 单元,
所述接收单元, 还用于接收虚拟机数据信息, 所述虚拟机数据 信息用于创建所述虚拟机环境;
所述创建单元, 用于根据所述接收单元接收的所述虚拟机数据 信息, 创建所述虚拟机环境。
结合前述的第二方面或第二方面的第一种可能的实现方式, 在 第二种可能的实现方式中, 所述应用代码中携带虚拟机标识,
所述确定单元, 还用于根据所述应用代码中携带的所述虚拟机 标识, 确定执行所述应用代码的虚拟机环境。
结合第二方面的第一种可能的实现方式, 在第三种可能的实现 方式中, 所述硬盘还包括加载单元,
所述创建单元, 还用于在所述虚拟机环境中为所述接收单元接 收的所述应用代码创建应用代码进程;
所述加载单元, 用于将所述接收单元接收的所述应用代码加载 至与所述创建单元创建的所述应用代码进程对应的所述硬盘的内存 中;
所述执行单元, 具体用于根据所述接收单元接收的所述应用代 码的执行策略, 在所述创建单元创建的所述虚拟机环境中执行所述 创建单元创建的所述应用代码进程。
结合第二方面的第一种可能的实现方式, 在第四种可能的实现 方式中,
所述接收单元, 还用于接收所述虚拟机数据信息的执行指示, 所述虚拟机数据信息的执行指示用于指示是否对所述虚拟机数据信 息进行持久化;
所述执行单元, 还用于根据所述接收单元接收的所述虚拟机数 据信息的执行指示, 对所述接收单元接收的所述虚拟机数据信息进 行与所述虚拟机数据信息的执行指示对应的操作。
结合前述的第二方面或第二方面的第一种可能的实现方式至第 四种可能的实现方式中的任一种实现方式, 在第五种可能的实现方 式中,
所述接收单元接收的所述应用代码的执行策略包括: 执行所述 应用代码的触发条件、 所述应用代码的执行条件和执行完成所述应 用代码后的操作中的至少一个。
第三方面, 本发明还提供一种硬盘, 包括:
处理器, 用于接收应用代码和所述应用代码的执行策略, 并根 据所述应用代码, 确定所述应用代码是否需要在虚拟机环境中执行, 如是, 则根据所述应用代码的执行策略, 在所述虚拟机环境中执行 所述应用代码;
存储器, 用于存储所述应用代码和所述应用代码的执行策略。 在第三方面的第一种可能的实现方式中,
所述处理器, 还用于接收虚拟机数据信息, 并根据所述虚拟机 数据信息, 创建所述虚拟机环境, 所述虚拟机数据信息用于创建所 述虚拟机环境;
所述存储器, 还用于存储所述虚拟机数据信息。 结合前述的第三方面或第三方面的第一种可能的实现方式, 在 第二种可能的实现方式中,
所述应用代码中携带虚拟机标识,
所述处理器, 还用于根据所述应用代码中携带的所述虚拟机标 识, 确定执行所述应用代码的虚拟机环境。
结合前述的第三方面或第三方面的第一种可能的实现方式至第 二种可能的实现方式中的任一种实现方式, 在第三种可能的实现方 式中,
所述处理器, 具体用于在所述虚拟机环境中为所述应用代码创 建应用代码进程, 并将所述应用代码加载至与所述应用代码进程对 应的所述硬盘的内存中, 以及在所述虚拟机环境中执行所述应用代 码进程。
结合第三方面的第一种可能的实现方式, 在第四种可能的实现 方式中,
所述处理器, 还用于接收所述虚拟机数据信息的执行指示, 并 根据所述虚拟机数据信息的执行指示, 对所述虚拟机数据信息进行 与所述虚拟机数据信息的执行指示对应的操作, 所述虚拟机数据信 息的执行指示用于指示是否对所述虚拟机数据信息进行持久化; 所述存储器, 还用于存储所述虚拟机数据信息的执行指示。 结合前述的第三方面或第三方面的第一种可能的实现方式至第 四种可能的实现方式中的任一种实现方式, 在第五种可能的实现方 式中,
所述处理器接收的所述应用代码的执行策略包括: 执行所述应 用代码的触发条件、 所述应用代码的执行条件和执行完成所述应用 代码后的操作中的至少一个。
本发明提供一种硬盘执行应用代码的方法及装置, 通过硬盘接 收应用代码和该应用代码的执行策略, 并确定该应用代码是否需要 在虚拟机环境中执行, 且若硬盘确定该应用代码需要在该虚拟机环 境中执行, 硬盘则根据该应用代码的执行策略, 在该虚拟机环境中 执行该应用代码。 通过该方案, 由于硬盘可以接收来自硬盘外部的 应用代码 (例如自定义的应用代码) 和该应用代码的执行策略, 并 根据该执行策略, 在虚拟机环境中执行该应用代码, 即硬盘能够支 持基于来自硬盘外部的应用代码对硬盘进行访问的方式, 从而增强 了硬盘的性能, 进而提升了客户端与硬盘之间的交互能力。
第四方面, 本发明提供一种硬盘执行应用代码的方法, 包括: 硬盘接收应用代码和所述应用代码的执行策略;
所述硬盘为所述应用代码创建应用代码进程;
所述硬盘将所述应用代码加载至与所述应用代码进程对应的所 述硬盘的内存中;
所述硬盘根据所述应用代码的执行策略, 在所述硬盘的内存中 执行所述应用代码进程。
在第四方面的第一种可能的实现方式中,
所述应用代码的执行策略包括:执行所述应用代码的触发条件、 所述应用代码的执行条件和执行完成所述应用代码后的操作中的至 少一个, 以及所述应用代码的标识, 所述应用代码的起始位置和所 述应用代码的长度。
结合前述的第四方面或第四方面的第一种可能的实现方式, 在 第二种可能的实现方式中,
所述应用代码为二进制格式的应用代码。
第五方面, 本发明提供一种硬盘, 包括:
接收单元, 用于接收应用代码和所述应用代码的执行策略; 创建单元, 用于为所述接收单元接收的所述应用代码创建应用 代码进程;
加载单元, 用于将所述接收单元接收的所述应用代码加载至与 所述创建单元创建的所述应用代码进程对应的所述硬盘的内存中; 执行单元, 用于根据所述接收单元接收的所述应用代码的执行 策略, 在所述硬盘的内存中执行所述创建单元创建的所述应用代码 进程。 在第五方面的第一种可能的实现方式中,
所述接收单元接收的所述应用代码的执行策略包括: 执行所述 应用代码的触发条件、 所述应用代码的执行条件和执行完成所述应 用代码后的操作中的至少一个, 以及所述应用代码的标识, 所述应 用代码的起始位置和所述应用代码的长度。
结合前述的第五方面或第五方面的第一种可能的实现方式, 在 第二种可能的实现方式中,
所述接收单元接收的所述应用代码为二进制格式的应用代码。 第六方面, 本发明提供一种硬盘, 包括:
处理器, 用于接收应用代码和所述应用代码的执行策略, 并为 所述应用代码创建应用代码进程, 且将所述应用代码加载至与所述 应用代码进程对应的所述硬盘的内存中, 以及根据所述应用代码的 执行策略, 在所述硬盘的内存中执行所述应用代码进程;
存储器, 用于存储所述应用代码和所述应用代码的执行策略。 在第六方面的第一种可能的实现方式中,
所述处理器接收的所述应用代码的执行策略包括: 执行所述应 用代码的触发条件、 所述应用代码的执行条件和执行完成所述应用 代码后的操作中的至少一个, 以及所述应用代码的标识, 所述应用 代码的起始位置和所述应用代码的长度。
结合前述的第六方面或第六方面的第一种可能的实现方式, 在 第二种可能的实现方式中,
所述处理器接收的所述应用代码为二进制格式的应用代码。 本发明提供一种硬盘执行应用代码的方法及装置, 通过硬盘接 收应用代码和该应用代码的执行策略, 且硬盘为该应用代码创建应 用代码进程, 以及硬盘将该应用代码加载至与该应用代码进程对应 的该硬盘的内存中, 从而硬盘根据该应用代码的执行策略, 在该硬 盘的内存中执行该应用代码进程。 通过该方案, 由于硬盘可以接收 来自硬盘外部的应用代码 (例如自定义的应用代码) 和该应用代码 的执行策略, 并根据该执行策略, 以进程的方式执行该应用代码, 即硬盘能够支持基于来自硬盘外部的应用代码对硬盘进行访问的方 式, 从而增强了硬盘的性能, 进而提升了客户端与硬盘之间的交互 能力。
附图说明
图 1 为本发明实施例提供的一种硬盘执行应用代码的方法流程 图一;
图 2 为本发明实施例提供的另一种硬盘执行应用代码的方法流 程图一;
图 3 为本发明实施例提供的一种硬盘执行应用代码的方法流程 图二;
图 4 为本发明实施例提供的一种硬盘执行应用代码的方法流程 图三;
图 5 为本发明实施例提供的一种硬盘执行应用代码的方法流程 图四;
图 6 为本发明实施例提供的另一种硬盘执行应用代码的方法流 程图二;
图 7为本发明实施例提供的硬盘的结构示意图一;
图 8为本发明实施例提供的硬盘的结构示意图二;
图 9为本发明实施例提供的硬盘的结构示意图三;
图 10为本发明实施例提供的硬盘的结构示意图四;
图 11 为本发明实施例提供的硬盘的结构示意图五;
图 12为本发明实施例提供的硬盘的结构示意图六。
具体实施方式
现有技术中, 由于以太接口硬盘只支持 Key-Value语义接口, 并不支持其他的接口, 因此, 用户通过客户端和服务器访问硬盘时, 只能使用 Key— Value语义接口进行访问, 而 Key— Va 1 ue语义接口只 支持存储数据的一些操作, 无法支持用户 自定义的操作。 本发明实 施例提供的硬盘执行应用代码的方法中, 可以为硬盘定义数据 API ( Application Programming Interface, 应用程序编程接口 ) 和管 理 API, 使得硬盘可通过调用硬盘的数据 API 从服务器的数据平面 接口接收用户指定操作的应用代码和该应用代码的执行策略; 或者 使得硬盘可通过调用硬盘的管理 API 从服务器的管理平面接口接收 用户指定 (从硬盘外部接收) 操作的应用代码和该应用代码的执行 策略。 从而硬盘能够根据接收到的来自硬盘外部 (例如用户根据需 求自定义) 的应用代码和该应用代码的执行策略, 去执行该应用代 码相应的操作 (例如用户 自定义的操作;), 实现了基于从硬盘外部接 收的应用代码对硬盘进行访问, 增强了硬盘的性能, 进而提升了客 户端与硬盘之间的交互能力。
下面结合附图对本发明实施例提供的硬盘执行应用代码的方法 及装置进行详细地描述。 具体的, 本发明实施例提供的硬盘执行应 用代码的方法中, 对应于本发明实施例提供的一种应用代码的执行 方法, 该应用代码可以为需要在虚拟机环境中执行的应用代码, 即 该应用代码为采用某种程序设计语言编写的应用代码; 对应于本发 明实施例提供的另一种应用代码的执行方法, 该应用代码可以为二 进制格式的应用代码。
实施例一
本发明实施例提供一种硬盘执行应用代码的方法,如图 1所示, 该方法可以包括:
S101、 硬盘接收应用代码和该应用代码的执行策略。
本发明实施例提供的硬盘可以为以太接口硬盘 (也称为网络硬 盘), 该以太接口硬盘也可以称为智能硬盘, 即本发明实施例提供的 硬盘可以为基于 ARM( Advanced Reduced Ins t rue t ion Set Computing Machines, 高级精简指令集计算机器) 系统的硬盘。 其中, 该基于 ARM 系统的硬盘通过将 ARM 系统集成在传统的硬盘中, 以提升传统 硬盘的性能。
若用户需通过硬盘执行一些指定的操作 (用户需在硬盘上扩展 的一些功能), 例如对硬盘进行病毒扫描、 执行硬盘数据的完整性检 查、 对硬盘数据执行压缩、 对硬盘进行垃圾回收、 执行硬盘数据向 其他硬盘迁移和拷贝、 对硬盘数据基于用户提供的密钥进行加密或 执行用户 自定义策略等, 用户则可编写这些指定操作的应用代码, 并设置这些指定操作的应用代码的执行策略, 从而用户可通过客户 端和部署的服务器将这些应用代码和这些应用代码的执行策略发送 至硬盘, 即硬盘接收服务器发送的应用代码和该应用代码的执行策 略。 其中, 该应用代码的执行策略可以为根据实际需求预设的。
需要说明的是, 本发明实施例提供的硬盘执行应用代码的方法 中, 服务器可以包括数据平面接口和管理平面接口。 其中, 本实施 例提供的硬盘执行应用代码的方法中, 可通过服务器的数据平面接 口传递应用代码和应用代码的执行策略至硬盘。
进一步地, 由于本实施例中提供的应用代码为需要在虚拟机环 境中才能执行的应用代码, 即该应用代码为使用某种程序设计语言 编写的应用代码, 因此, 服务器传递应用代码至硬盘时, 可以采用 服务器的数据平面接口进行传递。
具体的, 可通过服务器的数据平面接口 , 并调用硬盘的数据
AP I , 将该应用代码和该应用代码的执行策略传递至硬盘。
特别的, 本发明实施例提供的数据 AP I 可以为硬盘数据平面的 一个接口, 该数据 AP I 为与硬盘的 Key-Va l ue接口位于同一平面的 接口。
需要说明的是, 本发明实施例提供的硬盘执行应用代码的方法 中, 硬盘可以执行的应用代码包括但不限于上述用户指定操作的应 用代码, 即本发明实施例提供的应用代码可以由用户根据实际需求 进行编写, 本发明不作限制。
进一步地, 上述应用代码的执行策略可以包括: 执行应用代码 的触发条件、 应用代码的执行条件和执行完成应用代码后的操作中 的至少一个。 具体的, 例如, 执行应用代码的触发条件可以为: 硬 盘已 24 小时未接收到外部业务请求时执行该应用代码; 应用代码的 执行条件可以为: 执行完成应用代码后退出, 或执行应用代码遇到 故障后重新执行该应用代码; 执行完成应用代码后的操作可以为: 执行完成应用代码后记录执行日志在硬盘的指定日志区, 或执行完 成应用代码后发送执行日志给外部网管服务器。 于上述描述的几种, 即本发明实施例提供的应用代码的执行策略可 以根据实际执行需求进行设置, 本发明不作限制。
5102、 硬盘根据该应用代码, 确定该应用代码是否需要在虚拟 机环境中执行。
硬盘接收到应用代码后, 硬盘可根据该应用代码, 确定该应用 代码是否需要在虚拟机环境中执行。
通常, 最常见的是计算机中的各种虚拟机, 以及由这些虚拟机 构成的运行环境。 如果通常所说的"虚拟机 "指的是用于表示虚拟机 的软硬件本身, 那么 "虚拟机环境 "就是运行起来的虚拟机。
举例来说, 如果虚拟机为 JVM ( JAVA Virtual Machine, JAVA 虚拟机), 那么虚拟机环境则为 JVM环境。
5103、 若硬盘确定该应用代码需要在该虚拟机环境中执行, 硬 盘则根据该应用代码的执行策略, 在该虚拟机环境中执行该应用代 码。
硬盘接收到应用代码后, 硬盘可根据该应用代码确定该应用代 码是否需要在某个虚拟机环境中执行, 若硬盘确定该应用代码需要 在某个虚拟机环境中执行, 硬盘则可根据接收到的该应用代码的执 行策略, 在该某个虚拟机的环境中执行该应用代码。
具体的, 若该应用代码需要在虚拟机环境中执行, 则表示该应 用代码为基于虚拟机才能执行的应用代码, 即表示该应用代码为采 用某种程序设计语言设计的应用代码, 因此, 硬盘在执行该应用代 码时, 可以基于该虚拟机解释执行该应用代码, 也就是说, 硬盘可 以在虚拟机环境, 即运行起来的虚拟机中解释执行该应用代码。
示例性的, 若应用代码为 JAVA ( —种程序设计语言) 字节码, 相应的虚拟机为 JVM, 则硬盘在执行该 JAVA字节码时, 需要在 JVM 环境中解释执行该 JAVA字节码, 即在运行起来的 JVM中解释执行该 应用代码。 其中, 该 JAVA字节码为对原始 JAVA代码编译后的代码。 举例来说, 本发明实施例提供的虚拟机、 虚拟机环境, 以及需 要在该虚拟机环境中执行的应用代码之间的对应关系可以包括下述 的任意一种:
( 1 ) 虚拟机为 JVM, 虚拟机环境为 JVM环境、 需要在该虚拟机 环境中执行的应用代码为需要在 JVM环境中执行的 JAVA字节码。
( 2 )虚拟机为脚本引擎, 虚拟机环境为脚本引擎环境, 需要在 该虚拟机环境中执行的应用代码为需要在脚本引擎环境中执行的脚 本代码。
( 3 ) 虚拟机为 SQL ( Structured Query Language, 结构化查 询语言) 引擎, 虚拟机环境为 SQL 引擎环境, 需要在该虚拟机环境 中执行的应用代码为需要在 SQL引擎环境中执行的 SQL语句。
( 4 )虚拟机为用户 自定义的引擎, 虚拟机环境为用户 自定义的 引擎环境, 需要在该虚拟机环境中执行的应用代码为需要在该用户 自定义的引擎环境中执行的代码。
需要说明的是, 上述四种虚拟机、 虚拟机环境, 以及需要在该 虚拟机环境中执行的应用代码之间的对应关系仅是示例性的说明, 即本发明实施例提供的虚拟机、 虚拟机环境, 以及需要在该虚拟机 环境中执行的应用代码之间的对应关系包括但不限于上述四种, 由 其他满足实际设计要求的方式设计的虚拟机、 虚拟机环境, 以及需 要在该虚拟机环境中执行的应用代码之间的对应关系也在本发明的 保护范围之内。
本发明实施例提供一种硬盘执行应用代码的方法, 通过硬盘接 收应用代码和该应用代码的执行策略, 并确定该应用代码是否需要 在虚拟机环境中执行, 且若硬盘确定该应用代码需要在该虚拟机环 境中执行, 硬盘则根据该应用代码的执行策略, 在该虚拟机环境中 执行该应用代码。 通过该方案, 由于硬盘可以接收来自硬盘外部的 应用代码 (例如自定义的应用代码) 和该应用代码的执行策略, 并 根据该执行策略, 在虚拟机环境中执行该应用代码, 即硬盘能够支 持基于来自硬盘外部的应用代码对硬盘进行访问的方式, 从而增强 了硬盘的性能, 进而提升了客户端与硬盘之间的交互能力。
本发明实施例提供另一种硬盘执行应用代码的方法, 如图 2 所 示, 该方法可以包括:
S 2 0 硬盘接收应用代码和该应用代码的执行策略。
本发明实施例提供的硬盘可以为以太接口硬盘 (也称为网络硬 盘), 该以太接口硬盘也可以称为智能硬盘, 即本发明实施例提供的 硬盘可以为基于 ARM 系统的硬盘。 其中, 该基于 ARM 系统的硬盘通 过将 ARM系统集成在传统的硬盘中, 以提升传统硬盘的性能。
若用户需通过硬盘执行一些指定的操作 (用户需在硬盘上扩展 的一些功能), 例如对硬盘进行病毒扫描、 执行硬盘数据的完整性检 查、 对硬盘数据执行压缩、 对硬盘进行垃圾回收、 执行硬盘数据向 其他硬盘迁移和拷贝、 对硬盘数据基于用户提供的密钥进行加密或 执行用户 自定义策略等, 用户则可编写这些指定操作的应用代码, 并设置这些指定操作的应用代码的执行策略, 从而用户可通过客户 端和部署的服务器将这些应用代码和这些应用代码的执行策略发送 至硬盘, 即硬盘接收服务器发送的应用代码和该应用代码的执行策 略。 其中, 该应用代码的执行策略可以为根据实际需求预设的。
需要说明的是, 本发明实施例提供的硬盘执行应用代码的方法 中, 服务器可以包括数据平面接口和管理平面接口。 其中, 本实施 例提供的硬盘执行应用代码的方法中, 可通过服务器的管理平面接 口或服务器的数据平面接口传递应用代码和应用代码的执行策略至 硬盘。
进一步地, 本实施例中提供的应用代码为硬盘能够直接执行的 应用代码, 即该应用代码为二进制格式的应用代码, 因此, 服务器 传递该应用代码至硬盘时, 可以采用服务器的管理平面接口进行传 递, 也可以使用服务器的数据平面接口进行传递。
具体的, 可通过服务器的管理平面接口 , 并调用硬盘的管理 AP I , 将该应用代码和该应用代码的执行策略传递至硬盘; 也可以通 过服务器的数据平面接口, 并调用硬盘的数据 AP I , 将该应用代码 和该应用代码的执行策略传递至硬盘。其中,服务器可通过 f i rmwa r e ( 固件) 加载的方式, 采用服务器的管理平面接口将应用代码传递 至硬盘。
特别的, 本发明实施例提供的硬盘的管理 AP I 可以为硬盘管理 平面的一个接口; 相应的, 硬盘的数据 AP I 可以为硬盘数据平面的 一个接口, 其中, 该数据 AP I 为与硬盘的 Key-Va l ue接口位于同一 平面的接口。
需要说明的是, 本发明实施例提供的硬盘执行应用代码的方法 中, 硬盘可以执行的应用代码包括但不限于上述用户指定操作的应 用代码, 即本发明实施例提供的应用代码可以由用户根据实际需求 进行编写, 本发明不作限制。
进一步地, 上述应用代码的执行策略可以包括: 执行应用代码 的触发条件、 应用代码的执行条件和执行完成应用代码后的操作中 的至少一个, 以及应用代码的标识, 应用代码的起始位置和应用代 码的长度。 具体的, 例如, 执行应用代码的触发条件可以为: 硬盘 已 24小时未接收到外部业务请求时执行该应用代码; 应用代码的执 行条件可以为: 执行完成应用代码后退出, 或执行应用代码遇到故 障后重新执行该应用代码; 执行完成应用代码后的操作可以为: 执 行完成应用代码后记录执行日志在硬盘的指定日志区, 或执行完成 应用代码后发送执行日志给外部网管服务器; 应用代码的标识可以 用于表示该应用代码为本发明实施例提供的应用代码, 即为用户提 供的扩展的应用代码; 应用代码的起始位置可以用于表示该应用代 码存储的起始地址。 硬盘接收到应用代码的执行策略之后, 硬盘可 根据应用代码的标识确认该应用代码为用户提供的扩展的应用代 码, 并根据该应用代码的起始位置和该应用代码的长度获取到该应 用代码, 以及根据该应用代码的执行策略, 执行该应用代码。 用代码的标识, 应用代码的起始位置和应用代码的长度之外, 该应 用代码的执行策略包括但不限于上述描述的几种, 即本发明实施例 提供的应用代码的执行策略可以根据实际执行需求进行设置, 本发 明不作限制。
S 2 02、 硬盘为该应用代码创建应用代码进程。
硬盘接收到应用代码后, 硬盘可为该应用代码创建应用代码进 程, 即硬盘可创建与该应用代码对应的应用代码进程。
可以理解的是, 进程是操作系统结构的基础; 是程序的一次动 态执行; 是程序的运行实例; 是程序及其数据在处理机上顺序执行 时所发生的活动; 是程序在一个数据集合上运行的过程; 是系统进 行资源分配和调度的一个独立单位。 示例性的, 本发明实施例提供 的应用代码进程为应用代码程序的一次动态执行; 为应用代码程序 的运行实例。
S 2 0 3、 硬盘将该应用代码加载至与该应用代码进程对应的硬盘 的内存中。
硬盘创建应用代码进程之后, 硬盘可将该应用代码加载至与该 应用代码进程对应的硬盘的内存中。
进一步地,对于本发明实施例提供的硬盘执行应用代码的方法, S 2 02 中硬盘创建的应用代码进程为进程的管理结构, 即硬盘创建的 应用代码进程为一个程序架构, 该程序架构经过 S 2 0 3 , 将应用代码 加载至与应用代码进程对应的硬盘的内存中之后, 该应用代码进程 才为该应用代码程序在硬盘的内存中的运行实例。
S 2 04、 硬盘根据该应用代码的执行策略, 在硬盘的内存中执行 该应用代码进程。
硬盘将应用代码加载至与该应用代码进程对应的硬盘的内存中 之后, 硬盘可根据该应用代码的执行策略, 在硬盘的内存中执行该 应用代码进程, 即硬盘可根据该应用代码的执行策略, 在硬盘的内 存中以进程的形式执行该应用代码。
本发明实施例提供另一种硬盘执行应用代码的方法, 通过硬盘 接收应用代码和该应用代码的执行策略, 且硬盘为该应用代码创建 应用代码进程, 以及硬盘将该应用代码加载至与该应用代码进程对 应的该硬盘的内存中, 从而硬盘根据该应用代码的执行策略, 在该 硬盘的内存中执行该应用代码进程。 通过该方案, 由于硬盘可以接 收来自硬盘外部的应用代码 (例如自定义的应用代码) 和该应用代 码的执行策略, 并根据该执行策略, 以进程的方式执行该应用代码, 即硬盘能够支持基于来自硬盘外部的应用代码对硬盘进行访问的方 式, 从而增强了硬盘的性能, 进而提升了客户端与硬盘之间的交互 能力。
实施例二
如图 3所示,本发明实施例提供一种硬盘执行应用代码的方法, 该方法可以包括:
S 301、 硬盘接收虚拟机数据信息, 该虚拟机数据信息用于创建 虚拟机环境。
本发明实施例提供的硬盘可以为以太接口硬盘 (也称为网络硬 盘), 该以太接口硬盘也可以称为智能硬盘, 即本发明实施例提供的 硬盘可以为基于 ARM 系统的硬盘。 其中, 该基于 ARM 系统的硬盘通 过将 ARM系统集成在传统的硬盘中, 以提升传统硬盘的性能。
若用户需通过硬盘执行一些指定的操作 (用户需在硬盘上扩展 的一些功能), 例如对硬盘进行病毒扫描、 执行硬盘数据的完整性检 查、 对硬盘数据执行压缩、 对硬盘进行垃圾回收、 执行硬盘数据向 其他硬盘迁移和拷贝、 对硬盘数据基于用户提供的密钥进行加密或 执行用户 自定义策略等, 用户则可编写这些指定操作的应用代码。 为了节省硬盘的系统资源, 用户一般可采用某种程序设计语言编写 这些指定操作的应用代码, 而采用该程序设计语言编写的这些指定 操作的应用代码需依赖于对应的虚拟机执行, 即这些指定操作的应 用代码需要在对应的虚拟机环境中执行。 因此, 硬盘首次执行采用 某种程序设计语言编写的应用代码时, 硬盘需先创建与该虚拟机对 应运行环境, 即虚拟机环境。 具体的, 硬盘接收虚拟机数据信息, 其中, 该虚拟机数据信息可用于创建虚拟机环境。 特别的 , 该虚拟机数据信息中可以包括虚拟机标识, 其中, 该 虚拟机标识可以为该虚拟机的名称, 可以为该虚拟机的类型, 也可 以为该虚拟机的名称和该虚拟机的类型, 还可以为其他任意满足区 分要求的标识, 本发明不作限制。
例如, 若该虚拟机数据信息为 J VM数据, 则该虚拟机数据信息 中可以包括 J VM标识 ( J VM 的名称和 /或 J VM 的类型 )。 具体的, 该 虚拟机数据信息中包括的虚拟机的名称可以为 J VM , 该虚拟机数据 信息中包括的虚拟机类型可以为 J VM的类型, 其中, 该 J VM的类型 可以为 " J VM XXXX" ( " XXXX" 可以用于表示该 J VM的版本号或生产 该 J VM的厂商标识;)。
S 302、 硬盘根据该虚拟机数据信息, 创建该虚拟机环境。
硬盘接收到虚拟机数据信息之后, 硬盘可根据该虚拟机数据信 息, 创建该虚拟机环境。
通常, 最常见的是计算机中的各种虚拟机, 以及由这些虚拟机 构成的运行环境。 如果通常所说的"虚拟机 "指的是用于表示虚拟机 的软硬件本身, 那么 "虚拟机环境 "就是运行起来的虚拟机。
举例来说, 如果虚拟机为 J VM , 那么虚拟机环境则为 J VM环境。 S 30 3、 硬盘接收应用代码和该应用代码的执行策略。
本发明实施例中,用户根据实际需求编写指定操作的应用代码, 并设置这些指定操作的应用代码的执行策略后, 用户可通过客户端 和部署的服务器将这些应用代码和这些应用代码对应的执行策略发 送至硬盘, 即硬盘接收服务器发送的应用代码和该应用代码的执行 策略, 其中, 该应用代码的执行策略可以为根据实际需求预设的。
需要说明的是, 本发明实施例提供的硬盘执行应用代码的方法 中, 服务器可以包括数据平面接口和管理平面接口。 其中, 本实施 例提供的硬盘执行应用代码的方法中, 可通过服务器的数据平面接 口传递应用代码和应用代码的执行策略至硬盘。
进一步地, 由于本实施例中提供的应用代码为需要在虚拟机环 境中才能执行的应用代码, 即该应用代码为使用某种程序设计语言 编写的应用代码, 因此, 服务器传递应用代码至硬盘时, 可以采用 服务器的数据平面接口进行传递。
具体的, 可通过服务器的数据平面接口 , 并调用硬盘的数据
AP I , 将该应用代码和该应用代码的执行策略传递至硬盘。
特别的, 本发明实施例提供的数据 AP I 可以为硬盘数据平面的 一个接口, 该数据 AP I 为与硬盘的 Key-Va l ue接口位于同一平面的 接口 。
需要说明的是, 本发明实施例提供的硬盘执行应用代码的方法 中, 硬盘可以执行的应用代码包括但不限于上述用户指定操作的应 用代码, 即本发明实施例提供的应用代码可以由用户根据实际需求 进行编写, 本发明不作限制。
进一步地, 上述应用代码的执行策略可以包括: 执行应用代码 的触发条件、 应用代码的执行条件和执行完成应用代码后的操作中 的至少一个。 具体的, 例如, 执行应用代码的触发条件可以为: 硬 盘已 24 小时未接收到外部业务请求时执行该应用代码; 应用代码的 执行条件可以为: 执行完成应用代码后退出, 或执行应用代码遇到 故障后重新执行该应用代码; 执行完成应用代码后的操作可以为: 执行完成应用代码后记录执行日志在硬盘的指定日志区, 或执行完 成应用代码后发送执行日志给外部网管服务器。 但不限于上述描述的几种, 即本发明实施例提供的应用代码的执行 策略可以根据实际执行需求进行设置, 本发明不作限制。
S 304、 硬盘根据该应用代码, 确定该应用代码是否需要在虚拟 机环境中执行。
硬盘接收到应用代码之后, 硬盘可根据该应用代码, 确定该应 用代码是否需要在虚拟机环境中执行。
特别的, 该应用代码中也可以包括虚拟机标识, 其中, 该虚拟 机标识可以为该虚拟机的名称, 可以为该虚拟机的类型, 也可以为 该虚拟机的名称和该虚拟机的类型, 还可以为其他任意满足区分要 求的标识, 本发明不作限制。
例如, 若该应用代码为 JAVA字节码, 即需要在 JVM环境中执行 的应用代码, 则该应用代码中可以包括 JVM标识 ( JVM的名称和 /或 JVM 的类型 )。 具体的, 该应用代码中包括的虚拟机的名称可以为 JVM, 该应用代码中包括的虚拟机的类型可以为 J VM的类型, 其中, 该 JVM的类型可以为 " JVM XXXX" ( "XXXX" 可以用于表示该 JVM的 版本号或生产该 JVM的厂商标识;)。
一种可能的实现方式中, 若应用代码中携带了虚拟机标识, 则 硬盘可根据该应用代码中携带的虚拟机标识, 确定执行该应用代码 的虚拟机环境; 相反的, 若应用代码中未携带虚拟机标识, 硬盘可 确定该应用代码不需要在虚拟机环境中执行。
需要说明的是, 本发明可以不限制 S301-S 302和 S 303-S 304 的 执行顺序, 即本发明可以先执行 S301-S 302, 后执行 S 303-S 304; 也 可以先执行 S 303-S 304 , 后执行 S301-S 302 ; 还可以 同 时执行 S301-S302和 S303 - S304。
S 305、 若硬盘确定该应用代码需要在虚拟机环境中执行, 则硬 盘可根据该应用代码中携带的虚拟机标识, 确定执行该应用代码的 虚拟机环境。
硬盘确定该应用代码需要在虚拟机环境中执行之后, 硬盘可进 一步根据该应用代码中携带的虚拟机标识, 确定执行该应用代码的 虚拟机环境。
示例性的, 若应用代码中携带的虚拟机标识为 JVM, 则硬盘可 根据该 JVM, 确定执行该应用代码的虚拟机环境为 JVM环境。
具体的, 若该应用代码需要在虚拟机环境中执行, 则表示该应 用代码为基于虚拟机才能执行的应用代码, 即表示该应用代码为采 用某种程序设计语言设计的应用代码, 因此, 硬盘在执行该应用代 码时, 可以基于该虚拟机解释执行该应用代码, 也就是说, 硬盘可 以在虚拟机环境, 即运行起来的虚拟机中解释执行该应用代码。
示例性的, 若应用代码为 JAVA (—种程序设计语言) 字节码, 虚拟机为 JVM, 则硬盘在执行该 JAVA字节码时, 需要在 JVM环境中 解释执行该 JAVA字节码, 即在运行起来的 JVM中解释执行该应用代 码。 其中, 该 JAVA字节码为对原始 JAVA代码编译后的代码。
举例来说, 本发明实施例提供的虚拟机、 虚拟机环境, 以及需 要在该虚拟机环境中执行的应用代码之间的对应关系可以包括下述 的任意一种:
( 1 ) 虚拟机为 JVM, 虚拟机环境为 JVM环境、 需要在该虚拟机 环境中执行的应用代码为需要在 JVM环境中执行的 JAVA字节码。
( 2 )虚拟机为脚本引擎, 虚拟机环境为脚本引擎环境, 需要在 该虚拟机环境中执行的应用代码为需要在脚本引擎环境中执行的脚 本代码。
( 3 )虚拟机为 SQL 引擎, 虚拟机环境为 SQL引擎环境, 需要在 该虚拟机环境中执行的应用代码为需要在 SQL 引擎环境中执行的 SQL语句。
( 4 )虚拟机为用户 自定义的引擎, 虚拟机环境为用户 自定义的 引擎环境, 需要在该虚拟机环境中执行的应用代码为需要在该用户 自定义的引擎环境中执行的代码。
需要说明的是, 上述四种虚拟机、 虚拟机环境, 以及需要在该 虚拟机环境中执行的应用代码之间的对应关系仅是示例性的说明, 即本发明实施例提供的虚拟机、 虚拟机环境, 以及需要在该虚拟机 环境中执行的应用代码之间的对应关系包括但不限于上述四种, 由 其他满足实际设计要求的方式设计的虚拟机、 虚拟机环境, 以及需 要在该虚拟机环境中执行的应用代码之间的对应关系也在本发明的 保护范围之内。
S 306、 硬盘根据该应用代码的执行策略, 在该虚拟机环境中执 行该应用代码。
硬盘确定能够执行应用代码的虚拟机环境之后, 硬盘可根据该 应用代码的执行策略, 在该虚拟机环境中执行该应用代码。
可选的, 如图 4 所示, 本发明实施例提供的硬盘执行应用代码 的方法还可以包括:
S 307、 硬盘接收该虚拟机数据信息的执行指示, 该虚拟机数据 信息的执行指示用于指示硬盘是否对该虚拟机数据信息进行持久 化。
硬盘接收该虚拟机数据信息的执行指示, 其中, 该虚拟机数据 信息的执行指示可以为根据实际需求预设的, 该虚拟机数据信息的 执行指示可用于指示硬盘是否需对该虚拟机数据信息进行持久化。
其中, 持久化是指将数据 (如硬盘的内存中的对象) 保存到可 永久保存的存储设备中, 如磁盘。 持久化的主要应用是将内存中的 对象存储在关系型的数据库、磁盘文件以及 XML( extensible Markup Language, 可扩展标记语言)数据文件中等。 示例性的, JDBC ( JAVA Data Base Connectivity, JAVA数据库连接) 就是一种持久化机制, 文件 10也是一种持久化机制。
进一步地, 本发明实施例提供的虚拟机数据信息的执行指示具 体可以包括: 将该虚拟机数据信息持久化到硬盘的存储介质, 或在 硬盘的内存中运行该虚拟机数据信息且不对该虚拟机数据信息进行 持久化。 其中, 硬盘的存储介质可以为硬盘介质或硬盘的闪存。
S 308、 硬盘根据该虚拟机数据信息的执行指示, 对该虚拟机数 据信息进行与该虚拟机数据信息的执行指示对应的操作。
硬盘接收到该虚拟机数据信息的执行指示之后, 硬盘可根据该 虚拟机数据信息的执行指示, 对该虚拟机数据信息进行与该虚拟机 数据信息的执行指示对应的操作。 具体的, 若该虚拟机数据信息的 执行指示指示硬盘将该虚拟机数据信息持久化到硬盘的存储介质, 硬盘则根据该虚拟机数据信 , ¾的执行指示, 将该虚拟机数据信息持 久化到硬盘的存储介质; 若该虚拟机数据信息的执行指示指示硬盘 在硬盘的内存中运行该虚拟机数据信息且不对该虚拟机数据信息进 行持久化, 硬盘则根据该虚拟机数据信息的执行指示, 在硬盘的内 存中运行该虚拟机数据信息而不对该虚拟机数据信息进行持久化。
需要说明的是,本发明实施例提供的硬盘执行应用代码的方法, 可以将硬盘对虚拟机数据信息进行的操作, 即虚拟机数据信 , 的执 行指示设置为默认配置, 这样硬盘则无需执行 S 307 和 S 308 , 即只 有为硬盘对虚拟机数据信息的操作设置执行指示时, 硬盘才需执行 S 307和 S 308。
进一步地, 本发明可以不限制 S 3 07和 S 301 的执行顺序, 即本 发明可以先执行 S 3 07 , 后执行 S 30 1 ; 也可以先执行 S 3 01 , 后执行 S 307 ; 还可以同时执行 S 307和 S 301。
进一步地, 本发明也可以不限制 S 307和 S 3 0 3 的执行顺序, 即 本发明可以先执行 S 307 , 后执行 S 30 3 ; 也可以先执行 S 30 3 , 后执 行 S 307 ; 还可以同时执行 S 3 07和 S 30 3。
具体的, 如图 5 所示, 本发明实施例提供的硬盘执行应用代码 的方法中, S 3 06 , 即硬盘根据该应用代码的执行策略, 在该虚拟机 环境中执行该应用代码, 具体可以包括:
S 306 0、 硬盘在该虚拟机环境中为该应用代码创建应用代码进 程。
硬盘确定执行该应用代码的虚拟机环境之后, 硬盘若需在该虚 拟机环境中执行该应用代码, 硬盘则可在该虚拟机环境中为该应用 代码创建应用代码进程。
可以理解的是, 进程是操作系统结构的基础; 是程序的一次动 态执行; 是程序的运行实例; 是程序及其数据在处理机上顺序执行 时所发生的活动; 是程序在一个数据集合上运行的过程; 是系统进 行资源分配和调度的一个独立单位。 示例性的, 本发明实施例提供 的应用代码进程为应用代码程序的一次动态执行; 为应用代码程序 的运行实例。
S 306 1、硬盘将该应用代码加载至与该应用代码进程对应的硬盘 的内存中。
硬盘在该虚拟机环境中为该应用代码创建应用代码进程之后, 硬盘可将该应用代码加载至与该应用代码进程对应的硬盘的内存 中。 进一步地,对于本发明实施例提供的硬盘执行应用代码的方法,
S 306 0 中硬盘创建的应用代码进程为进程的管理结构, 即硬盘创建 的应用代码进程为一个程序架构, 该程序架构经过 S 3 06 1 , 将应用 代码加载至与应用代码进程对应的硬盘的内存中之后, 该应用代码 进程才为该应用代码程序在硬盘的内存中的运行实例。
S 3062 , 硬盘根据该应用代码的执行策略, 在该虚拟机环境中执 行该应用代码进程。
硬盘将应用代码加载至与应用代码进程对应的硬盘的内存中之 后, 硬盘可根据该应用代码的执行策略, 在该虚拟机环境中执行该 应用代码进程。
需要说明的是, 本发明实施例提供的硬盘执行应用代码的方法 中, 当硬盘确定其接收到的应用代码需要在某个虚拟机环境中执行 时, 硬盘可执行 S 305 和 S 306 , 即硬盘可先根据该应用代码中携带 的虚拟机标识, 确定执行该应用代码的虚拟机环境, 并在该虚拟机 环境中为该应用代码创建应用代码进程, 且将该应用代码加载至与 该应用代码进程对应的硬盘的内存中, 以及根据该应用代码的执行 策略, 在该虚拟机环境中执行该应用代码进程。
进一步地, 硬盘在创建了与上述虚拟机数据信息对应的虚拟机 环境之后, 硬盘后续可继续接收需要在该虚拟机环境中执行的其他 应用代码, 并在接收到该其他应用代码之后, 硬盘可直接在该虚拟 机环境中, 再为该其他应用代码创建其他应用代码进程。
例如, 若硬盘接收到应用代码 A和应用代码 B , 应用代码 A和 应用代码 B 均在某个虚拟机环境中执行, 则当硬盘接收到应用代码 A 时, 硬盘可在该某个虚拟机环境中为应用代码 A 创建应用代码 A 进程, 并将应用代码 A加载至与该应用代码 A进程对应的硬盘的内 存中, 以及在该某个虚拟机环境中执行该应用代码 A 进程; 当硬盘 接收到应用代码 B 时, 硬盘可在该某个虚拟机环境中为应用代码 B 创建应用代码 B进程, 并将应用代码 B加载至与该应用代码 B进程 对应的硬盘的内存中, 以及在该某个虚拟机环境中执行该应用代码 B 进程, 即硬盘可在该某个虚拟机环境中执行该应用代码 A 进程和 该应用代码 B进程。
进一步地, 本实施例中的应用代码需要在虚拟机环境中执行, 在该方法中, 需要在虚拟机环境中执行的应用代码、 该应用代码的 执行策略、 虚拟机数据信息, 以及虚拟机标识等数据的传输通道可 以与 Key-Value数据的传输通道选择为一致的传输通道。
具体的, 本发明实施例提供的需要在虚拟机环境中执行的应用 代码、 该应用代码的执行策略、 虚拟机数据信息, 以及虚拟机标识 等数据的应用 层传输通道可以 为 HTTP ( Hypertext Transfer Protocol, 超文本传输协议) 方式。 例如, 可以在 HTTP的消息体中 指定需要在虚拟机环境中执行的应用代码; 指定执行该应用代码的 执行策略; 指定具体的二进制格式的虚拟机数据信息; 指定该数据 信息为虚拟机数据信息; 以及指定虚拟机标识等。
进一步地, 本发明实施例提供的需要在虚拟机环境中执行的应 用代码、 该应用代码的执行策略、 虚拟机数据信息, 以及虚拟机标 识等数据的应用层传输通道也可以为 HTTP之外的其他自定义协议, 其中, 该自定义协议可以提供需要在虚拟机环境中执行的应用代码、 该应用代码的执行策略、 虚拟机数据信息, 以及虚拟机标识等数据 的语义描述。
本发明实施例提供一种硬盘执行应用代码的方法, 通过硬盘接 收应用代码和该应用代码的执行策略, 并确定该应用代码是否需要 在虚拟机环境中执行, 且若硬盘确定该应用代码需要在该虚拟机环 境中执行, 硬盘则根据该应用代码的执行策略, 在该虚拟机环境中 执行该应用代码。 通过该方案, 由于硬盘可以接收来自硬盘外部的 应用代码 (例如自定义的应用代码) 和该应用代码的执行策略, 并 根据该执行策略, 在虚拟机环境中执行该应用代码, 即硬盘能够支 持基于来自硬盘外部的应用代码对硬盘进行访问的方式, 从而增强 了硬盘的性能, 进而提升了客户端与硬盘之间的交互能力。
本发明实施例提供另一种硬盘执行应用代码的方法, 如图 6 所 示, 该方法可以包括:
S 4 01、 硬盘接收应用代码和该应用代码的执行策略。
本发明实施例提供的硬盘可以为以太接口硬盘 (也称为网络硬 盘), 该以太接口硬盘也可以称为智能硬盘, 即本发明实施例提供的 硬盘可以为基于 ARM 系统的硬盘。 其中, 该基于 ARM 系统的硬盘通 过将 ARM系统集成在传统的硬盘中, 以提升传统硬盘的性能。
若用户需通过硬盘执行一些指定的操作 (用户需在硬盘上扩展 的一些功能), 例如对硬盘进行病毒扫描、 执行硬盘数据的完整性检 查、 对硬盘数据执行压缩、 对硬盘进行垃圾回收、 执行硬盘数据向 其他硬盘迁移和拷贝、 对硬盘数据基于用户提供的密钥进行加密或 执行用户 自定义策略等, 用户则可编写这些指定操作的应用代码, 并设置这些指定操作的应用代码的执行策略, 从而用户可通过客户 端和部署的服务器将这些应用代码和这些应用代码的执行策略发送 至硬盘, 即硬盘接收服务器发送的应用代码和该应用代码的执行策 略, 其中, 该应用代码的执行策略可以为根据实际需求预设的。
需要说明的是, 本发明实施例提供的硬盘执行应用代码的方法 中, 服务器可以包括数据平面接口和管理平面接口。 其中, 本实施 例提供的硬盘执行应用代码的方法中, 可通过服务器的管理平面接 口或服务器的数据平面接口传递应用代码和应用代码的执行策略至 硬盘。
进一步地, 本实施例中提供的应用代码为硬盘能够直接执行的 应用代码, 即该应用代码为二进制格式的应用代码, 因此, 服务器 传递该应用代码至硬盘时, 可以采用服务器的管理平面接口进行传 递, 也可以使用服务器的数据平面接口进行传递。
具体的, 可通过服务器的管理平面接口 , 并调用硬盘的管理 AP I , 将该应用代码和该应用代码的执行策略传递至硬盘; 也可以通 过服务器的数据平面接口, 并调用硬盘的数据 AP I , 将该应用代码 和该应用代码的执行策略传递至硬盘。其中,服务器可通过 f i r mwa r e 加载的方式, 采用服务器的管理平面接口将应用代码传递至硬盘。 特别的, 本发明实施例提供的硬盘的管理 AP I 可以为硬盘管理 平面的一个接口; 相应的, 硬盘的数据 AP I 可以为硬盘数据平面的 一个接口, 其中, 该数据 AP I 为与硬盘的 Key-Va l ue接口位于同一 平面的接口。
需要说明的是, 本发明实施例提供的硬盘执行应用代码的方法 中, 硬盘可以执行的应用代码包括但不限于上述用户指定操作的应 用代码, 即本发明实施例提供的应用代码可以由用户根据实际需求 进行编写, 本发明不作限制。
进一步地, 上述应用代码的执行策略可以包括: 执行应用代码 的触发条件、 应用代码的执行条件和执行完成应用代码后的操作中 的至少一个, 以及应用代码的标识, 应用代码的起始位置和应用代 码的长度。 具体的, 例如, 执行应用代码的触发条件可以为: 硬盘 已 24小时未接收到外部业务请求时执行该应用代码; 应用代码的执 行条件可以为: 执行完成应用代码后退出, 或执行应用代码遇到故 障后重新执行该应用代码; 执行完成应用代码后的操作可以为: 执 行完成应用代码后记录执行日志在硬盘的指定日志区, 或执行完成 应用代码后发送执行日志给外部网管服务器; 应用代码的标识可以 用于表示该应用代码为本发明实施例提供的应用代码, 即为用户提 供的扩展的应用代码; 应用代码的起始位置可以用于表示该应用代 码存储的起始地址。 硬盘接收到应用代码的执行策略之后, 硬盘可 根据应用代码的标识确认该应用代码为用户提供的扩展的应用代 码, 并根据该应用代码的起始位置和该应用代码的长度获取到该应 用代码, 以及根据该应用代码的执行策略, 执行该应用代码。 除了应用代码的标识, 应用代码的起始位置和应用代码的长度之外, 该应用代码的执行策略包括但不限于上述描述的几种, 即本发明实 施例提供的应用代码的执行策略可以根据实际执行需求进行设置, 本发明不作限制。
S 402、 硬盘将该应用代码和该应用代码的执行策略存储于硬盘 的存储介质中。
硬盘接收到应用代码和该应用代码的执行策略之后, 硬盘可将 该应用代码和该应用代码的执行策略存储于硬盘的存储介质中, 其 中, 硬盘的存储介质可以为硬盘介质或硬盘的闪存。
特别的, 本实施例中, 由于从服务器加载至硬盘的应用代码为 二进制格式的应用代码。 这样, 硬盘接收到该应用代码之后, 硬盘 可以直接以进程的形式执行该应用代码, 而无需将该应用代码在对 应的虚拟机环境中解释执行。
S 4 0 3、 硬盘为该应用代码创建应用代码进程。
硬盘接收到应用代码后, 硬盘可为该应用代码创建应用代码进 程, 即硬盘可创建与该应用代码对应的应用代码进程。
可以理解的是, 进程是操作系统结构的基础; 是程序的一次动 态执行; 是程序的运行实例; 是程序及其数据在处理机上顺序执行 时所发生的活动; 是程序在一个数据集合上运行的过程; 是系统进 行资源分配和调度的一个独立单位。 示例性的, 本发明实施例提供 的应用代码进程为应用代码程序的一次动态执行; 为应用代码程序 的运行实例。
S 4 04、 硬盘将该应用代码加载至与该应用代码进程对应的硬盘 的内存中。
硬盘创建应用代码进程之后, 硬盘可将该应用代码加载至与该 应用代码进程对应的硬盘的内存中。
进一步地,对于本发明实施例提供的硬盘执行应用代码的方法, S 4 0 3 中硬盘创建的应用代码进程为进程的管理结构, 即硬盘创建的 应用代码进程为一个程序架构, 该程序架构经过 S 4 04 , 将应用代码 加载至与应用代码进程对应的硬盘的内存中之后, 该应用代码进程 才为该应用代码程序在硬盘的内存中的运行实例。
S 4 05、 硬盘根据该应用代码的执行策略, 在硬盘的内存中执行 该应用代码进程。
硬盘将应用代码加载至与该应用代码进程对应的硬盘的内存中 之后, 硬盘可根据该应用代码的执行策略, 在硬盘的内存中执行该 应用代码进程, 即硬盘可根据该应用代码的执行策略, 在硬盘的内 存中以进程的形式执行该应用代码。
进一步地,本实施例中的应用代码不需要在虚拟机环境中执行, 在该方法中, 应用代码和该应用代码的执行策略等数据的传输通道 可以与 K ey-Va l u e数据的传输通道选择为一致的传输通道。
具体的, 本发明实施例提供的应用代码和该应用代码的执行策 略等数据的应用层传输通道可以为 HTT P 方式。 例如, 可以在 HTT P 的消息体中指定具体的二进制格式的应用代码和该应用代码的执行 策略等。
进一步地, 本发明实施例提供的应用代码和该应用代码的执行 策略等数据的应用层传输通道也可以为 HT TP 之外的其他自定义协 议, 其中, 该自定义协议可以提供应用代码和该应用代码的执行策 略等数据的语义描述。
本发明实施例提供另一种硬盘执行应用代码的方法, 通过硬盘 接收应用代码和该应用代码的执行策略, 且硬盘为该应用代码创建 应用代码进程, 以及硬盘将该应用代码加载至与该应用代码进程对 应的该硬盘的内存中, 从而硬盘根据该应用代码的执行策略, 在该 硬盘的内存中执行该应用代码进程。 通过该方案, 由于硬盘可以接 收来自硬盘外部的应用代码 (例如自定义的应用代码) 和该应用代 码的执行策略, 并根据该执行策略, 以进程的方式执行该应用代码, 即硬盘能够支持基于来自硬盘外部的应用代码对硬盘进行访问的方 式, 从而增强了硬盘的性能, 进而提升了客户端与硬盘之间的交互 能力。
实施例三
如图 7 所示, 本发明实施例提供一种硬盘 1 , 该硬盘 1 对应于 本发明实施例提供的一种硬盘执行应用代码的方法, 该硬盘 1 可以 包括:
接收单元 1 0 , 用于接收应用代码和所述应用代码的执行策略。 确定单元 11, 用于根据所述接收单元 10接收的所述应用代码, 确定所述应用代码是否需要在虚拟机环境中执行。
执行单元 12, 用于若所述确定单元 11 确定所述应用代码需要 在所述虚拟机环境中执行, 则根据所述接收单元 10接收的所述应用 代码的执行策略, 在所述虚拟机环境中执行所述接收单元 10接收的 所述应用代码。
可选的, 如图 8所示, 所述硬盘 1还可以包括创建单元 13, 所述接收单元 10, 还用于接收虚拟机数据信息, 所述虚拟机数 据信息用于创建所述虚拟机环境; 所述创建单元 13, 用于根据所述 接收单元 10接收的所述虚拟机数据信息, 创建所述虚拟机环境。
可选的, 所述应用代码中携带虚拟机标识,
所述确定单元 11, 还用于根据所述应用代码中携带的所述虚拟 机标识, 确定所述创建单元 13创建的执行所述应用代码的虚拟机环 境。
可选的, 如图 9所示, 所述硬盘 1还可以包括加载单元 14, 所述创建单元 13, 还用于在所述虚拟机环境中为所述接收单元 10接收的所述应用代码创建应用代码进程; 所述加载单元 14, 用于 将所述接收单元 10 接收的所述应用代码加载至与所述创建单元 13 创建的所述应用代码进程对应的所述硬盘的内存中; 所述执行单元 12, 具体用于根据所述接收单元 10 接收的所述应用代码的执行策 略, 在所述创建单元 13创建的所述虚拟机环境中执行所述创建单元 13创建的所述应用代码进程。
可选的, 所述接收单元 10, 还用于接收所述虚拟机数据信息的 执行指示, 所述虚拟机数据信息的执行指示用于指示是否对所述虚 拟机数据信息进行持久化; 所述执行单元 12, 还用于根据所述接收 单元 10 接收的所述虚拟机数据信息的执行指示, 对所述接收单元 10接收的所述虚拟机数据信息进行与所述虚拟机数据信 , 的执行指 示对应的操作。
可选的, 所述接收单元 10 接收的所述应用代码的执行策略包 括: 执行所述应用代码的触发条件、 所述应用代码的执行条件和执 行完成所述应用代码后的操作中的至少一个。
可选的, 所述应用代码、 所述应用代码的执行策略、 所述虚拟 机数据信息、 所述虚拟机数据信息的执行指示存储于所述硬盘的存 储介质中。 所述硬盘的存储介质可以包括硬盘介质和所述硬盘的闪 存。 具体的, 所述应用代码、 所述应用代码的执行策略、 所述虚拟 机数据信息、 所述虚拟机数据信息的执行指示可以存储于硬盘介质 中; 所述应用代码、 所述应用代码的执行策略、 所述虚拟机数据信 息、 所述虚拟机数据信息的执行指示也可以存储于所述硬盘的闪存 中; 所述应用代码、 所述应用代码的执行策略、 所述虚拟机数据信 息、 所述虚拟机数据信息的执行指示中可以部分存储于硬盘介质中, 部分存储于所述硬盘的闪存中, 本发明不作限制。
需要说明的是, 本发明实施例提供的硬盘 1 可以为以太接口硬 盘 (也称为网络硬盘), 该以太接口硬盘也可以称为智能硬盘, 即本 发明实施例提供的硬盘可以为基于 ARM 系统的硬盘。 其中, 该基于 ARM 系统的硬盘通过将 ARM 系统集成在传统的硬盘中, 以提升传统 硬盘的性能。
本发明实施例提供一种硬盘, 该硬盘接收应用代码和该应用代 码的执行策略, 并确定该应用代码是否需要在虚拟机环境中执行, 且若硬盘确定该应用代码需要在该虚拟机环境中执行, 硬盘则根据 该应用代码的执行策略, 在该虚拟机环境中执行该应用代码。 通过 该方案, 由于硬盘可以接收来自硬盘外部的应用代码 (例如自定义 的应用代码) 和该应用代码的执行策略, 并根据该执行策略, 在虚 拟机环境中执行该应用代码, 即硬盘能够支持基于来自硬盘外部的 应用代码对硬盘进行访问的方式, 从而增强了硬盘的性能, 进而提 升了客户端与硬盘之间的交互能力。
如图 1 0所示, 本发明实施例提供另一种硬盘 2 , 该硬盘 2对应 于本发明实施例提供的另一种硬盘执行应用代码的方法, 该硬盘 2 可以包括: 接收单元 2 0 , 用于接收应用代码和所述应用代码的执行策略。 创建单元 2 1 , 用于为所述接收单元 2 0 接收的所述应用代码创 建应用代码进程。
加载单元 22 , 用于将所述接收单元 2 0 接收的所述应用代码加 载至与所述创建单元 2 1 创建的所述应用代码进程对应的所述硬盘 的内存中。
执行单元 2 3 , 用于根据所述接收单元 2 0 接收的所述应用代码 的执行策略, 在所述硬盘的内存中执行所述创建单元 2 1创建的所述 应用代码进程。
可选的,所述接收单元 2 0接收的所述应用代码的执行策略可以 包括: 执行所述应用代码的触发条件、 所述应用代码的执行条件和 执行完成所述应用代码后的操作中的至少一个, 以及所述应用代码 的标识, 所述应用代码的起始位置和所述应用代码的长度。
可选的,所述接收单元 2 0接收的所述应用代码为二进制格式的 应用代码。 硬盘的存储介质中。 所述硬盘的存储介质可以包括硬盘介质和所述 硬盘的闪存。 具体的, 所述应用代码和所述应用代码的执行策略可 以存储于硬盘介质中; 所述应用代码和所述应用代码的执行策略也 可以存储于所述硬盘的闪存中; 所述应用代码和所述应用代码的执 行策略中还可以部分存储于硬盘介质中, 部分存储于所述硬盘的闪 存中, 本发明不作限制。
需要说明的是, 本发明实施例提供的硬盘 2可以为以太接口硬 盘 (也称为网络硬盘), 该以太接口硬盘也可以称为智能硬盘, 即本 发明实施例提供的硬盘可以为基于 ARM 系统的硬盘。 其中, 该基于 ARM 系统的硬盘通过将 ARM 系统集成在传统的硬盘中, 以提升传统 硬盘的性能。
本发明实施例提供一种硬盘, 该硬盘接收应用代码和该应用代 码的执行策略, 且硬盘为该应用代码创建应用代码进程, 以及硬盘 将该应用代码加载至与该应用代码进程对应的该硬盘的内存中, 从 而硬盘根据该应用代码的执行策略, 在该硬盘的内存中执行该应用 代码进程。 通过该方案, 由于硬盘可以接收来自硬盘外部的应用代 码 (例如自定义的应用代码) 和该应用代码的执行策略, 并根据该 执行策略, 以进程的方式执行该应用代码, 即硬盘能够支持基于来 自硬盘外部的应用代码对硬盘进行访问的方式, 从而增强了硬盘的 性能, 进而提升了客户端与硬盘之间的交互能力。
实施例四
如图 11所示, 本发明实施例提供一种硬盘, 该硬盘对应于本发 明实施例提供的一种硬盘执行应用代码的方法, 该硬盘可以包括处 理器 16, 例如 CPU ( Central Processing Unit, 中央处理器), 至 少一个数据接口 17, 存储器 18, 系统总线 19。 系统总线 19用于实 现这些组件之间的连接通信。存储器 18可能包含 RAM( Random Access Memory, 高速随机存取存储器), 也可能还包括非不稳定的存储器 ( non-volatile memory ), 例如至少一个磁盘存储器等。 存储器 18 可选的可以包含至少一个存储装置, 具体的, 存储器 18可以为硬盘 的存储介质, 硬盘的存储介质可以包括硬盘介质 180 和硬盘的闪存 181。
在一些实施方式中, 存储器 18存储了如下的元素, 可执行模块 或者数据结构, 或者他们的子集, 或者他们的扩展集:
操作系统, 包含各种系统程序, 用于实现各种基础业务以及处 理基于硬件的任务。
应用模块, 包含各种应用程序, 用于实现各种应用业务。
应用模块中包括但不限于本发明实施例提供的虚拟机环境及应 用代码进程等。
当硬盘运行时, 处理器 16通过运行硬盘的内部执行指令, 可以 执行图 1、 图 3至图 5任意之一所述的方法流程, 具体包括:
所述处理器 16, 用于通过所述系统总线 19, 从所述数据接口 17接收应用代码和所述应用代码的执行策略,并根据所述应用代码, 确定所述应用代码是否需要在虚拟机环境中执行, 如是, 则根据所 述应用代码的执行策略, 在所述虚拟机环境中执行所述应用代码; 所述存储器 18, 用于存储所述应用代码、 所述应用代码的执行策略, 以及用于完成上述过程的软件程序, 从而所述处理器 16可通过执行 该软件程序, 并调用所述应用代码和所述应用代码的执行策略以完 成上述过程。
具体的, 所述应用代码、 所述应用代码的执行策略, 以及用于 完成上述过程的软件程序可以存储于所述硬盘介质 180 中; 也可以 存储于所述硬盘的闪存 181 中;还可以部分存储于所述硬盘介质 180 中, 部分存储于所述硬盘的闪存 181 中, 本发明不作限制。
可选的, 所述处理器 16 , 还用于通过所述系统总线 19 , 从所述 数据接口 17接收虚拟机数据信息, 并根据所述虚拟机数据信息, 创 建所述虚拟机环境, 所述虚拟机数据信息用于创建所述虚拟机环境; 所述存储器 18, 还用于存储所述虚拟机数据信息。
可选的, 所述应用代码中携带虚拟机标识,
所述处理器 16, 还用于根据所述应用代码中携带的所述虚拟机 标识, 确定执行所述应用代码的虚拟机环境。
可选的, 所述处理器 16, 具体用于在所述虚拟机环境中为所述 应用代码创建应用代码进程, 并通过所述系统总线 19将所述应用代 码加载至与所述应用代码进程对应的所述硬盘的内存中, 以及在所 述虚拟机环境中执行所述应用代码进程。
可选的, 所述处理器 16 , 还用于通过所述系统总线 19 , 从所述 数据接口 17接收所述虚拟机数据信息的执行指示, 并根据所述虚拟 机数据信息的执行指示, 对所述虚拟机数据信息进行与所述虚拟机 数据信息的执行指示对应的操作, 所述虚拟机数据信息的执行指示 用于指示是否对所述虚拟机数据信息进行持久化; 所述存储器 18, 还用于存储所述虚拟机数据信息的执行指示。
可选的, 所述处理器 16接收的所述应用代码的执行策略包括: 执行所述应用代码的触发条件、 所述应用代码的执行条件和执行完 成所述应用代码后的操作中的至少一个。
可选的, 所述虚拟机数据信息和所述虚拟机数据信息的执行指 示可以存储于硬盘的存储介质中。 具体的, 所述虚拟机数据信息和 所述虚拟机数据信息的执行指示可以存储于所述硬盘介质 1 8 0 中; 所述虚拟机数据信息和所述虚拟机数据信息的执行指示也可以存储 于所述硬盘的闪存 1 8 1 中; 所述虚拟机数据信息和所述虚拟机数据 信息的执行指示中可以部分存储于所述硬盘介质 1 8 0 中, 部分存储 于所述硬盘的闪存 1 8 1 中, 本发明不作限制。
需要说明的是, 本发明实施例提供的硬盘可以为以太接口硬盘 (也称为网络硬盘), 该以太接口硬盘也可以称为智能硬盘, 即本发 明实施例提供的硬盘可以为基于 ARM系统的硬盘。 其中, 该基于 ARM 系统的硬盘通过将 ARM 系统集成在传统的硬盘中, 以提升传统硬盘 的性能。
本发明实施例提供一种硬盘, 该硬盘接收应用代码和该应用代 码的执行策略, 并确定该应用代码是否需要在虚拟机环境中执行, 且若硬盘确定该应用代码需要在该虚拟机环境中执行, 硬盘则根据 该应用代码的执行策略, 在该虚拟机环境中执行该应用代码。 通过 该方案, 由于硬盘可以接收来自硬盘外部的应用代码 (例如自定义 的应用代码) 和该应用代码的执行策略, 并根据该执行策略, 在虚 拟机环境中执行该应用代码, 即硬盘能够支持基于来自硬盘外部的 应用代码对硬盘进行访问的方式, 从而增强了硬盘的性能, 进而提 升了客户端与硬盘之间的交互能力。
如图 1 2所示, 本发明实施例提供另一种硬盘, 该硬盘对应于本 发明实施例提供的另一种硬盘执行应用代码的方法, 该硬盘可以包 括处理器 24 , 例如 CPU , 至少一个数据接口 25 , 存储器 26 , 系统总 线 2 7。 系统总线 27 用于实现这些组件之间的连接通信。 存储器 26 可能包含 RAM , 也可能还包括非不稳定的存储器, 例如至少一个磁 盘存储器。 存储器 26可选的可以包含至少一个存储装置, 具体的, 存储器 2 6可以包括硬盘介质 2 6 0和硬盘的闪存 26 1。 在一些实施方式中, 存储器 26存储了如下的元素, 可执行模块 或者数据结构, 或者他们的子集, 或者他们的扩展集:
操作系统, 包含各种系统程序, 用于实现各种基础业务以及处 理基于硬件的任务。
应用模块, 包含各种应用程序, 用于实现各种应用业务。
应用模块中包括但不限于本发明实施例提供的应用代码进程 等。
当硬盘运行时, 处理器 24通过运行硬盘的内部执行指令, 可以 执行图 2和图 6任意之一所述的方法流程, 具体包括:
所述处理器 24 , 用于通过所述系统总线 27 , 从所述数据接口 25接收应用代码和所述应用代码的执行策略, 并为所述应用代码创 建应用代码进程, 且通过所述系统总线 27将所述应用代码加载至与 所述应用代码进程对应的所述硬盘的内存中, 以及根据所述应用代 码的执行策略, 在所述硬盘的内存中执行所述应用代码进程; 所述 存储器 26 , 用于存储所述应用代码、 所述应用代码的执行策略, 以 及用于完成上述过程的软件程序, 从而所述处理器 24可通过执行该 软件程序, 并调用所述应用代码和所述应用代码的执行策略以完成 上述过程。
具体的, 所述应用代码、 所述应用代码的执行策略, 以及用于 完成上述过程的软件程序可以存储于所述硬盘介质 2 6 0 中; 也可以 存储于所述硬盘的闪存 26 1 中;还可以部分存储于所述硬盘介质 26 0 中, 部分存储于所述硬盘的闪存 26 1 中, 本发明不作限制。
可选的,所述处理器 24接收的所述应用代码的执行策略可以包 括: 执行所述应用代码的触发条件、 所述应用代码的执行条件和执 行完成所述应用代码后的操作中的至少一个, 以及所述应用代码的 标识, 所述应用代码的起始位置和所述应用代码的长度。
可选的,所述处理器 24接收的所述应用代码为二进制格式的应 用代码。
需要说明的是, 本发明实施例提供的硬盘可以为以太接口硬盘 (也称为网络硬盘), 该以太接口硬盘也可以称为智能硬盘, 即本发 明实施例提供的硬盘可以为基于 ARM系统的硬盘。 其中, 该基于 ARM 系统的硬盘通过将 ARM 系统集成在传统的硬盘中, 以提升传统硬盘 的性能。
本发明实施例提供一种硬盘, 该硬盘接收应用代码和该应用代 码的执行策略, 且硬盘为该应用代码创建应用代码进程, 以及硬盘 将该应用代码加载至与该应用代码进程对应的该硬盘的内存中, 从 而硬盘根据该应用代码的执行策略, 在该硬盘的内存中执行该应用 代码进程。 通过该方案, 由于硬盘可以接收来自硬盘外部的应用代 码 (例如自定义的应用代码) 和该应用代码的执行策略, 并根据该 执行策略, 以进程的方式执行该应用代码, 即硬盘能够支持基于来 自硬盘外部的应用代码对硬盘进行访问的方式, 从而增强了硬盘的 性能, 进而提升了客户端与硬盘之间的交互能力。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁, 仅以上述各功能模块的划分进行举例说明, 实际应用中, 可以根据 需要而将上述功能分配由不同的功能模块完成, 即将装置的内部结 构划分成不同的功能模块, 以完成以上描述的全部或者部分功能。 上述描述的系统, 装置和单元的具体工作过程, 可以参考前述方法 实施例中的对应过程, 在此不再赘述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统, 装置和方法, 可以通过其它的方式实现。 例如, 以上所描述的装置 实施例仅仅是示意性的, 例如, 所述模块或单元的划分, 仅仅为一 种逻辑功能划分, 实际实现时可以有另外的划分方式, 例如多个单 元或组件可以结合或者可以集成到另一个系统, 或一些特征可以忽 略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦 合或通信连接可以是通过一些接口, 装置或单元的间接耦合或通信 连接, 可以是电性, 机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分 开的, 作为单元显示的部件可以是或者也可以不是物理单元, 即可 以位于一个地方, 或者也可以分布到多个网络单元上。 可以根据实 际的需要选择其中的部分或者全部单元来实现本实施例方案的 目 的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个处 理单元中, 也可以是各个单元单独物理存在, 也可以两个或两个以 上单元集成在一个单元中。 上述集成的单元既可以采用硬件的形式 实现, 也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的 产品销售或使用时, 可以存储在一个计算机可读取存储介质中。 基 于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡 献的部分或者该技术方案的全部或部分可以以软件产品的形式体现 出来, 该计算机软件产品存储在一个存储介质中, 包括若干指令用 以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网络设 备等) 或处理器 ( processor ) 执行本发明各个实施例所述方法的全 部或部分步骤。 而前述的存储介质包括: U 盘、 移动硬盘、 只读存 储器( ROM, Read-Only Memory )、随机存取存储器( RAM, Random Access Memory )、 磁碟或者光盘等各种可以存储程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围 并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技 术范围内, 可轻易想到变化或替换, 都应涵盖在本发明的保护范围 之内。 因此, 本发明的保护范围应所述以权利要求的保护范围为准。

Claims (1)

  1. 权 利 要 求 书
    1、 一种硬盘执行应用代码的方法, 其特征在于, 包括: 硬盘接收应用代码和所述应用代码的执行策略;
    所述硬盘根据所述应用代码,确定所述应用代码是否需要在虚拟 机环境中执行;
    如是, 则所述硬盘根据所述应用代码的执行策略, 在所述虚拟机 环境中执行所述应用代码。
    2、 根据权利要求 1 所述的硬盘执行应用代码的方法, 其特征在 于, 所述方法还包括:
    所述硬盘接收虚拟机数据信息,所述虚拟机数据信息用于创建所 述虚拟机环境;
    所述硬盘根据所述虚拟机数据信息, 创建所述虚拟机环境。
    3、 根据权利要求 1或 2所述的硬盘执行应用代码的方法, 其特 征在于, 所述应用代码中携带虚拟机标识, 所述方法还包括:
    所述硬盘根据所述应用代码中携带的所述虚拟机标识,确定执行 所述应用代码的虚拟机环境。
    4、 根据权利要求 1 - 3任一项所述的硬盘执行应用代码的方法, 其特征在于, 所述硬盘根据所述应用代码的执行策略, 在所述虚拟机 环境中执行所述应用代码, 具体包括:
    所述硬盘在所述虚拟机环境中为所述应用代码创建应用代码进 程;
    所述硬盘将所述应用代码加载至与所述应用代码进程对应的所 述硬盘的内存中;
    所述硬盘根据所述应用代码的执行策略,在所述虚拟机环境中执 行所述应用代码进程。
    5、 根据权利要求 2 所述的硬盘执行应用代码的方法, 其特征在 于, 所述方法还包括:
    所述硬盘接收所述虚拟机数据信息的执行指示,所述虚拟机数据 信息的执行指示用于指示所述硬盘是否对所述虚拟机数据信息进行 持久化;
    所述硬盘根据所述虚拟机数据信息的执行指示,对所述虚拟机数 据信息进行与所述虚拟机数据信息的执行指示对应的操作。
    6、 根据权利要求 1 -5任一项所述的硬盘执行应用代码的方法, 其特征在于,
    所述应用代码的执行策略包括: 执行所述应用代码的触发条件、 所述应用代码的执行条件和执行完成所述应用代码后的操作中的至 少一个。
    7、 一种硬盘执行应用代码的方法, 其特征在于, 包括: 硬盘接收应用代码和所述应用代码的执行策略;
    所述硬盘为所述应用代码创建应用代码进程;
    所述硬盘将所述应用代码加载至与所述应用代码进程对应的所 述硬盘的内存中;
    所述硬盘根据所述应用代码的执行策略,在所述硬盘的内存中执 行所述应用代码进程。
    8、 根据权利要求 7 所述的硬盘执行应用代码的方法, 其特征在 于,
    所述应用代码的执行策略包括: 执行所述应用代码的触发条件、 所述应用代码的执行条件和执行完成所述应用代码后的操作中的至 少一个, 以及所述应用代码的标识, 所述应用代码的起始位置和所述 应用代码的长度。
    9、 根据权利要求 7或 8所述的硬盘执行应用代码的方法, 其特 征在于,
    所述应用代码为二进制格式的应用代码。
    1 0、 一种硬盘, 其特征在于, 包括:
    接收单元, 用于接收应用代码和所述应用代码的执行策略; 确定单元, 用于根据所述接收单元接收的所述应用代码, 确定所 述应用代码是否需要在虚拟机环境中执行;
    执行单元,用于若所述确定单元确定所述应用代码需要在所述虚 拟机环境中执行, 则根据所述接收单元接收的所述应用代码的执行策 略, 在所述虚拟机环境中执行所述接收单元接收的所述应用代码。
    1 1、 根据权利要求 1 0所述的硬盘, 其特征在于, 所述硬盘还包 括创建单元,
    所述接收单元, 还用于接收虚拟机数据信息, 所述虚拟机数据信 息用于创建所述虚拟机环境;
    所述创建单元,用于根据所述接收单元接收的所述虚拟机数据信 息, 创建所述虚拟机环境。
    1 2、 根据权利要求 1 0或 1 1所述的硬盘, 其特征在于, 所述应用 代码中携带虚拟机标识,
    所述确定单元,还用于根据所述应用代码中携带的所述虚拟机标 识, 确定执行所述应用代码的虚拟机环境。
    1 3、 根据权利要求 1 1 所述的硬盘, 其特征在于, 所述硬盘还包 括加载单元,
    所述创建单元,还用于在所述虚拟机环境中为所述接收单元接收 的所述应用代码创建应用代码进程;
    所述加载单元,用于将所述接收单元接收的所述应用代码加载至 与所述创建单元创建的所述应用代码进程对应的所述硬盘的内存中; 所述执行单元,具体用于根据所述接收单元接收的所述应用代码 的执行策略, 在所述创建单元创建的所述虚拟机环境中执行所述创建 单元创建的所述应用代码进程。
    1 4、 根据权利要求 1 1所述的硬盘, 其特征在于,
    所述接收单元, 还用于接收所述虚拟机数据信息的执行指示, 所 述虚拟机数据信息的执行指示用于指示是否对所述虚拟机数据信息 进行持久化;
    所述执行单元,还用于根据所述接收单元接收的所述虚拟机数据 信息的执行指示, 对所述接收单元接收的所述虚拟机数据信息进行与 所述虚拟机数据信息的执行指示对应的操作。
    1 5、 根据权利要求 1 0- 1 4任一项所述的硬盘, 其特征在于, 所述接收单元接收的所述应用代码的执行策略包括:执行所述应 用代码的触发条件、 所述应用代码的执行条件和执行完成所述应用代 码后的操作中的至少一个。
    1 6、 一种硬盘, 其特征在于, 包括:
    接收单元, 用于接收应用代码和所述应用代码的执行策略; 创建单元,用于为所述接收单元接收的所述应用代码创建应用代 码进程;
    加载单元,用于将所述接收单元接收的所述应用代码加载至与所 述创建单元创建的所述应用代码进程对应的所述硬盘的内存中; 执行单元,用于根据所述接收单元接收的所述应用代码的执行策 略, 在所述硬盘的内存中执行所述创建单元创建的所述应用代码进 程。
    1 7、 根据权利要求 1 6所述的硬盘, 其特征在于,
    所述接收单元接收的所述应用代码的执行策略包括:执行所述应 用代码的触发条件、 所述应用代码的执行条件和执行完成所述应用代 码后的操作中的至少一个, 以及所述应用代码的标识, 所述应用代码 的起始位置和所述应用代码的长度。
    1 8、 根据权利要求 1 6或 1 7所述的硬盘, 其特征在于, 所述接收单元接收的所述应用代码为二进制格式的应用代码。
    1 9、 一种硬盘, 其特征在于, 包括:
    处理器, 用于接收应用代码和所述应用代码的执行策略, 并根据 所述应用代码, 确定所述应用代码是否需要在虚拟机环境中执行, 如 是, 则根据所述应用代码的执行策略, 在所述虚拟机环境中执行所述 应用代码;
    存储器, 用于存储所述应用代码和所述应用代码的执行策略。
    2 0、 根据权利要求 1 9所述的硬盘, 其特征在于,
    所述处理器, 还用于接收虚拟机数据信息, 并根据所述虚拟机数 据信息, 创建所述虚拟机环境, 所述虚拟机数据信息用于创建所述虚 拟机环境; 所述存储器, 还用于存储所述虚拟机数据信息。
    2 1、 根据权利要求 1 9或 2 0所述的硬盘, 其特征在于, 所述应用 代码中携带虚拟机标识,
    所述处理器, 还用于根据所述应用代码中携带的所述虚拟机标 识, 确定执行所述应用代码的虚拟机环境。
    11、 根据权利要求 1 9 -2 1任一项所述的硬盘, 其特征在于, 所述处理器,具体用于在所述虚拟机环境中为所述应用代码创建 应用代码进程, 并将所述应用代码加载至与所述应用代码进程对应的 所述硬盘的内存中, 以及在所述虚拟机环境中执行所述应用代码进 程。
    2 3、 根据权利要求 2 0所述的硬盘, 其特征在于,
    所述处理器, 还用于接收所述虚拟机数据信息的执行指示, 并根 据所述虚拟机数据信息的执行指示, 对所述虚拟机数据信息进行与所 述虚拟机数据信息的执行指示对应的操作, 所述虚拟机数据信息的执 行指示用于指示是否对所述虚拟机数据信息进行持久化;
    所述存储器, 还用于存储所述虚拟机数据信息的执行指示。
    24、 根据权利要求 1 9 -2 3任一项所述的硬盘, 其特征在于, 所述处理器接收的所述应用代码的执行策略包括:执行所述应用 代码的触发条件、 所述应用代码的执行条件和执行完成所述应用代码 后的操作中的至少一个。
    25、 一种硬盘, 其特征在于, 包括:
    处理器, 用于接收应用代码和所述应用代码的执行策略, 并为所 述应用代码创建应用代码进程, 且将所述应用代码加载至与所述应用 代码进程对应的所述硬盘的内存中, 以及根据所述应用代码的执行策 略, 在所述硬盘的内存中执行所述应用代码进程;
    存储器, 用于存储所述应用代码和所述应用代码的执行策略。
    26、 根据权利要求 25所述的硬盘, 其特征在于,
    所述处理器接收的所述应用代码的执行策略包括:执行所述应用 代码的触发条件、 所述应用代码的执行条件和执行完成所述应用代码 后的操作中的至少一个, 以及所述应用代码的标识, 所述应用代码的 起始位置和所述应用代码的长度。
    27、 根据权利要求 25或 26所述的硬盘, 其特征在于,
    所述处理器接收的所述应用代码为二进制格式的应用代码。
CN201480000524.9A 2014-04-30 2014-04-30 一种硬盘执行应用代码的方法及装置 Active CN105247618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711059662.6A CN107844360B (zh) 2014-04-30 2014-04-30 一种硬盘执行应用代码的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/076563 WO2015165057A1 (zh) 2014-04-30 2014-04-30 一种硬盘执行应用代码的方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201711059662.6A Division CN107844360B (zh) 2014-04-30 2014-04-30 一种硬盘执行应用代码的方法及装置

Publications (2)

Publication Number Publication Date
CN105247618A true CN105247618A (zh) 2016-01-13
CN105247618B CN105247618B (zh) 2017-12-15

Family

ID=54358016

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201711059662.6A Active CN107844360B (zh) 2014-04-30 2014-04-30 一种硬盘执行应用代码的方法及装置
CN201480000524.9A Active CN105247618B (zh) 2014-04-30 2014-04-30 一种硬盘执行应用代码的方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201711059662.6A Active CN107844360B (zh) 2014-04-30 2014-04-30 一种硬盘执行应用代码的方法及装置

Country Status (4)

Country Link
US (1) US10310876B2 (zh)
JP (1) JP6418419B2 (zh)
CN (2) CN107844360B (zh)
WO (1) WO2015165057A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2528115B (en) * 2014-07-11 2021-05-19 Advanced Risc Mach Ltd Dynamic saving of registers in transactions
US10868836B1 (en) * 2017-06-07 2020-12-15 Amazon Technologies, Inc. Dynamic security policy management
US10839060B1 (en) * 2019-08-27 2020-11-17 Capital One Services, Llc Techniques for multi-voice speech recognition commands
CN113934447A (zh) * 2021-09-13 2022-01-14 深圳市硅格半导体有限公司 硬盘管理方法、装置、设备及计算机程序产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996501B1 (en) * 2002-12-24 2006-02-07 Western Digital Technologies, Inc. Disk drive executing a manufacturing program internally by executing disk commands through a vector
CN101437046A (zh) * 2008-12-11 2009-05-20 成都市华为赛门铁克科技有限公司 一种固态硬盘中的数据处理方法、固态硬盘和网络设备
CN101546601A (zh) * 2009-05-13 2009-09-30 杭州华三通信技术有限公司 固态硬盘及存储系统
US8190575B1 (en) * 2008-08-27 2012-05-29 Western Digital Technologies, Inc. Disk drive maintaining multiple copies of code segments
CN103051687A (zh) * 2012-12-10 2013-04-17 浪潮(北京)电子信息产业有限公司 一种将应用业务部署到云存储虚拟机的系统及方法
CN103703441A (zh) * 2013-05-20 2014-04-02 华为技术有限公司 一种硬盘和数据处理方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3519954B2 (ja) * 1998-07-30 2004-04-19 富士通株式会社 チップイネーブル信号生成回路及びメモリ装置
US6546554B1 (en) 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US7664903B2 (en) * 2002-02-25 2010-02-16 Solid Access Technologies LLC Control unit with PCI and SCSI buses and computing system with electronic semiconductor disk
US8549513B2 (en) * 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US7516771B2 (en) * 2005-06-30 2009-04-14 Hunter Douglas Inc. Lock lever mounting bracket for headrails on coverings for architectural openings
US7725614B2 (en) * 2006-08-08 2010-05-25 Sandisk Corporation Portable mass storage device with virtual machine activation
US7975119B2 (en) * 2006-09-04 2011-07-05 Sandisk Il Ltd Device for prioritized erasure of flash memory
CN101296258A (zh) * 2007-04-28 2008-10-29 海尔集团公司 具有网络功能的硬盘装置
US8230475B2 (en) * 2007-11-16 2012-07-24 At&T Intellectual Property I, L.P. Methods and computer program products for subcontent tagging and playback
WO2009118721A1 (en) * 2008-03-28 2009-10-01 Real Imaging Ltd. Method apparatus and system for analyzing thermal images
CN101442548B (zh) * 2008-12-17 2012-09-05 成都市华为赛门铁克科技有限公司 一种固态硬盘的操作方法和固态硬盘
CN102656562B (zh) * 2009-06-30 2015-12-09 思杰系统有限公司 用于选择桌面执行位置的方法和系统
US8966623B2 (en) * 2010-03-08 2015-02-24 Vmware, Inc. Managing execution of a running-page in a virtual machine
US8413142B2 (en) * 2010-03-30 2013-04-02 Citrix Systems, Inc. Storage optimization selection within a virtualization environment
US8725951B2 (en) * 2010-04-12 2014-05-13 Sandisk Enterprise Ip Llc Efficient flash memory-based object store
US8874859B2 (en) * 2010-12-22 2014-10-28 Vmware, Inc. Guest file system introspection and defragmentable virtual disk format for space efficiency
US8521922B2 (en) * 2011-01-10 2013-08-27 International Business Machines Corporation Input/output (I/O) path selection based on workload types
JP5613091B2 (ja) * 2011-03-25 2014-10-22 株式会社エクサ デバイスドライバ起動監視プログラム、電子機器
US8869145B1 (en) * 2011-04-28 2014-10-21 Netapp, Inc. Method and system for managing storage for virtual machines
US8412945B2 (en) * 2011-08-09 2013-04-02 CloudPassage, Inc. Systems and methods for implementing security in a cloud computing environment
US8578178B2 (en) * 2011-10-27 2013-11-05 Hitachi, Ltd. Storage system and its management method
WO2013168211A1 (ja) * 2012-05-07 2013-11-14 株式会社日立製作所 計算機システム、ストレージ管理計算機及びストレージ管理方法
CN102982275A (zh) * 2012-11-14 2013-03-20 北京奇虎科技有限公司 一种运行应用程序的安全控制方法和装置
CN102982276A (zh) * 2012-11-14 2013-03-20 北京奇虎科技有限公司 应用程序控制方法和装置
US8997080B2 (en) * 2013-02-11 2015-03-31 Citrix Systems, Inc. System updates with personal virtual disks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996501B1 (en) * 2002-12-24 2006-02-07 Western Digital Technologies, Inc. Disk drive executing a manufacturing program internally by executing disk commands through a vector
US8190575B1 (en) * 2008-08-27 2012-05-29 Western Digital Technologies, Inc. Disk drive maintaining multiple copies of code segments
CN101437046A (zh) * 2008-12-11 2009-05-20 成都市华为赛门铁克科技有限公司 一种固态硬盘中的数据处理方法、固态硬盘和网络设备
CN101546601A (zh) * 2009-05-13 2009-09-30 杭州华三通信技术有限公司 固态硬盘及存储系统
CN103051687A (zh) * 2012-12-10 2013-04-17 浪潮(北京)电子信息产业有限公司 一种将应用业务部署到云存储虚拟机的系统及方法
CN103703441A (zh) * 2013-05-20 2014-04-02 华为技术有限公司 一种硬盘和数据处理方法

Also Published As

Publication number Publication date
CN107844360B (zh) 2021-10-01
CN107844360A (zh) 2018-03-27
US10310876B2 (en) 2019-06-04
JP2017515236A (ja) 2017-06-08
CN105247618B (zh) 2017-12-15
JP6418419B2 (ja) 2018-11-07
WO2015165057A1 (zh) 2015-11-05
US20170046183A1 (en) 2017-02-16

Similar Documents

Publication Publication Date Title
CN102193824B (zh) 虚拟机均质化以实现跨异构型计算机的迁移
US8239505B2 (en) Progressively implementing declarative models in distributed systems
US11556348B2 (en) Bootstrapping profile-guided compilation and verification
US9262187B2 (en) Extension point declarative registration for virtualization
US8261248B2 (en) System and method of executing a dynamic program in a structured environment
US20070240171A1 (en) Device, Method, And Computer Program Product For Accessing A Non-Native Application Executing In Virtual Machine Environment
CN102207896A (zh) 虚拟机崩溃文件生成技术
CN102799464A (zh) 虚拟机创建方法及系统、虚拟机重装方法及系统
US20090193444A1 (en) Techniques for creating and managing extensions
US20180060048A1 (en) Hybrid Deoptimization Mechanism for Class Hierarchy Analysis
CN105247618A (zh) 一种硬盘执行应用代码的方法及装置
JP2014515858A (ja) 実行中の命令を再結合する方法および装置
CN113256296B (zh) 智能合约执行方法、系统、装置和存储介质
CN105843697B (zh) 一种浏览器控件的中断恢复方法及系统
US10929162B2 (en) Virtual machine container for applications
CN112214267A (zh) 一种安卓脱壳加速方法、装置、存储介质及计算机设备
CN115136133A (zh) 按需代码执行的单次使用执行环境
US11275571B2 (en) Unified installer
CN105760283A (zh) 一种日志输出方法和装置
CN112559079A (zh) 数据源连接驱动自适应加载方法、装置及电子设备
CN116244038A (zh) 虚拟机eBPF程序管理方法、系统、终端及存储介质
US20180285152A1 (en) Address space splitting for legacy application compatibility
CN117216029A (zh) 一种数据迁移的兼容检测方法及终端
CN117806643A (zh) 编译方法、服务器及存储介质
CN112612512A (zh) 一种app多版本管理的方法及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant