[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN105677481A - 一种数据处理方法、系统及电子设备 - Google Patents

一种数据处理方法、系统及电子设备 Download PDF

Info

Publication number
CN105677481A
CN105677481A CN201511032629.5A CN201511032629A CN105677481A CN 105677481 A CN105677481 A CN 105677481A CN 201511032629 A CN201511032629 A CN 201511032629A CN 105677481 A CN105677481 A CN 105677481A
Authority
CN
China
Prior art keywords
waiting task
execution environment
environment
hardware resource
electronic equipment
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
CN201511032629.5A
Other languages
English (en)
Other versions
CN105677481B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201511032629.5A priority Critical patent/CN105677481B/zh
Publication of CN105677481A publication Critical patent/CN105677481A/zh
Application granted granted Critical
Publication of CN105677481B publication Critical patent/CN105677481B/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

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

Abstract

本申请提供一种数据处理方法、系统及电子设备,用于解决电子设备的数据处理效果较差的技术问题。该方法包括:获取电子设备中的待处理任务;根据所述待处理任务,分配相应的执行环境,所述执行环境中包括用于进行数据处理的硬件资源、虚拟机和执行库,所述硬件资源不可为其它执行环境使用,所述执行库包括用于处理所述待处理任务的函数,所述虚拟机用于调用所述执行库中的函数以处理所述待处理任务;通过所述执行环境对待处理任务进行处理。

Description

一种数据处理方法、系统及电子设备
技术领域
本发明涉及电子技术领域,特别涉及一种数据处理方法、系统及电子设备。
背景技术
目前,电子设备中的硬件资源(如内存资源、网络资源等)越来越多,其中,在中央处理器(CentralProcessingUnit,CPU)方面,如对于Power8系统来说,其CPU包括12个核,每个核支持8个线程。通过操作系统对相应资源的管理,能够执行不同的功能,使得电子设备具有较强的数据处理能力。
现有的数据处理平台(如hadoop、map-reduce等)通常都是直接运行在Linux、LXC(一种Linux容置工具)上,或者也可以运行在kvm(一种开源的系统虚拟化模块)的虚拟机上,虚拟机通过电子设备的硬件资源提供数据处理服务。但在任务较多时,将存在大量的并行进程,其通过轮流切换来获得CPU分配的执行时间,以使用电子设备的硬件资源。但在多个进程并行执行时,多个进程可能会同时竞争电子设备中同一硬件资源,造成进程之间的锁竞争较为严重,甚至可能出现死锁,可能会导致电子设备故障。
发明内容
本申请提供一种数据处理方法、系统及电子设备,用于解决电子设备的数据处理效果较差的技术问题。
第一方面,提供一种数据处理方法,包括以下步骤:
获取电子设备中的待处理任务;
根据所述待处理任务,分配相应的执行环境,所述执行环境中包括用于进行数据处理的硬件资源、虚拟机和执行库,所述硬件资源不可为其它执行环境使用,所述执行库包括用于处理所述待处理任务的函数,所述虚拟机用于调用所述执行库中的函数以处理所述待处理任务;
通过所述执行环境对待处理任务进行处理。
第二方面,提供一种数据处理系统,包括:
应用任务管理模块,用于获取所述电子设备中的待处理任务,生成与所述待处理任务相应的分配请求;
执行环境管理模块,与所述应用任务管理模块相连,用于接收所述应用任务管理的分配请求,并根据所述分配请求,分配与所述待处理任务相应的执行环境,以通过所述执行环境对待处理任务进行处理;其中,所述执行环境中包括用于进行数据处理的硬件资源、虚拟机和执行库,所述硬件资源不可为其它执行环境使用,所述执行库包括用于处理所述待处理任务的函数,所述虚拟机用于调用所述执行库中的函数以处理所述待处理任务。
第三方面,提供一种电子设备,包括:
内存;
处理器,用于获取电子设备中的待处理任务,并根据所述待处理任务,分配相应的执行环境,并通过所述执行环境对待处理任务进行处理,其中,所述执行环境中包括用于进行数据处理的硬件资源、虚拟机和执行库,所述硬件资源不可为其它执行环境使用,所述执行库包括用于处理所述待处理任务的函数,所述虚拟机用于调用所述执行库中的函数以处理所述待处理任务。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本申请中,在获取电子设备中的待处理任务后,可以为待处理任务分配相应的执行环境,通过分配的执行环境所包括的资源即可实现对待处理任务的处理,当存在大量待执行的任务时,可以将硬件资源划分给不同的执行环境,从而不同的执行环境可以分别使用独占的硬件资源地对待处理任务进行处理,尽量避免出现多个进程竞争同一的硬件资源的情况,避免了可能出现的死锁现象,降低电子设备的故障率,也提高电子设备的数据处理效率。
附图说明
图1为本发明实施例中数据处理系统的结构框图;
图2为本发明实施例中数据处理方法的流程图;
图3为本发明实施例中数据处理系统的示意图;
图4为本发明实施例中数据处理系统的处理流程;
图5为本发明实施例中电子设备的结构图。
具体实施方式
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本发明实施例中,电子设备可以包括PC(个人计算机)、笔记本、PAD(平板电脑)、或手机等,本发明对此不作限制。
可选的,电子设备包括相应的硬件资源,如CPU、内存、输入输出设备、物理网卡等。通过在电子设备中安装操作系统,能够较好地实现对电子设备中硬件资源的管理,并实现相应的功能,如数据处理等。
电子设备一般使用的操作系统可以包括Android、iOS、Linux和Windows等,本发明实施例以基于Linux操作系统实现为例。
在实际应用中,电子设备的内存可以主要是指同步动态随机存储器(SynchronousDynamicRandomAccessMemory,简称SDRAM)。
本发明实施例中,电子设备在内核层可以设置有用于进行数据处理的数据处理系统,如图1所示,该系统中设置多个用于进行数据处理的执行环境,每个执行环境包括相应的资源,这里的资源,主要包括硬件资源、JAVA虚拟机(JavaVirtualMachine,JVM)和执行库,关于该系统中具体模块的作用,在后续实施例中将进行具体介绍。
可选的,一个执行环境可以利用其包括的资源独立地完成相应的数据处理任务,在一个执行环境中每次可以只处理一个进程,这样可以避免多个进程竞争相同的硬件资源。
其中,硬件资源可以包括CPU资源、内存资源和网络资源中的至少一种,每个执行环境包括的硬件资源可以是电子设备根据执行环境要执行的任务所需的硬件资源为其划分的。
执行库中可以包括用于处理待处理任务的函数,例如,执行库中可以包括libc库,即Linux下的ANSIC的函数库,libc库可以为JVM提供用于进行数据处理的函数。
本发明实施例中,JVM可以运行相应的代码,并通过调用执行库提供的函数实现对执行环境包括的硬件资源的访问,以及,JVM可以调用执行库中的函数以获取执行任务所需要的执行文件等。
下面结合附图对本发明优选的实施方式进行详细说明。
如图2所示,本发明实施例提供一种数据处理方法,该方法描述如下。
S11:获取电子设备中的待处理任务;
S12:根据待处理任务,分配相应的执行环境,执行环境中包括用于进行数据处理的硬件资源、虚拟机和执行库,硬件资源不可为其它执行环境使用,执行库包括用于处理待处理任务的函数,虚拟机用于调用执行库中的函数以处理待处理任务;
S13:通过执行环境对待处理任务进行处理。
可选的,待处理任务可以包括针对电子设备的数据请求任务,比如可以包括来自电子设备中安装的应用的数据请求任务等。例如,对于电子设备中的数据处理应用,如map-reduce应用来说,当需要执行数据请求任务时,其可以生成多个映射任务(maptask)和归约任务(reducetask),对于map-reduce应用而言,则maptask和reducetask即为相应的待处理任务。
在实际应用中,电子设备的操作系统中可以包括用于对数据进行管理的资源管理模块,通过资源管理模块可以非常方便地完成启动应用程序、连接网络驱动器、维护磁盘及文件的移动和复制等工作。因此,获取待处理任务可以是通过资源管理模块完成的。
可选的,在获取电子设备中的待处理任务后,可以为待处理任务分配相应的执行环境。该执行环境可以是电子设备中预先设置的用于处理待处理任务的环境,其所处环境仍参见图1,此处不再赘述。
可选的,在为待处理任务分配执行环境时,包括但不仅限于以下两种情况。
情况一:电子设备中存在处于空闲状态的N个执行环境,且N个执行环境中包括对应硬件资源满足待处理任务所需的硬件资源的执行环境,则在N个执行环境中确定分配给待处理任务的执行环境,N为正整数。
其中,空闲状态可以是指执行环境处于等待分配新的待处理任务的状态。此时,在要分配执行环境时,可以判断N个执行环境中是否存在对应的硬件资源能够满足待处理任务所需的硬件资源的第一执行环境,其中,满足待处理任务所需的硬件资源主要是指处于空闲状态的执行环境包括的硬件资源中是否包含了待处理任务所需的全部硬件资源。若满足,则表明第一执行环境具有处理待处理任务的能力,故可将待处理任务分配给处于空闲状态的第一执行环境。
需要说明的是,在确定处于空闲状态的多个执行环境对应的硬件资源均满足待处理任务所需的硬件资源时,可以选择硬件资源与待处理任务所需硬件资源最接近的执行环境分配相应的待处理任务。
例如,若处理某待处理任务需要硬件a、硬件c,确定电子设备中处于空闲状态的执行环境包括执行环境1、执行环境2和执行环境3,其中,执行环境1包括硬件a、硬件b、硬件c,执行环境2包括硬件b、硬件c、硬件d,执行环境3包括硬件a、硬件c,则可以确定执行环境1和执行环境3均满足该待处理任务所需的硬件资源,由于执行环境3所包含的硬件资源与待处理任务所需的硬件资源更接近,故可选择执行环境3作为用于处理该待处理任务的执行环境,以避免造成硬件资源的浪费。
情况二:在确定电子设备中不存在处于空闲状态的执行环境,或者处于空闲状态的执行环境包括的硬件资源不能满足待处理任务所需的硬件资源时,利用电子设备中未分配的硬件资源创建与待处理任务相应的新的执行环境。
情况三:在电子设备的硬件资源较为充足的情况下,直接创建与待处理任务相应的新的执行环境。
即在确定当前电子设备的硬件资源较为充足时,可以不考虑电子设备中是否存在处于空闲状态的执行环境,为了达到更好的处理效果,电子设备可以直接根据待处理任务所需的硬件资源为该待处理任务创建执行环境。
优选的,一般来说电子设备包括的硬件资源都是有限的,因此,电子设备在为待处理任务分配执行环境时,可以优先考虑从处于空闲状态的执行环境中选择合适的执行环境,若处于空闲状态的执行环境中没有适合待处理任务的执行环境,再利用电子设备中的相应资源为该待处理任务创建执行环境。
其中,电子设备创建执行环境,主要包括根据待处理任务所需的硬件资源为执行环境配置相应的硬件资源。
可选的,电子设备在为执行环境配置相应的硬件资源时,可以通过电子设备中的管理软件为硬件资源设置相应的标识,即可以通过设置不同的标识来区分为不同的执行环境所划分的硬件资源。
比如,Linux操作系统可以管理电子设备中所有的资源(比如包括内存资源、网络资源和存储资源),则在为执行环境分配硬件资源时,可以通过管理软件对电子设备的硬件资源中包括在执行环境中的硬件资源设置相应的标识,从而通过不同标识即可确定电子设备的硬件资源中与各执行环境对应的硬件资源,即不同标识的硬件资源对应于不同的执行环境,而具有相同标识的硬件资源则对应于同一执行环境。因此,若电子设备中存在多个执行环境,则任意两个执行环境之间对应的硬件资源的标识不同,即其对应的硬件资源也不相同。
例如,电子设备可以为第一执行环境包括的硬件资源均设置第一标识,如第一标识可以是01,为第二执行环境包括的硬件资源均设置第二标识,如第二标识可以是02,等等。从而,在电子设备中通过相应的标识即可确定执行环境与硬件资源的对应关系。
在实际应用中,在为执行环境划分网络资源时,还可以根据待处理任务所请求的数据量的来确定划分的网段的大小,或者,还可以根据待处理任务对应的数据量确定所需的内存大小,如120M,从而在电子设备为其划分相应大小的内存,如对相应的分页进行标识等。
当然,在确定相应的执行环境后,可将待处理任务自身对应的代码(如JAVA代码等)发送到执行环境中,以便执行环境通过包括的资源对代码进行处理。而执行环境在对待处理任务进行处理时,可以是指运行待处理任务对应的进程,即通过运行进程实现对待处理任务的处理。因进程运行过程与现有的处理方式相同,此处不在赘述。
此外,若待处理任务包括用于访问文件的代码,则可以通过JVM调用执行库中的函数获取待处理任务中代码所指示的文件。此时,执行环境可将执行文件访问任务需要执行的读/写等文件操作发送给JVM,JVM通过在执行库中调用与文件操作相应的函数,并生成连接请求,以建立执行环境与位于Linux中内核层的后端服务模块直接的通信,从而将调用的函数发送给后端服务模块,以使后端服务模块根据该调用函数提供与文件操作相应的文件,如读文件或写文件等。
因此,在实际应用中,除了需要对电子设备中的文件进行访问外,通过执行环境对应的JVM可以直接访问该执行环境对应的硬件资源,以处理相应的任务,而无需与电子设备中传统的操作系统进行交互。例如,在maptask执行过程中,除了文件访问需要通过后端服务模块提供服务外,其它所有的操作,如内存分配回收、网络收发等可以均由执行环境中的JVM直接访问硬件资源来完成。
可选的,在一个执行环境完成对待处理任务的处理后,电子设备可以将该执行环境的状态设置为空闲状态。例如,可以为执行环境设置相应的用于表明其状态的标识。例如,可以使用标识“0”代表执行环境处于空闲状态,即等待新分配的待处理任务的到达,以及可以使用标识“1”代表执行环境处于工作状态,即正在处理待处理任务对应的进程。
本发明实施例中,JVM在完成对待处理任务的处理后,将处于空闲状态以等待新的待处理任务的到达,即在新的待处理任务到达时,可以立即进行处理,故与传统的JVM在执行完成待处理任务后立即停止工作相比,能够在待处理的任务较多时,可以连续地接收并处理任务,而无需重新启动JVM,从而有效地提高电子设备处理任务的效率。
另外,在处理待处理任务时,其相应的代码可能会直接通过JAVA本地调用接口(JavaNativeInterface,JNI接口)调用操作系统或其他程序的服务,如网络服务等,此时,JVM可以在JNI接口处进行安全检查,如检查代码源码等,以免恶意应用侵害整个系统。
可选的,在将执行环境的状态设置为空闲状态之后,确定执行环境处于空闲状态的时长大于等于预设时长,则解除硬件资源与执行环境的对应关系,以实现对硬件资源的回收,其中,预设时长可以是用户根据实际需求或电子设备的硬件配置所设置的时长,如30分钟、1小时等等,本发明对此不作具体限制。
在实际应用中,在实现对执行环境的硬件资源的回收时,具体可以是删除该执行环境对应的硬件件资源的标识。
例如,若第一执行环境在电子设备的硬件资源中对应的第一硬件资源的标识为01,可以通过Linux操作系统中相应的管理软件,删除与第一硬件资源对应的标识,即可解除第一硬件资源与第一执行环境的对应关系,并将第一硬件资源作为未分配硬件资源,实现对硬件资源的回收。
故通过对硬件资源的回收,有利于对硬件资源的动态管理,同时能够实现对执行环境的资源的动态调整,即根据待处理任务可以不断创建、启动以及回收执行环境,提高电子设备的数据处理能力。
本发明实施例中,通过为待处理任务分配相应的能够满足其所需硬件资源的执行环境,因此,针对电子设备中的每个待处理任务而言,其在相应的执行环境中具有独占的硬件资源,故即便同时对多个进程(即待处理任务)进行处理,通过执行环境的并行工作,即可实现对每个待处理任务的处理,而无需频繁地切换硬件资源,使得处理效率较高。
如图3所示,本发明实施例还提供一种数据处理系统,该系统主要包括应用任务管理模块和执行环境管理模块,其中,应用任务管理模块和执行环境管理模块可以位于基于Linux操作系统的电子设备的应用层中。
本发明实施例中,应用任务管理模块可以用于获取电子设备中的待处理任务,生成与待处理任务相应的分配请求,并将该分配请求发送给执行环境管理模块。
进而执行环境管理模块在接收于待处理任务相应的分配请求后,可以根据分配请求,分配与待处理任务相应的执行环境,以通过执行环境对待处理任务进行处理;其中,执行环境中包括用于进行数据处理的硬件资源、虚拟机和执行库,硬件资源不可为其它执行环境使用,执行库包括用于处理待处理任务的函数,虚拟机用于调用执行库中的函数以处理待处理任务,该执行环境能够直接访问其对应的硬件资源。
在实际应用中,执行环境管理模块还可以根据该分配请求,确定待处理任务所需的硬件资源,如CPU、内存、网络等,进而根据确定的硬件资源,即可确定用于处理待处理任务的执行环境的资源,并将待处理任务发送给执行环境。如图4所示,其为数据处理系统中基于应用任务管理模块与执行环境管理模块进行的任务处理过程,具体细节部分请参考前述对数据处理方法的描述,此处不再赘述。
结合图1可知,该数据处理系统还可以包括执行环境驱动模块,其可以位于电子设备的内核层中,且能够与执行环境管理模块相连,负责创建、启动、回收执行环境,并可以按照要求对执行环境的资源进行动态调整。
可选的,在执行环境管理模块接收到应用任务管理的分配请求时,可以与执行环境驱动模块配合完成。
例如,在有新的待处理任务到达时,执行环境管理模块会试图为其分配一个已有的执行环境(处于空闲状态)或创建新的执行环境,那么首先需要知道各个执行环境的状态(等待任务中还是执行任务中),而执行环境的状态通常由执行环境驱动模块负责检测,此时,执行环境管理模块可以向执行环境驱动模块发送相应的指令,以通过执行环境驱动模块检查各执行环境的状态。
例如,执行环境驱动模块可以通过相应的状态标识确定执行环境是否处于空闲状态(即处于等待新的待处理任务的状态),若确定存在处于空闲状态的执行环境,则可将执行环境相应的信息反馈给执行环境管理模块,该信息中可以包括执行环境对应的标识、硬件资源信息等。
进而,执行环境管理模块可以处于空闲状态的执行环境所对应的硬件资源是否满足待处理任务所需的硬件资源,若满足,则将待处理任务分配给该待处理任务,否则,则创建新的执行环境以对待处理任务进行处理,即走动态调整执行环境资源的流程。
可选的,执行环境管理模块还可以用于记录执行环境的运行信息,运行信息中包括执行环境的运行状态的信息,运行状态包括用于表明执行环境处于等待新分配的待处理任务的空闲状态。
在实际应用中,执行环境管理模块还可以记录当前运行的执行环境个数列表,给列表中可包含各执行环境的资源信息,比如内存大小,CPU核数及核ID列表,(虚)网卡的信息等,也可以包含一些各执行环境的一些统计信息。
可选的,请仍参考图1,数据处理系统还可以包括后端服务模块,用于接收来自执行环境的连接请求,并根据连接请求与执行环境建立通道,即与执行库之间的连接,从而为执行环境提供与待处理任务相关的读/写文件。
此外,后端服务模块还可以根据执行环境驱动模块的要求与执行环境进行交互,如执行环境的资源的调整、回收等。
如图5所示,基于同一发明构思,本发明还公开一种电子设备,包括内存和与内存相连的处理器(即电子设备的CPU)。
具体来说,该内存可以是用于存储电子设备中的数据等,该内存可以是SDRAM等。
可选的,处理器可以获取电子设备中的待处理任务,并根据所述待处理任务,分配相应的执行环境,并通过所述执行环境对待处理任务进行处理,其中,所述执行环境中包括用于进行数据处理的硬件资源、虚拟机和执行库,所述硬件资源不可为其它执行环境使用,所述执行库包括用于处理所述待处理任务的函数,所述虚拟机用于调用所述执行库中的函数以处理所述待处理任务。
可选的,所述处理器用于:
确定所述待处理任务所需的硬件资源,所述硬件资源包括CPU资源、内存资源和网络资源;
根据确定的硬件资源,确定用于处理所述待处理任务的执行环境;
将所述待处理任务发送到所述执行环境。
可选的,所述处理器用于:
确定所述电子设备中处于空闲状态的执行环境;
若存在处于空闲状态的执行环境,且所述处于空闲状态的执行环境包括用于处理所述待处理任务所需的硬件资源,确定其为用于处理所述待处理任务的执行环境;否则,创建与所述待处理任务对应的新的执行环境。
可选的,所述处理器还用于:
在通过所述执行环境对所述待处理任务进行处理之后,确定所述执行环境完成所述待处理任务时,将所述执行环境的状态设置为空闲状态,以等待新分配的待处理任务。
可选的,所述处理器还用于:
在将所述执行环境的状态设置为空闲状态之后,确定所述执行环境处于所述空闲状态的时长大于等于预设时长,解除所述硬件资源与所述执行环境的对应关系,并回收所述硬件资源。
具体来讲,本申请实施例中的数据处理方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与数据处理方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
获取电子设备中的待处理任务;
根据所述待处理任务,分配相应的执行环境,所述执行环境中包括用于进行数据处理的硬件资源、虚拟机和执行库,所述硬件资源不可为其它执行环境使用,所述执行库包括用于处理所述待处理任务的函数,所述虚拟机用于调用所述执行库中的函数以处理所述待处理任务;
通过所述执行环境对待处理任务进行处理。
可选的,存储介质中存储的与步骤:根据所述待处理任务,分配相应的执行环境,对应的计算机指令在具体被执行过程中,包括如下步骤:
确定所述待处理任务所需的硬件资源,所述硬件资源包括CPU资源、内存资源和网络资源;
根据确定的硬件资源,确定用于处理所述待处理任务的执行环境;
将所述待处理任务发送到所述执行环境。
可选的,存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:通过所述执行环境对所述待处理任务进行处理对应的指令执行之后被执行,在被执行时包括如下步骤:
确定所述执行环境完成所述待处理任务时,将所述执行环境的状态设置为空闲状态,以等待新分配的待处理任务。
可选的,存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:将所述执行环境的状态设置为空闲状态对应的指令执行之后被执行,在被执行时包括如下步骤:
确定所述执行环境处于所述空闲状态的时长大于等于预设时长,解除所述硬件资源与所述执行环境的对应关系,并回收所述硬件资源。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (15)

1.一种数据处理方法,包括:
获取电子设备中的待处理任务;
根据所述待处理任务,分配相应的执行环境,所述执行环境中包括用于进行数据处理的硬件资源、虚拟机和执行库,所述硬件资源不可为其它执行环境使用,所述执行库包括用于处理所述待处理任务的函数,所述虚拟机用于调用所述执行库中的函数以处理所述待处理任务;
通过所述执行环境对待处理任务进行处理。
2.如权利要求1所述的方法,其特征在于,所述根据所述待处理任务,分配相应的执行环境包括:
确定所述待处理任务所需的硬件资源,所述硬件资源包括CPU资源、内存资源和网络资源;
根据确定的硬件资源,确定用于处理所述待处理任务的执行环境;
将所述待处理任务发送到所述执行环境。
3.如权利要求2所述的方法,其特征在于,所述根据确定的硬件资源,确定用于处理所述待处理任务的执行环境,包括:
确定所述电子设备中处于空闲状态的执行环境;
若存在处于空闲状态的执行环境,且所述处于空闲状态的执行环境包括用于处理所述待处理任务所需的硬件资源,确定其为用于处理所述待处理任务的执行环境;否则,创建与所述待处理任务对应的新的执行环境。
4.如权利要求2所述的方法,其特征在于,在通过所述执行环境对所述待处理任务进行处理之后,还包括:
确定所述执行环境完成所述待处理任务时,将所述执行环境的状态设置为空闲状态,以等待新分配的待处理任务。
5.如权利要求4所述的方法,其特征在于,在将所述执行环境的状态设置为空闲状态之后,还包括:
确定所述执行环境处于所述空闲状态的时长大于等于预设时长,解除所述硬件资源与所述执行环境的对应关系,并回收所述硬件资源。
6.一种数据处理系统,包括:
应用任务管理模块,用于获取所述电子设备中的待处理任务,生成与所述待处理任务相应的分配请求;
执行环境管理模块,与所述应用任务管理模块相连,用于接收所述应用任务管理的分配请求,并根据所述分配请求,分配与所述待处理任务相应的执行环境,以通过所述执行环境对待处理任务进行处理;其中,所述执行环境中包括用于进行数据处理的硬件资源、虚拟机和执行库,所述硬件资源不可为其它执行环境使用,所述执行库包括用于处理所述待处理任务的函数,所述虚拟机用于调用所述执行库中的函数以处理所述待处理任务。
7.如权利要求6所述的系统,其特征在于,所述执行环境管理模块用于:
根据所述分配请求,确定所述待处理任务所需的硬件资源,并根据确定的硬件资源,确定用于处理所述待处理任务的执行环境的资源,并将所述待处理任务发送到所述执行环境;其中,所述硬件资源包括CPU资源、内存资源和网络资源。
8.如权利要求7所述的系统,其特征在于,所述数据处理系统还包括:
执行环境驱动模块,位于所述电子设备的内核层中,且能够与所述执行环境管理模块相连,用于根据所述执行环境管理模块确定的执行环境的资源,确定所述电子设备中是否存在处于空闲状态的执行环境,若存在处于空闲状态的执行环境,且所述处于空闲状态的执行环境包括用于处理所述待处理任务所需的硬件资源,确定其为用于处理所述待处理任务的执行环境;否则,创建与所述待处理任务对应的新的执行环境。
9.如权利要求8所述的系统,其特征在于,所述执行环境管理模块还用于:
记录所述执行环境的运行信息,所述运行信息中包括所述执行环境的运行状态的信息,所述运行状态包括用于表明所述执行环境处于等待新分配的待处理任务的空闲状态。
10.如权利要求7所述的系统,其特征在于,所述数据处理系统还包括:
后端服务模块,用于接收来自所述执行环境的连接请求,并根据所述连接请求与所述执行环境建立通道,为所述执行环境提供与所述待处理任务相关的文件服务。
11.一种电子设备,包括:
内存;
处理器,用于获取电子设备中的待处理任务,并根据所述待处理任务,分配相应的执行环境,并通过所述执行环境对待处理任务进行处理,其中,所述执行环境中包括用于进行数据处理的硬件资源、虚拟机和执行库,所述硬件资源不可为其它执行环境使用,所述执行库包括用于处理所述待处理任务的函数,所述虚拟机用于调用所述执行库中的函数以处理所述待处理任务。
12.如权利要求11所述的电子设备,其特征在于,所述处理器用于:
确定所述待处理任务所需的硬件资源,所述硬件资源包括CPU资源、内存资源和网络资源;
根据确定的硬件资源,确定用于处理所述待处理任务的执行环境;
将所述待处理任务发送到所述执行环境。
13.如权利要求12所述的电子设备,其特征在于,所述处理器用于:
确定所述电子设备中处于空闲状态的执行环境;
若存在处于空闲状态的执行环境,且所述处于空闲状态的执行环境包括用于处理所述待处理任务所需的硬件资源,确定其为用于处理所述待处理任务的执行环境;否则,创建与所述待处理任务对应的新的执行环境。
14.如权利要求12所述的电子设备,其特征在于,所述处理器还用于:
在通过所述执行环境对所述待处理任务进行处理之后,确定所述执行环境完成所述待处理任务时,将所述执行环境的状态设置为空闲状态,以等待新分配的待处理任务。
15.如权利要求12所述的电子设备,其特征在于,所述处理器还用于:
在将所述执行环境的状态设置为空闲状态之后,确定所述执行环境处于所述空闲状态的时长大于等于预设时长,解除所述硬件资源与所述执行环境的对应关系,并回收所述硬件资源。
CN201511032629.5A 2015-12-31 2015-12-31 一种数据处理方法、系统及电子设备 Active CN105677481B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511032629.5A CN105677481B (zh) 2015-12-31 2015-12-31 一种数据处理方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511032629.5A CN105677481B (zh) 2015-12-31 2015-12-31 一种数据处理方法、系统及电子设备

Publications (2)

Publication Number Publication Date
CN105677481A true CN105677481A (zh) 2016-06-15
CN105677481B CN105677481B (zh) 2019-10-29

Family

ID=56298548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511032629.5A Active CN105677481B (zh) 2015-12-31 2015-12-31 一种数据处理方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN105677481B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681809A (zh) * 2016-12-05 2017-05-17 上海斐讯数据通信技术有限公司 一种基于锁的线程管理方法及装置
CN107368367A (zh) * 2017-05-23 2017-11-21 阿里巴巴集团控股有限公司 资源分配的处理方法、装置及电子设备
CN108334396A (zh) * 2017-01-19 2018-07-27 阿里巴巴集团控股有限公司 一种数据处理方法和装置、资源组的创建方法和装置
CN108459960A (zh) * 2017-12-29 2018-08-28 中国平安财产保险股份有限公司 测试环境的自动配置方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102822798A (zh) * 2010-03-31 2012-12-12 国际商业机器公司 用于虚拟容器系统内的资源容量评估的方法和装置
CN103514044A (zh) * 2012-06-29 2014-01-15 北京金山安全软件有限公司 一种动态行为分析系统的资源优化方法、装置和系统
CN103780655A (zh) * 2012-10-24 2014-05-07 阿里巴巴集团控股有限公司 一种消息传递接口任务和资源调度系统及方法
CN103810029A (zh) * 2014-02-08 2014-05-21 南开大学 一种基于虚拟机出租通用计算能力的系统及方法
US20140149977A1 (en) * 2012-11-26 2014-05-29 International Business Machines Corporation Assigning a Virtual Processor Architecture for the Lifetime of a Software Application
US8881168B2 (en) * 2010-09-02 2014-11-04 International Business Machines Corporation Scheduling a parallel job in a system of virtual containers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102822798A (zh) * 2010-03-31 2012-12-12 国际商业机器公司 用于虚拟容器系统内的资源容量评估的方法和装置
US8881168B2 (en) * 2010-09-02 2014-11-04 International Business Machines Corporation Scheduling a parallel job in a system of virtual containers
CN103514044A (zh) * 2012-06-29 2014-01-15 北京金山安全软件有限公司 一种动态行为分析系统的资源优化方法、装置和系统
CN103780655A (zh) * 2012-10-24 2014-05-07 阿里巴巴集团控股有限公司 一种消息传递接口任务和资源调度系统及方法
US20140149977A1 (en) * 2012-11-26 2014-05-29 International Business Machines Corporation Assigning a Virtual Processor Architecture for the Lifetime of a Software Application
CN103810029A (zh) * 2014-02-08 2014-05-21 南开大学 一种基于虚拟机出租通用计算能力的系统及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681809A (zh) * 2016-12-05 2017-05-17 上海斐讯数据通信技术有限公司 一种基于锁的线程管理方法及装置
CN108334396A (zh) * 2017-01-19 2018-07-27 阿里巴巴集团控股有限公司 一种数据处理方法和装置、资源组的创建方法和装置
CN107368367A (zh) * 2017-05-23 2017-11-21 阿里巴巴集团控股有限公司 资源分配的处理方法、装置及电子设备
CN107368367B (zh) * 2017-05-23 2021-03-02 创新先进技术有限公司 资源分配的处理方法、装置及电子设备
CN108459960A (zh) * 2017-12-29 2018-08-28 中国平安财产保险股份有限公司 测试环境的自动配置方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN105677481B (zh) 2019-10-29

Similar Documents

Publication Publication Date Title
US7203941B2 (en) Associating a native resource with an application
US8825863B2 (en) Virtual machine placement within a server farm
US9558025B2 (en) Inter-board virtualization management for managing hardware resources corresponding to interrupts
WO2019218708A1 (zh) 一种任务处理方法及处理装置、计算机系统
CN102027453B (zh) 用于在虚拟环境中优化中断处理的系统和方法
KR101401523B1 (ko) 복수의 가상 머신들 간 조립 공유 gpu 스케줄링 방법 및 장치
US20180067674A1 (en) Memory management in virtualized computing
US20210173665A1 (en) Bootstrapping Profile-Guided Compilation and Verification
CN102667714B (zh) 支持访问由操作系统环境外的资源提供的功能的方法和系统
US20110202918A1 (en) Virtualization apparatus for providing a transactional input/output interface
US20160147572A1 (en) Modifying memory space allocation for inactive tasks
WO2023000673A1 (zh) 硬件加速器设备管理方法、装置及电子设备和存储介质
CN111104219A (zh) 虚拟核心与物理核心的绑定方法、装置、设备及存储介质
CN113010265A (zh) Pod的调度方法、调度器、存储插件及系统
EP3304294A1 (en) Method and system for allocating resources for virtual hosts
CN110750336A (zh) 一种OpenStack虚拟机内存热扩容方法
CN105677481A (zh) 一种数据处理方法、系统及电子设备
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
US7991962B2 (en) System and method of using threads and thread-local storage
US9015418B2 (en) Self-sizing dynamic cache for virtualized environments
CN109840151B (zh) 一种用于多核处理器的负载均衡方法和装置
CN105512091A (zh) 一种内存分配方法及装置
US9088569B2 (en) Managing access to a shared resource using client access credentials
CN113268356B (zh) 基于LINUX系统的多GPU板卡bounding的系统、方法及介质
US9176910B2 (en) Sending a next request to a resource before a completion interrupt for a previous request

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