CN107786593A - 任务部署方法、实例部署方法、装置及设备 - Google Patents

任务部署方法、实例部署方法、装置及设备 Download PDF

Info

Publication number
CN107786593A
CN107786593A CN201610728638.6A CN201610728638A CN107786593A CN 107786593 A CN107786593 A CN 107786593A CN 201610728638 A CN201610728638 A CN 201610728638A CN 107786593 A CN107786593 A CN 107786593A
Authority
CN
China
Prior art keywords
node
deployment
file
examples
task
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
CN201610728638.6A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610728638.6A priority Critical patent/CN107786593A/zh
Publication of CN107786593A publication Critical patent/CN107786593A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种任务部署方法、实例部署方法、装置及设备,该任务方法包括:获取任务部署请求,所述任务部署请求中包括至少一个待部署实例的标识;根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点;分别将各所述待部署实例部署在对应的目标节点上。用于提高任务的运行效率。

Description

任务部署方法、实例部署方法、装置及设备
技术领域
本申请涉及互联网技术领域,尤其涉及一种任务部署方法、实例部署方法、装置及设备。
背景技术
分布式系统包括多个节点,各节点可以为计算机等设备,在节点中可以存储数据文件(简称文件);在分布式系统中可以运行多个任务,每个任务由多个实例构成,每个实例部署在一个节点中,在部分实例运行的过程中,可能需要使用节点中存储的文件。
在实例运行的过程中,实例所需的文件可能存储在多个节点上,当实例所需的文件未存储在其部署的节点上时,该实例需要通过网络从其他节点上获取所需的文件,由于通过网络获取文件需要较长的时长,为了减少实例获取文件所需的时长,在现有技术中,在分布式系统中部署一个任务时,针对该任务中的任意一个实例,分布式系统确定该实例对应的文件,该文件可能存储在多个节点中,分布式系统根据该文件在各个节点中的存储量,获取存储量最大的节点,然后判断该存储量最大的节点的剩余资源(例如剩余CPU、剩余内存)是否可以启动该实例,若是,则将该实例部署在该节点上,若否,则将该实例部署在其他任意一个节点上。
然而,在上述过程中,当随机将实例部署在其它节点上时,部署该实例的节点上可能不包括该实例所需的任何文件,使得该实例在运行过程中需要消耗较多的时长获取所需的文件,导致该实例的运行效率低下。
发明内容
本申请提供一种任务部署方法、实例部署方法、装置及设备,用于提高任务的运行效率。
一方面,本申请提供一种任务部署系统,包括客户端和任务部署服务器,其中,
所述客户端用于,接收用户输入的任务部署请求消息,并向所述任务部署服务器发送所述任务部署请求消息,所述任务部署请求消息中包括至少一个待部署实例的标识;
所述任务部署服务器用于,接收所述客户端发送的任务部署请求消息,根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,并分别将各所述待部署实例部署在对应的目标节点上。
另一方面,本申请提供一种任务部署方法,应用于任务部署服务器,所述方法包括:
获取任务部署请求,所述任务部署请求中包括至少一个待部署实例的标识;
根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点;
分别将各所述待部署实例部署在对应的目标节点上。
在一种可能的实施方式中,根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,包括:
确定各所述待部署实例的部署顺序;
按照所述部署顺序,依次根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述确定各所述待部署实例的部署顺序,包括:
将所述任务部署请求中包括的各所述待部署实例的标识的顺序,确定为所述部署顺序;
或者,
获取各所述待部署实例的优先级,根据各所述待部署实例的优先级确定所述待部署实例的部署顺序。
在另一种可能的实施方式中,针对所述至少一个待部署实例中的任意一个待部署实例,所述根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,包括:
根据所述待部署实例对应的待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
若是,在所述至少一个第一节点中确定所述目标节点;
若否,则确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
在另一种可能的实施方式中,所述在所述至少一个第一节点中确定目标节点,包括:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点,包括:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,在所述至少一个第一节点中确定所述目标节点,包括:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
在另一种可能的实施方式中,按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比,包括:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
在另一种可能的实施方式中,所述根据所述待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,包括:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
在另一种可能的实施方式中,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述获取所述待使用文件在各所述可用第一节点上的存储量,包括:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
在另一种可能的实施方式中,所述根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,包括:
获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值;
在所述负载记录信息中获取各所述第一节点的负载值。
在另一种可能的实施方式中,在分别将各所述待部署实例部署在对应的目标节点上之后,还包括:
向客户端发送任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
在另一种可能的实施方式中,所述分别将各所述待部署实例部署在对应的目标节点上之前,还包括:
判断所述任务部署请求消息中是否包括所述待部署实例;
若是,则在所述任务部署请求消息中获取所述待部署实例;
若否,则在所述分布式系统中获取所述待部署实例。
在另一种可能的实施方式中,针对所述至少一个待部署实例中的任意一个待部署实例,所述分别将各所述待部署实例部署在对应的目标节点上,包括:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
在另一种可能的实施方式中,所述节点的负载值为如下参数中的任意一种:所述节点上已部署实例的个数、所述节点的CPU资源利用率、所述节点的内存利用率。
在另一种可能的实施方式中,针对所述至少一个待部署实例中的任意一个待部署实例,在根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点之前,还包括:
获取所述待部署实例的配置信息;
根据所述配置信息,确定所述待部署实例需要使用文件。
在另一种可能的实施方式中,若确定所述待部署实例不需要使用文件,所述方法还包括:
获取所述分布式系统中各节点的负载值;
将所述分布式系统中负载值最小的节点确定为所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
另一方面,本申请提供一种任务部署装置,包括:
第一获取模块,用于获取任务部署请求,所述任务部署请求中包括至少一个待部署实例的标识;
第一确定模块,用于根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点;
部署模块,用于分别将各所述待部署实例部署在对应的目标节点上。
在一种可能的实施方式中,所述第一确定模块包括第一确定单元和部署单元,其中,
所述确定单元用于,确定各所述待部署实例的部署顺序;
所述部署单元用于,按照所述部署顺序,依次根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述第一确定单元具体用于:
将所述任务部署请求中包括的各所述待部署实例的标识的顺序,确定为所述部署顺序;
或者,
获取各所述待部署实例的优先级,根据各所述待部署实例的优先级确定所述待部署实例的部署顺序。
在另一种可能的实施方式中,所述第一确定模块还包括第二确定单元和判断单元,其中,
所述第二确定单元用于,根据所述待部署实例对应的待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
所述判断单元用于,根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
所述第二确定单元还用于,在所述判断单元判断所述至少一个第一节点中存在可用第一节点时,在所述至少一个第一节点中确定所述目标节点;
所述第二确定单元用于,在所述判断单元判断所述至少一个第一节点中不存在可用第一节点时,确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
在另一种可能的实施方式中,所述第二确定单元具体用于:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述第二确定单元具体用于:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述第二确定单元具体用于:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述第二确定单元具体用于:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
在另一种可能的实施方式中,所述第二确定单元具体用于:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
在另一种可能的实施方式中,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述第二确定单元具体用于:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
在另一种可能的实施方式中,所述装置还包括第二获取模块,其中,
所述第二获取模块用于,在所述判断单元根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值,并在所述负载记录信息中获取各所述第一节点的负载值。
在另一种可能的实施方式中,所述装置还包括发送模块,其中,
所述发送模块用于,在所述部署模块分别将各所述待部署实例部署在对应的目标节点上之后,向客户端发送任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
在另一种可能的实施方式中,所述装置还包括判断模块和第三获取模块,其中,
所述判断模块用于,在所述部署模块分别将各所述待部署实例部署在对应的目标节点上之前,判断所述任务部署请求消息中是否包括所述待部署实例;
所述第三获取模块用于,在所述判断模块判断所述任务部署请求消息中包括所述待部署实例时,在所述任务部署请求消息中获取所述待部署实例;
所述第三获取模块还用于,在所述判断模块判断所述任务部署请求消息中不包括所述待部署实例时,在所述分布式系统中获取所述待部署实例。
在另一种可能的实施方式中,所述部署模块具体用于:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
在另一种可能的实施方式中,所述节点的负载值为如下参数中的任意一种:所述节点上已部署实例的个数、所述节点的CPU资源利用率、所述节点的内存利用率。
在另一种可能的实施方式中,所述装置还包括第四获取模块和第二确定模块,其中,
所述第四获取模块用于,在所述第一确定模块在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点之前,获取所述待部署实例的配置信息;
所述第二确定模块用于,根据所述配置信息,确定所述待部署实例需要使用文件。
在另一种可能的实施方式中,所述装置还包括第五获取模块,其中,
所述第五获取模块用于,在确定所述待部署实例不需要使用文件时,获取所述分布式系统中各节点的负载值;
相应的,所述部署模块用于,将所述分布式系统中负载值最小的节点确定为所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
另一方面,本申请提供一种任务部署服务器,包括处理器和用于存储程序的存储器,所述处理器读取所述存储器中的程序,执行如下操作:
获取任务部署请求,所述任务部署请求中包括至少一个待部署实例的标识;
根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点;
分别将各所述待部署实例部署在对应的目标节点上。
在一种可能的实施方式中,所述处理器具体用于:
确定各所述待部署实例的部署顺序;
按照所述部署顺序,依次根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述处理器具体用于:
将所述任务部署请求中包括的各所述待部署实例的标识的顺序,确定为所述部署顺序;
或者,
获取各所述待部署实例的优先级,根据各所述待部署实例的优先级确定所述待部署实例的部署顺序。
在另一种可能的实施方式中,所述处理器具体用于:
根据所述待部署实例对应的待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
若是,在所述至少一个第一节点中确定所述目标节点;
若否,则确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器具体用于:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器具体用于:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器具体用于:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器具体用于:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
在另一种可能的实施方式中,所述处理器具体用于:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
在另一种可能的实施方式中,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述处理器具体用于:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
在另一种可能的实施方式中,在所述处理器根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,所述处理器还用于:
获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值;
在所述负载记录信息中获取各所述第一节点的负载值。
在另一种可能的实施方式中,所述任务部署服务器还包括通信端口,其中,
在所述处理器分别将各所述待部署实例部署在对应的目标节点上之后,所述处理器还用于:
通过所述通信端口向客户端发送任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
在另一种可能的实施方式中,在所述处理器分别将各所述待部署实例部署在对应的目标节点上之前,所述处理器还用于:
判断所述任务部署请求消息中是否包括所述待部署实例;
若是,则在所述任务部署请求消息中获取所述待部署实例;
若否,则在所述分布式系统中获取所述待部署实例。
在另一种可能的实施方式中,所述处理器具体用于:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
在另一种可能的实施方式中,所述节点的负载值为如下参数中的任意一种:所述节点上已部署实例的个数、所述节点的CPU资源利用率、所述节点的内存利用率。
在另一种可能的实施方式中,在所述处理器在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点之前,所述处理器还用于:
获取所述待部署实例的配置信息;
根据所述配置信息,确定所述待部署实例需要使用文件。
在另一种可能的实施方式中,在所述处理器还用于:
在确定所述待部署实例不需要使用文件时,获取所述分布式系统中各节点的负载值,并将所述分布式系统中负载值最小的节点确定为所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
另一方面,本申请提供另一种任务部署方法,应用于客户端,所述方法包括:
接收用户输入的任务部署请求消息,所述任务部署请求消息中包括至少一个待部署实例的标识;
向任务部署服务器发送所述任务部署请求消息,以使所述任务部署服务器根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,并分别将各所述待部署实例部署在对应的目标节点上。
在一种可能的实施方式中,所述接收用户输入的任务部署请求消息,包括:
在所述客户端的显示界面中显示任务部署界面;
接收所述用户通过所述任务部署界面输入的所述任务部署请求消息。
在另一种可能的实施方式中,所述接收所述用户通过所述任务部署界面输入的所述任务部署请求消息,包括:
在所述显示界面中显示分布式系统中已存在的可用实例的标识;
接收所述用户在所述可用实例的标识中选择的至少一个待部署实例的标识;
根据所述用户选择的待部署实例的标识,生成所述任务部署请求消息。
在另一种可能的实施方式中,所述在所述显示界面中显示分布式系统中已存在的可用实例的标识,包括:
在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述接收所述用户在所述可用实例的标识中选择的至少一个待部署实例的标识,包括:
接收用户对至少一个待部署实例的标识对应的选中框输入的选中操作。
在另一种可能的实施方式中,所述接收用户输入的任务部署请求消息,包括:
在所述显示界面中显示实例上传框;
接收所述用户通过所述实例上传框上传的至少一个待部署实例;
获取所述上传的所述至少一个待部署实例的标识,并生成所述任务部署请求消息,所述任务部署请求消息中还包括所述上传的至少一个待部署实例。
在另一种可能的实施方式中,在向任务部署服务器发送所述任务部署请求消息之后,还包括:
接收任务部署服务器发送的任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
另一方面,本申请提供另一种任务部署装置,包括:
第一接收模块,用于接收用户输入的任务部署请求消息,所述任务部署请求消息中包括至少一个待部署实例的标识;
发送模块,用于向任务部署服务器发送所述任务部署请求消息,以使所述任务部署服务器根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,并分别将各所述待部署实例部署在对应的目标节点上。
在一种可能的实施方式中,所述装置还包括显示模块,其中,
所述显示模块用于,在所述客户端的显示界面中显示任务部署界面;
相应的,所述第一接收模块具体用于,接收所述用户通过所述任务部署界面输入的所述任务部署请求消息。
在另一种可能的实施方式中,所述装置还包括生成模块,其中,
所述显示模块具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识;
相应的,所述第一接收模块具体用于,接收所述用户在所述可用实例的标识中选择的至少一个待部署实例的标识;
所述生成模块用于,根据所述用户选择的待部署实例的标识,生成所述任务部署请求消息。
在另一种可能的实施方式中,所述显示模块具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述第一接收模块具体用于,接收用户对至少一个待部署实例的标识对应的选中框输入的选中操作。
在另一种可能的实施方式中,所述显示模块还用于,在所述显示界面中显示实例上传框;
所述第一接收模块还用于,接收所述用户通过所述实例上传框上传的至少一个待部署实例;
所述生成模块还用于,获取所述上传的所述至少一个待部署实例的标识,并生成所述任务部署请求消息,所述任务部署请求消息中还包括所述上传的至少一个待部署实例。
在另一种可能的实施方式中,所述装置还包括第二接收模块,其中,
所述第二接收模块用于,在所述发送模块向任务部署服务器发送所述任务部署请求消息之后,接收任务部署服务器发送的任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
另一方面,本申请提供一种客户端,包括处理器、输入设备、通信端口和用于存储程序的存储器,所述处理器读取所述存储器中的程序,执行如下操作:
通过所述输入设备接收用户输入的任务部署请求消息,所述任务部署请求消息中包括至少一个待部署实例的标识;
通过所述通信端口向任务部署服务器发送所述任务部署请求消息,以使所述任务部署服务器根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,并分别将各所述待部署实例部署在对应的目标节点上。
在一种可能的实施方式中,所述客户端还包括显示设备,其中,
所述显示设备用于,在所述客户端的显示界面中显示任务部署界面;
相应的,所述处理器具体用于,通过所述输入设备接收所述用户通过所述任务部署界面输入的所述任务部署请求消息。
在另一种可能的实施方式中,所述显示设备具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识;
相应的,所述处理器具体用于,通过所述输入设备接收所述用户在所述可用实例的标识中选择的至少一个待部署实例的标识,并根据所述用户选择的待部署实例的标识,生成所述任务部署请求消息。
在另一种可能的实施方式中,所述显示设备具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述处理器具体用于,通过所述输入设备接收用户对至少一个待部署实例的标识对应的选中框输入的选中操作。
在另一种可能的实施方式中,所述显示设备还用于,在所述显示界面中显示实例上传框;
所述处理器还用于,通过所述输入设备接收所述用户通过所述实例上传框上传的至少一个待部署实例,获取所述上传的所述至少一个待部署实例的标识,并生成所述任务部署请求消息,所述任务部署请求消息中还包括所述上传的至少一个待部署实例。
在另一种可能的实施方式中,在所述处理器通过所述通信端口向任务部署服务器发送所述任务部署请求消息之后,所述处理器还用于,通过所述通信端口接收任务部署服务器发送的任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
另一方面,本申请提供一种实例部署系统,包括客户端和实例部署服务器,其中,
所述客户端用于,接收用户输入的实例部署请求消息,并向所述实例部署服务器发送所述实例部署请求消息,所述实例部署请求消息用于请求所述实例部署服务器对待部署实例进行部署;
所述实例部署服务器用于,接收所述客户端发送的所述实例部署请求消息,根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
另一方面,本申请提供一种实例部署方法,应用于实例部署服务器,所述方法包括:
获取实例部署请求消息,所述实例部署请求消息用于请求对待部署实例进行部署;
根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点;
在所述目标节点中部署所述待部署实例。
在一种可能的实施方式中,根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,包括:
根据所述待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
若是,在所述至少一个第一节点中确定所述目标节点;
若否,则确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
在另一种可能的实施方式中,所述在所述至少一个第一节点中确定目标节点,包括:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点,包括:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,在所述至少一个第一节点中确定所述目标节点,包括:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
在另一种可能的实施方式中,按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比,包括:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
在另一种可能的实施方式中,所述根据所述待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,包括:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
在另一种可能的实施方式中,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述获取所述待使用文件在各所述可用第一节点上的存储量,包括:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
在另一种可能的实施方式中,所述根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,包括:
获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值;
在所述负载记录信息中获取各所述第一节点的负载值。
在另一种可能的实施方式中,在所述目标节点中部署所述待部署实例之前,还包括:
判断所述实例部署请求消息中是否包括所述待部署实例;
若是,则在所述实例部署请求消息中获取所述待部署实例;
若否,则在所述分布式系统中获取所述待部署实例。
在另一种可能的实施方式中,在所述目标节点中部署所述待部署实例,包括:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
另一方面,本申请提供一种实例部署装置,包括:
第一获取模块,用于获取实例部署请求消息,所述实例部署请求消息用于请求对待部署实例进行部署;
第一确定模块,用于根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点;
部署模块,用于在所述目标节点中部署所述待部署实例。
在一种可能的实施方式中,所述第一确定模块包括确定单元和判断单元,其中,
所述确定单元用于,根据所述待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
所述判断单元用于,根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
所述确定单元还用于,在所述判断单元判断所述至少一个第一节点中存在可用第一节点时,在所述至少一个第一节点中确定所述目标节点;
所述确定单元还用于,在所述判断单元判断所述至少一个第一节点中不存在可用第一节点时,确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
在另一种可能的实施方式中,所述确定单元具体用于:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述确定单元具体用于:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述确定单元具体用于:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述确定单元具体用于:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
在另一种可能的实施方式中,所述确定单元具体用于:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
在另一种可能的实施方式中,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述确定单元具体用于:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
在另一种可能的实施方式中,所述装置还包括第二获取模块,其中,
所述第二获取模块用于,在所述判断单元根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值,并在所述负载记录信息中获取各所述第一节点的负载值。
在另一种可能的实施方式中,所述装置还包括判断模块和第三获取模块,其中,
所述判断模块用于,在所述部署模块在所述目标节点中部署所述待部署实例之前,判断所述实例部署请求消息中是否包括所述待部署实例;
所述第三获取模块用于,在所述判断模块判断所述实例部署请求消息中包括所述待部署实例时,在所述实例部署请求消息中获取所述待部署实例;
所述第三获取模块还用于,在所述判断模块判断所述实例部署请求消息中不包括所述待部署实例时,在所述分布式系统中获取所述待部署实例。
在另一种可能的实施方式中,所述部署模块具体用于:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
在另一种可能的实施方式中,所述第一获取模块具体用于:
接收任务部署请求消息,所述任务部署请求消息中包括多个待部署实例的标识;
根据所述任务部署请求消息,生成所述多个待部署实例中各所述待部署实例对应的实例部署请求消息。
在另一种可能的实施方式中,所述装置还包括发送模块,其中,
所述发送模块用于,在所述部署模块在所述目标节点中部署所述待部署实例之后,向客户端发送实例部署结果,所述实例部署结果中包括用于部署所述待部署实例的目标节点。
在另一种可能的实施方式中,所述实例部署结果中还包括如下信息中的至少一种:所述目标节点的负载值、所述目标节点中存储所述待部署实例对应的待使用文件量。
在另一种可能的实施方式中,所述节点的负载值为如下参数中的任意一种:所述节点上已部署实例的个数、所述节点的CPU资源利用率、所述节点的内存利用率。
在另一种可能的实施方式中,所述装置还包括第四获取模块和第二确定模块,其中,
所述第四获取模块用于,在所述第一确定模块在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点之前,获取所述待部署实例的配置信息;
所述第二确定模块用于,根据所述配置信息,确定所述待部署实例需要使用文件。
在另一种可能的实施方式中,所述装置还包括第五获取模块,其中,
所述第五获取模块用于,在确定所述待部署实例不需要使用文件时,获取所述分布式系统中各节点的负载值;
相应的,所述部署模块用于,将所述分布式系统中负载值最小的节点确定为所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
另一方面,本申请提供一种实例部署服务器,包括处理器和用于存储程序的存储器,所述处理器读取所述存储器中的程序,执行如下操作:
获取实例部署请求消息,所述实例部署请求消息用于请求对待部署实例进行部署;
根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点;
在所述目标节点中部署所述待部署实例。
在一种可能的实施方式中,所述处理器具体用于:
根据所述待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
若是,在所述至少一个第一节点中确定所述目标节点;
若否,则确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器具体用于:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器具体用于:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器具体用于:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器具体用于:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
在另一种可能的实施方式中,所述处理器具体用于:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
在另一种可能的实施方式中,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述处理器具体用于:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
在另一种可能的实施方式中,在所述处理器根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,所述处理器还用于:
获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值;
在所述负载记录信息中获取各所述第一节点的负载值。
在另一种可能的实施方式中,在所述处理器在所述目标节点中部署所述待部署实例之前,所述处理器还用于:
判断所述实例部署请求消息中是否包括所述待部署实例;
若是,则在所述实例部署请求消息中获取所述待部署实例;
若否,则在所述分布式系统中获取所述待部署实例。
在另一种可能的实施方式中,所述处理器具体用于:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
在另一种可能的实施方式中,所述处理器具体用于:
接收任务部署请求消息,所述任务部署请求消息中包括多个待部署实例的标识;
根据所述任务部署请求消息,生成所述多个待部署实例中各所述待部署实例对应的实例部署请求消息。
在另一种可能的实施方式中,所述实例部署服务器还包括通信端口,其中,
在所述处理器在所述目标节点中部署所述待部署实例之后,所述处理器还用于,通过所述通信端口向客户端发送实例部署结果,所述实例部署结果中包括用于部署所述待部署实例的目标节点。
在另一种可能的实施方式中,所述实例部署结果中还包括如下信息中的至少一种:所述目标节点的负载值、所述目标节点中存储所述待部署实例对应的待使用文件量。
在另一种可能的实施方式中,所述节点的负载值为如下参数中的任意一种:所述节点上已部署实例的个数、所述节点的CPU资源利用率、所述节点的内存利用率。
在另一种可能的实施方式中,在所述处理器在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点之前,所述处理器还用于:
获取所述待部署实例的配置信息;
根据所述配置信息,确定所述待部署实例需要使用文件。
在另一种可能的实施方式中,所述处理器还用于:
在确定所述待部署实例不需要使用文件时,获取所述分布式系统中各节点的负载值;
将所述分布式系统中负载值最小的节点确定为所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
另一方面,本申请提供一种实例部署方法,应用于客户端,所述方法包括:
接收用户输入的实例部署请求消息,所述实例部署请求消息中包括待部署实例的标识;
向实例部署服务器发送所述实例部署请求消息,以使所述实例部署服务器根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
在一种可能的实施方式中,所述接收用户输入的实例部署请求消息,包括:
在所述客户端的显示界面中显示实例部署界面;
接收所述用户通过所述实例部署界面输入的实例部署请求消息。
在另一种可能的实施方式中,所述接收所述用户通过所述实例部署界面输入的实例部署请求消息,包括:
在所述显示界面中显示分布式系统中已存在的可用实例的标识;
接收所述用户在所述可用实例的标识中选择的待部署实例的标识;
根据所述用户选择的待部署实例的标识,生成所述实例部署请求消息。
在另一种可能的实施方式中,所述在所述显示界面中显示分布式系统中已存在的可用实例的标识,包括:
在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述接收所述用户在所述可用实例的标识中选择的待部署实例的标识,包括:
接收用户对所述待部署实例的标识对应的选中框输入的选中操作。
在另一种可能的实施方式中,所述接收用户输入的实例部署请求消息,包括:
在所述显示界面中显示实例上传框;
接收所述用户通过所述实例上传框上传的所述待部署实例;
获取所述上传的所述待部署实例的标识,并生成所述实例部署请求消息,所述实例部署请求消息中还包括所述待部署实例。
在另一种可能的实施方式中,在向实例部署服务器发送所述实例部署请求消息之后,还包括:
接收实例部署服务器发送的实例部署结果,所述实例部署结果中包括用于部署所述待部署实例的目标节点。
在另一种可能的实施方式中,所述实例部署结果中还包括如下信息中的至少一种:所述目标节点的负载值、所述目标节点中存储所述待部署实例对应的待使用文件量。
另一方面,本申请提供一种实例部署装置,应用于客户端,所述装置包括:
第一接收模块,用于接收用户输入的实例部署请求消息,所述实例部署请求消息中包括待部署实例的标识;
发送模块,用于向实例部署服务器发送所述实例部署请求消息,以使所述实例部署服务器根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
在一种可能的实施方式中,所述装置还包括显示模块,其中,
所述显示模块用于,在所述客户端的显示界面中显示实例部署界面;
相应的,所述第一接收模块具体用于,接收所述用户通过所述实例部署界面输入的实例部署请求消息。
在另一种可能的实施方式中,所述装置还包括生成模块,其中,
所述显示模块具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识;
相应的,所述第一接收模块具体用于,接收所述用户在所述可用实例的标识中选择的待部署实例的标识;
所述生成模块用于,根据所述用户选择的待部署实例的标识,生成所述实例部署请求消息。
在另一种可能的实施方式中,所述显示模块具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述第一接收模块具体用于,接收用户对所述待部署实例的标识对应的选中框输入的选中操作。
在另一种可能的实施方式中,所述显示模块还用于,在所述显示界面中显示实例上传框;
所述第一接收模块还用于,接收所述用户通过所述实例上传框上传的所述待部署实例;
所述生成模块还用于,获取所述上传的所述待部署实例的标识,并生成所述实例部署请求消息,所述实例部署请求消息中还包括所述待部署实例。
在另一种可能的实施方式中,所述装置还包括第二接收模块,其中,
所述第二接收模块用于,在所述发送模块向实例部署服务器发送所述实例部署请求消息之后,接收实例部署服务器发送的实例部署结果,所述实例部署结果中包括用于部署所述待部署实例的目标节点。
在另一种可能的实施方式中,所述实例部署结果中还包括如下信息中的至少一种:所述目标节点的负载值、所述目标节点中存储所述待部署实例对应的待使用文件量。
另一方面,本申请提供一种客户端,包括处理器、输入设备、通信端口和用于存储程序的存储器,所述处理器读取所述存储器中的程序,执行如下操作:
通过所述输入设备接收用户输入的实例部署请求消息,所述实例部署请求消息中包括待部署实例的标识;
通过所述通信端口向实例部署服务器发送所述实例部署请求消息,以使所述实例部署服务器根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
在一种可能的实施方式中,所述客户端还包括显示设备,其中,
所述显示设备用于,在所述客户端的显示界面中显示实例部署界面;
相应的,所述处理器具体用于,通过所述输入设备接收所述用户通过所述实例部署界面输入的实例部署请求消息。
在另一种可能的实施方式中,所述显示设备具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识;
相应的,所述处理器具体用于,通过所述输入设备接收所述用户在所述可用实例的标识中选择的待部署实例的标识,根据所述用户选择的待部署实例的标识,生成所述实例部署请求消息。
在另一种可能的实施方式中,所述显示设备具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述处理器具体用于,通过所述输入设备接收用户对所述待部署实例的标识对应的选中框输入的选中操作。
在另一种可能的实施方式中,所述接收用户输入的实例部署请求消息,包括:
所述显示设备还用于,在所述显示界面中显示实例上传框;
所述处理器还用于,通过所述输入设备接收所述用户通过所述实例上传框上传的所述待部署实例,获取所述上传的所述待部署实例的标识,并生成所述实例部署请求消息,所述实例部署请求消息中还包括所述待部署实例。
在另一种可能的实施方式中,在所述处理器通过所述通信端口向实例部署服务器发送所述实例部署请求消息之后,所述处理器还用于,接收实例部署服务器发送的实例部署结果,所述实例部署结果中包括用于部署所述待部署实例的目标节点。
在另一种可能的实施方式中,所述实例部署结果中还包括如下信息中的至少一种:所述目标节点的负载值、所述目标节点中存储所述待部署实例对应的待使用文件量。
在本申请中,在获取到包括多个待部署实例的标识的任务部署请求消息之后,根据各待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各节点上存储的文件,在分布式系统的多个节点中确定各待部署实例对应的目标节点,并分别将各待部署实例部署在对应的目标节点上。在上述过程中,当目标节点中包括待使用文件中的部分或全部时,通过将待部署实例部署在该目标节点上,可以降低待部署实例获取待使用文件的时间,进而提高实例的运行效率,进而提高任务的运行效率;当目标节点为负载值最小的节点时,通过将待部署实例部署在该目标节点上,可以提高在目标节点上运行待部署实例的效率,进而提高任务的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的任务部署系统的应用场景示意图;
图2为本发明提供的任务部署方法的流程示意图一;
图3为本发明提供的确定目标节点方法的流程示意图一;
图4为本发明提供的确定目标节点的方法的流程示意图二;
图5为本发明提供的确定目标节点的方法的流程示意图三;
图6为本发明提供的任务部署方法的流程示意图二;
图7为本发明提供的获取任务部署请求消息方法的流程示意图一;
图8为本发明提供的获取任务部署请求消息方法的流程示意图二;
图9为本发明提供的客户端界面示意图;
图10为本发明提供的实例部署系统的应用场景示意图;
图11为本发明提供的实例部署方法的流程示意图一;
图12为本发明提供的实例部署方法的流程示意图二;
图13为本发明提供的一种任务部署装置的结构示意图一;
图14为本发明提供的一种任务部署装置的结构示意图二;
图15为本发明提供的任务部署服务器的结构示意图一;
图16为本发明提供的任务部署服务器的结构示意图二;
图17为本发明提供的另一种任务部署装置的结构示意图一;
图18为本发明提供的另一种任务部署装置的结构示意图二;
图19为本发明提供的一种客户端的结构示意图一;
图20为本发明提供的一种客户端的结构示意图二;
图21为本发明提供的一种实例部署装置的结构示意一;
图22为本发明提供的一种实例部署装置的结构示意二;
图23为本发明提供的实例部署服务器的结构示意图一;
图24为本发明提供的实例部署服务器的结构示意图二;
图25为本发明实施例提供的另一种实例部署装置的结构示意图一;
图26为本发明实施例提供的另一种实例部署装置的结构示意图二;
图27为本发明提供的另一种客户端的结构示意图;
图28为本发明提供的另一种客户端的结构示意图二。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1为本发明提供的任务部署系统的应用场景示意图,请参照图1,包括任务部署系统101和分布式系统102,任务部署系统101用于将待部署任务部署在分布式系统102中。任务部署系统101中包括客户端101-1和任务部署服务器101-2;分布系统102中包括多个节点(102-1至102-N),每一个节点中可以部署多个实例。
客户端101-1用于,接收用户输入的任务部署请求消息,并向任务部署服务器101-2发送任务部署请求消息,任务部署请求消息中包括至少一个待部署实例的标识。任务部署服务器101-2用于,接收客户端101-1发送的任务部署请求消息,根据各待部署实例对应的待使用文件、分布式系统102中各节点的负载值、及各节点上存储的文件,在分布式系统102的多个节点中确定各待部署实例对应的目标节点,并分别将各待部署实例部署在对应的目标节点上。
在本申请中,分布式系统中的每一个节点可以为计算机等物理设备,在每一个节点中可以部署多个实例。本申请中的实例为具备预设功能的功能模块,该实例可以通过软件代码实现。在各节点中还可以存储实例运行过程中需要使用的数据文件,任务部署服务器101-2可以与各个节点可以相互通信,以获取各个节点的节点信息(例如节点的负载值、及节点上存储的文件等)。在本申请中,待部署任务中包括至少一个待部署实例,当需要在分布式系统102的节点上部署待部署任务时,任务部署服务器101-1可以在分布式系统102的多个节点中确定待部署任务中每一个待部署实例对应的目标节点,并分别在对应的目标节点上部署每一个待部署实例,以实现在分布式系统中部署待部署任务。下面,通过具体实施例对本申请所示的技术方案进行详细说明。
需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
下面,以任务部署服务器为执行主体,通过图2-图5所示的实施例对任务部署方法进行详细说明。
图2为本发明提供的任务部署方法的流程示意图一,请参照图2,该方法可以包括:
S201、获取任务部署请求,任务部署请求中包括至少一个待部署实例的标识;
S202、根据各待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各节点上存储的文件,在分布式系统的多个节点中确定各待部署实例对应的目标节点;
S203、分别将各待部署实例部署在对应的目标节点上。
在本发明实施例中,在分布式系统中可以运行多个任务,每一个任务由至少一个实例构成。在分布式系统中运行一个任务之前,需要将该任务中所有实例部署在分布式系统的节点上。任务部署服务器对所有任务的部署过程相同,下面,以在分布式系统中部署待部署任务的过程为例,对本申请所示的任务部署方法进行详细说明。
在实际应用过程中,当用户需要在分布式系统中部署待部署任务时,可以通过客户端向实例部署装置发送获取任务部署请求,该任务部署请求中包括至少一个待部署实例的标识。可选的,可以在客户端向用户展示交互界面,以使用户可以通过客户端的交互界面向实例部署装置发送任务部署请求消息,
在任务部署服务器接收到任务部署请求消息之后,可选的,任务部署服务器可以判断任务部署请求消息中是否包括待部署实例,若是,则说明用户在发送任务部署请求消息时,上传了待部署实例,则任务部署服务器在任务部署请求消息中获取待部署实例,若否,则说明在分布式系统中包括用户需要使用的实例,则任务部署服务器可以在分布式系统中获取待部署实例。同时,任务部署服务器还需要获取待部署任务中各个待部署实例的待使用文件。可选的,任务部署服务器可以获取待部署任务中各个待部署实例的配置信息,并根据配置信息,确定各个待部署实例需要使用文件。
在任务部署服务器接收到实例部署请求消息之后,任务部署服务器还需要获取分布式系统中各个节点的负载值、以及各个节点上存储的文件,可选的,节点的负载值可以为节点上已部署实例的个数、或者节点的CPU资源利用率、或者节点的内存利用率等。然后,任务部署服务器可以根据待部署实例的标识对应的待使用文件、分布式系统中各节点的负载值、以及分布式系统中各节点上存储的文件,在分布式系统的多个节点中确定各个待部署实例对应的目标节点;其中,该目标节点中包括待使用文件中的部分或全部、或者目标节点的负载值最小,并分别将各待部署实例部署在对应的目标节点上。可选的,可以在目标节点中创建待部署实例对应的进程,并在该进程中运行待部署实例,或者,可以将待部署节点对应的应用程序安装在目标节点中以实现在目标节点中部署待部署实例。
在任务部署服务器分别将各待部署实例部署在对应的目标节点上之后,可选的,任务部署服务器可以向客户端发送任务部署结果,任务部署结果中包括各待部署实例对应的目标节点,以使用户可以对了解到任务部署结果。进一步的,任务部署结果中还包括如下信息中的至少一种:各目标节点的负载值、各目标节点中存储对应的待部署实例的待使用文件量。
下面,通过具体示例,对图2实施例所示的方法进行详细说明。
示例性的,假设用户需要在分布式系统中部署任务1,该任务1中包括3个实例,分别记为实例1-实例3。
再假设分布式系统中已包括实例1-实例3,则用户在通过客户端向任务部署服务装置发送任务部署请求消息时,只需要在任务部署请求消息中包括实例1-实例3的标识即可。
在任务部署服务器接收到任务部署请求消息之后,任务部署服务器在任务部署请求消息中获取实例1-实例3的标识,然后分别获取实例1-实例3对应的待使用文件、分布式系统中各节点的负载值、及各节点上存储的文件。
任务部署服务器根据实例1对应的待使用文件、分布式系统中各节点的负载值、及各节点上存储的文件,确定实例1对应的目标节点1;任务部署服务器根据实例2对应的待使用文件、分布式系统中各节点的负载值、及各节点上存储的文件,确定实例2对应的目标节点2;任务部署服务器根据实例3对应的待使用文件、分布式系统中各节点的负载值、及各节点上存储的文件,确定实例3对应的目标节点3。
则任务部署服务器将实例1部署在目标节点1上,将实例2部署在目标节点2上,将实例3部署在目标节点3上。
本发明实施例提供的任务部署方法,在任务部署服务器获取到包括多个待部署实例的标识的任务部署请求消息后,任务部署服务器根据各待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各节点上存储的文件,在分布式系统的多个节点中确定各待部署实例对应的目标节点,并分别将各待部署实例部署在对应的目标节点上。在上述过程中,当目标节点中包括待使用文件中的部分或全部时,通过将待部署实例部署在该目标节点上,可以降低待部署实例获取待使用文件的时间,进而提高实例的运行效率,进而提高任务的运行效率;当目标节点为负载值最小的节点时,通过将待部署实例部署在该目标节点上,可以提高在目标节点上运行待部署实例的效率,进而提高任务的效率。
在图2所示实施例的基础上,在对待部署任务中的各个待部署实例进行部署的过程中,可选的,任务部署服务器可以先确定各待部署实例的部署顺序,并按照部署顺序,依次根据各待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各节点上存储的文件,在分布式系统的多个节点中确定各待部署实例对应的目标节点。可选的,可以将任务部署请求中包括的各待部署实例的标识的顺序,确定为部署顺序;或者,可以获取各待部署实例的优先级,根据各待部署实例的优先级确定待部署实例的部署顺序。
在图2所示实施例的基础上,任务部署服务器确定待部署任务中的每一个待部署实例对应的目标节点的过程相同。针对待部署任务中的任意一个待部署实例,任务部署服务器可以通过如下可行的实现方式在分布式系统中的多个节点中确定待部署实例对应的目标节点(S202),具体的,请参照图3所示的实施例。
图3为本发明提供的确定目标节点方法的流程示意图一,请参照图3,该方法可以包括:
S301、根据待使用文件、各节点上存储的文件,在多个节点中确定至少一个第一节点,第一节点上存储的文件中包括待使用文件的部分或全部;
S302、根据各第一节点的负载值和预设负载阈值,判断至少一个第一节点中是否存在可用第一节点,可用第一节点的负载值小于预设负载阈值;
若是,则执行S303;
若否,则执行S304;
S303、在至少一个第一节点中确定目标节点;
S304、确定负载值最小的第二节点,并将第二节点确定为目标节点。
在本发明实施例中,为了保证分布式系统中的节点可以正常运行,可以为分布式系统中的节点设置预设负载阈值,其中,各个节点的预设负载阈值可以相同,也可以不同,在实际应用中,可以通过多种参数表示节点的负载,例如,若通过节点的CPU使用率表示节点的负载,则预设负载阈值可以为70%等,若通过节点上已部署实例的个数表示节点的负载,则预设负载阈值可以为10个。
在实际应用过程中,当任务部署服务器需要确定待部署实例对应的目标节点时,任务部署服务器可以先根据待使用文件、各节点上存储的文件,在多个节点中确定至少一个第一节点,其中,该第一节点上存储的文件中包括待使用文件的部分或全部,可选的,在各个节点中通常将文件以数据块的形式存储,并记录各个数据块中存储的文件,当在节点上对文件的记录方式不同时,在多个节点中确定至少一个第一节点的过程也不相同,具体的,可以包括以下两种可行的实现方式:
一种可行的实现方式:通过数据块中存储的文件的名称,对数据块进行命名;
在该种可行的实现方式中,在节点的数据块中存储文件时,获取文件的名称,并采用文件的名称对该数据块进行命名,以使得任务部署服务器可以根据数据块的名称确定该数据块中存储的文件,这样,当任务部署服务器需要在多个节点中确定至少一个第一节点时,任务部署服务器只需要根据待使用文件的名称、以及各节点中的数据块的名称确定第一节点,具体的,若一个节点中存在与待使用文件的名称相同的数据块,则将该节点确定为第一节点。
例如,假设待使用文件1的名称为abc,当任务部署服务器需要在多个节点中确定第一节点时,任务部署服务器分别判断各个节点中是否存在名称为abc的数据块,若节点1和节点3中存在名称为abc的数据块,则将节点1和节点3确定为第一节点。
另一种可行的实现方式:记录文件、节点和数据块的对应关系;
在该种可行的实现方式中,在节点的数据块中存储文件时,记录文件、节点、以及数据块的对应关系,以使得任务部署服务器可以根据该对应关系确定数据块中存储的文件。
例如,假设在分布式系统的节点中存储着文件1,文件、节点和数据块的对应关系如表1所示:
表1
假设待使用文件为文件1,当任务部署服务器需要在多个节点中确定第一节点时,任务部署服务器根据表1所示的对应关系,即可获取文件1对应的节点2和节点3,并将节点2和节点3确定为第一节点。
在任务部署服务器根据上述任意一种可行的实现方式确定得到至少一个第一节点之后,任务部署服务器根据各第一节点的负载值和预设负载阈值,判断至少一个第一节点中是否存在负载值小于预设负载值的可用第一节点,当多个节点中存在可用第一节点时,则任务部署服务器可以在至少一个第一节点中确定目标节点,当多个节点中不存在可用第一节点时,则任务部署服务器可以在多个节点中确定负载值最小的第二节点,并将第二节点确定为目标节点。
在图3所示的实施例中,当任务部署服务器需要确定待部署实例对应的目标节点时,任务部署服务器首先判断分布式系统的多个节点中是否存在可用第一节点,若存在,则任务部署服务器在至少一个第一节点中确定目标节点,若不存在,则任务部署服务器将分布式系统的多个节点中负载值最小的第二节点确定为目标节点,在上述过程中,任务部署服务器优先在存储待使用文件的第一节点中选择目标节点,通过将待部署实例部署在该目标节点上,可以降低待部署实例获取待使用文件的时间,进而提高实例的运行效率,若无法在第一节点中选择目标节点(第一节点中的所有节点的负载值都大于预设负载阈值),则任务部署服务器将负载值最小的第二节点确定为目标节点,由于第二节点的负载值最低,则第二节点的运行效率最高,则将待部署实例部署在该目标节点上,可以提高在目标节点上运行待部署实例的效率。
在图3所示实施例的基础上,可以通过多种可行的实现方式在至少一个第一节点中确定目标节点(图3所示实施例中的S304),下面,结合图4和图5所示的实施例介绍两种可行的实现方式,具体的,请参见图4-图5所示实施例。
图4为本发明提供的确定目标节点的方法的流程示意图二,请参照图4,该方法可以包括:
S401、根据各第一节点的负载值和预设负载阈值,在至少一个第一节点中确定可用第一节点;
S402、判断可用第一节点的个数是否大于1;
若否,执行S403;
若是,执行S404-S407;
S403、将可用第一节点确定为目标节点;
S404、获取待使用文件在各可用第一节点上的存储量;
S405、根据待使用文件在各第一节点上的存储量,在可用第一节点中获取存储量最高的可用第一节点;
S406、判断存储量最高的可用第一节点的个数是否大于1;
若是,则执行S407;
若否,则执行S408;
S407、将存储量最高的可用第一节点中、负载值最小的可用节点确定为目标节点;
S408、将存储量最高的可用第一节点确定为目标节点。
在实际应用过程中,当任务部署服务器需要在至少一个第一节点中确定目标节点时,任务部署服务器根据各第一节点的负载值和预设负载阈值,在至少一个第一节点中确定可用第一节点,并获取可用第一节点的个数,若可用第一节点的个数为1,则任务部署服务器直接将该一个可用第一节点确定为目标节点。可选的,可以将分布式系统中各节点上存储的文件类型存储在文件分布信息中,以使任务部署服务器可以在文件分布信息中获取各节点上存储的文件类型,并将存储的文件类型包括待使用文件的文件类型的节点确定为第一节点。
若可用第一节点的个数大于1,则任务部署服务器需要根据待使用文件在各可用第一节点上的存储量,在各可用第一节点中确定目标节点,可选的,可以通过字节数表示该存储量,具体的:任务部署服务器获取待使用文件在各个可用第一节点上的存储量,在可用第一节点中获取存储量最高的可用第一节点,然后获取存储量最高的可用第一节点的个数,若存储量最高的可用第一节点的个数为1,则任务部署服务器将该一个存储量最高的可用第一节点确定为目标节点,若存储量最高的可用第一节点的个数大于1,则任务部署服务器获取各个存储量最高的可用第一节点的负载值,并将存储量最高的可用第一节点中的、负载值最小的可用第一节点确定为目标节点。
可选的,可以在文件分布信息中存储分布式系统中各节点上存储的、各文件类型对应的文件存储量,以使任务部署服务器可以在文件分布信息中,获取待使用文件在各可用第一节点上的存储量。
可选的,还可以将分布式系统中各个节点的负载值存储在负载记录信息中,以使任务部署服务器可以在负载记录信息中获取各第一节点的负载值。
在图4所示的实施例中,任务部署服务器在可用第一节点中确定目标节点时,任务部署服务器优先将对待使用文件存储量最高的可用第一节点确定为目标节点,若存在多个存储量最高的可用第一节点,则任务部署服务器再根据存储量最高的可用第一节点的负载值,将存储量最高的、负载值最小的可用第一节点确定为目标节点,通过将待部署实例部署在上述确定得到的目标节点上之后,不但可以降低待部署实例获取待使用文件的时间,还可以使得待部署实例具备最高的运行效率,进一步的提高了待部署实例的运行效率。
下面,通过具体示例,对图4所示的方法进行详细说明。
示例性的,假设任务部署服务器获取得到的第一节点、第一节点上存储的待使用文件的存储量、以及各个第一节点的负载值如表2所示:
表2
第一节点的标识 存储量 负载值(CPU使用率)
节点1 100M 50%
节点2 200M 58%
节点3 150M 52%
节点4 250M 80%
节点5 200M 48%
在任务部署服务器获取得到表2所示的多个第一节点之后,任务部署服务器根据各第一节点的负载值和预设负载值,在至少一个第一节点中确定可用第一节点,假设预设负载阈值为60%,则任务部署服务器在表2所示的多个第一节点中确定得到的可用第一节点如表3所示:
表3
在任务部署服务器获取得到表3所示的可用第一节点之后,任务部署服务器判断可用第一节点的个数为4(大于1),则任务部署服务器在表3所示的可用第一节点中确定存储量最高的可用第一节点,具体的,存储量最高的可用第一节点如表4所示:
表4
第一节点的标识 存储量 负载值(CPU使用率)
节点2 200M 58%
节点5 200M 48%
在任务部署服务器获取得到表4所示的存储量最高的可用第一节点之后,任务部署服务器判断存储量最高的可用第一节点的个数(2)大于1,则任务部署服务器根据节点2和节点5的负载值,将负载值最小的节点5确定为目标节点。
图5为本发明提供的确定目标节点的方法的流程示意图三,请参照图5,该方法可以包括:
S501、获取待使用文件在各第一节点上的存储量;
S502、按照存储量从大到小的顺序,将各第一节点的负载值与预设负载阈值进行对比;
S503、将至少一个第一节点中第一个满足负载值小于预设负载阈值的第一节点确定为目标节点。
在图5所示的实施例中,当任务部署服务器需要在可用第一节点中确定目标节点时,任务部署服务器首先获取待使用文件在各个第一节点上的存储量,并按照存储量从大到小的顺序,将各第一节点的负载值与预设负载阈值进行对比,具体的:任务部署服务器可以按照存储量从大到小的顺序,对各第一节点进行排序,得到初始第一节点序列,若初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列,根据目标第一节点序列,将各第一节点的负载值与预设负载阈值进行对比。
在任务部署服务器将第一节点的负载值和预设负载阈值进行对比的过程中,当至少一个第一节点中存在一个负载值小于预设负载阈值的第一节点时,优选的,任务部署服务器可以停止将第一节点的负载值和预设负载值进行对比,并将在至少一个第一节点中第一个满足负载值小于预设负载预设的第一节点确定为目标节点。
在图5所示的实施例中,当任务部署服务器需要确定目标节点时,任务部署服务器首先根据待使用文件在各个第一节点上的存储量、以及存储量相同的第一节点的负载值,对各个第一节点进行排序,并按照排序后的顺序,在第一节点中选择目标节点,使得任务部署服务器可以快速在多个第一节点中确定得到目标节点,提高任务部署服务器的工作效率。
下面,通过具体示例,对图5所示的实施例进行详细说明。
示例性的,假设任务部署服务器获取得到的第一节点、第一节点上存储的待使用文件的存储量、以及各个第一节点的负载值如表5所示:
表5
第一节点的标识 存储量 负载值(CPU使用率)
节点1 100M 50%
节点2 200M 58%
节点3 150M 52%
节点4 250M 80%
节点5 150M 48%
在任务部署服务器获取得到表5所示的多个第一节点之后,任务部署服务器根据各个节点的存储量,对表5所示的多个第一节点进行排序,得到表6所示的初始第一节点序列:
表6
第一节点的标识 存储量 负载值(CPU使用率)
节点4 250M 80%
节点2 200M 58%
节点3 150M 52%
节点5 150M 48%
节点1 100M 50%
在任务部署服务器获取得到表6所示的初始第一节点序列之后,任务部署服务器判断该5个节点中存在存储量相同的第一节点(节点3和节点5),则任务部署服务器根据节点3和节点5的负载值,对表6中节点3和节点5进行排序,得到表7所示的目标第一节点序列:
表7
第一节点的标识 存储量 负载值(CPU使用率)
节点4 250M 80%
节点2 200M 58%
节点5 150M 48%
节点3 150M 52%
节点1 100M 50%
在任务部署服务器得到表7所示的目标第一节点序列之后,任务部署服务器依次判断各个第一节点的负载值是否小于预设负载阈值,假设预设负载阈值为60%,则任务部署服务器首先判断节点4的负载值(80%)大于预设负载阈值(60%),则任务部署服务器继续判断节点2的负载值(58%)小于大于预设负载阈值(60%),则任务部署服务器将节点2确定为目标节点,为了节省任务部署服务器的资源,在任务部署服务器将节点2确定为目标节点之后,任务部署服务器不再对节点5、节点3、以及节点1的负载值进行判断。
在实际应用过程中,当需要在分布式系统中部署一个任务时,只需通过上述方法将任务中的各个实例部署在分布式系统的节点中即可,当然,在将任务中的实例部署在分布式系统的节点中之后,还需要配置各个实例之间的关联关系,使得各个实例之间可以进行通信,以实现该多个实例共同实现一个任务,需要说明的是,可以通过现有技术中的任意一种方式配置各个实例之间的关联关系,本发明对此不再进行赘述。
下面,以客户端为执行主体,通过图6-图9所示的实施例,对任务部署方法的过程进行详细说明。
图6为本发明提供的任务部署方法的流程示意图二,请参见图6,该方法可以包括:
S601、接收用户输入的任务部署请求消息,任务部署请求消息中包括至少一个待部署实例的标识;
S602、向任务部署服务器发送任务部署请求消息,以使任务部署服务器根据各待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各节点上存储的文件,在分布式系统的多个节点中确定各待部署实例对应的目标节点,并分别将各待部署实例部署在对应的目标节点上。
在图6所示的实施例中,当用户需要对待部署任务进行部署时,可以通过客户端输入任务部署请求消息,并在任务部署请求消息中携带待部署任务中包括的至少一个待部署实例的标识。可选的,可以在客户端的显示界面中显示任务部署界面,以使用户可以通过该任务部署界面输入的任务部署请求消息。
在客户端接收到用户输入的任务部署请求消息之后,客户端向任务部署服务器发送任务部署请求消息,以使任务部署服务器根据各待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各节点上存储的文件,在分布式系统的多个节点中确定各待部署实例对应的目标节点,并分别将各待部署实例部署在对应的目标节点上。
在客户端向任务部署服务器发送任务部署请求消息之后,在任务部署服务器对待部署任务部署完成之后,客户端还可以接收任务部署服务器发送的任务部署结果,任务部署结果中包括各待部署实例对应的目标节点,以使用户可以对任务部署结果进行了解。进一步的,任务部署结果中还包括如下信息中的至少一种:各目标节点的负载值、各目标节点中存储对应的待部署实例的待使用文件量。当然,任务部署结果中还可以包括其他信息,本发明对此不作具体限定。
在上述过程中,通过在客户端向用户展示显示界面,以使用户可以通过可视化的显示界面输入任务部署请求消息,操作简单方便,进而提高用户体验。
在图6所示实施例的基础上,可以通过如下两种可行的实现方式接收用户通过任务部署界面输入的任务部署请求消息,具体的,请参见图7-图8所示的实施例。
图7为本发明提供的获取任务部署请求消息方法的流程示意图一,请参见图7,该方法可以包括:
S701、在显示界面中显示分布式系统中已存在的可用实例的标识;
S702、接收用户在可用实例的标识中选择的至少一个待部署实例的标识;
S703、根据用户选择的待部署实例的标识,生成任务部署请求消息。
在图7所示的实施例中,当用户需要在客户端输入任务部署请求消息时,用户可以通过输入预设操作,以使在客户端的显示界面中显示分布式系统中已存在的可用实例的标识,用户可以在可用实例的标识中选择至少一个待部署实例的标识。可选的,可以在显示界面中显示分布式系统中已存在的可用实例的标识、及各可用实例的标识对应的选中框,以使用户可以对至少一个待部署实例的标识对应的选中框输入的选中操作,进而实现对待部署实例的标识的选中操作。
在客户端接收到用户选择的至少一个待部署实例的标识之后,客户端可以根据用户选择的待部署实例的标识,生成任务部署请求消息。可选的,在用户选择完成至少一个待部署实例的标识之后,可以在客户端输入预设指令,例如对客户端中的预设按钮进行点击操作等,以使客户端在接收到用户输入的预设指令之后,再根据用户选择的待部署实例的标识,生成任务部署请求消息。
在上述过程中,当用户需要输入任务部署请求消息时,用户只需要选择至少一个待部署实例的标识,即可使得客户端根据用户选择的待部署实例的标识,生成任务部署请求消息,用户操作简单方便,进而提高了用户体验。
在图7所示的实施例中,当待部署任务中的待部署实例均在分布式系统中有存储时,用户可以直接在分布式系统中已存在的可用实例的标识中选择的待部署实例的标识。当待部署任务中的待部署实例在未存储在分布式系统中时,用户还可以上传待部署实例,具体的,请参见图8所示的实施例。
图8为本发明提供的获取任务部署请求消息方法的流程示意图二,请参见图8,该方法可以包括:
S801、在显示界面中显示实例上传框;
S802、接收用户通过实例上传框上传的至少一个待部署实例;
S803、获取上传的所述至少一个待部署实例的标识,并生成任务部署请求消息,任务部署请求消息中还包括上传的至少一个待部署实例。
在图8所示的实施例中,当用户需要在客户端输入任务部署请求消息时,且待部署任务中的部分或者全部实例未存储在分布式系统中时,用户可以通过输入预设操作,以使在客户端的显示界面中显示实例上传框,以使用户可以通过实例上传框上传至少一个待部署实例。
在客户端接收到用户通过实例上传框上传的至少一个待部署实例之后,客户端获取上传的所述至少一个待部署实例的标识,并生成任务部署请求消息,此时,任务部署请求消息中还包括上传的至少一个待部署实例。
需要说明的是,在实际应用中,待部署任务中的部分任务可能存储在分布式系统中,部分任务未存储在分布式系统中,此时,客户端可以结合图7-图8实施例所示的方法生成任务部署请求消息,本发明对此过程不再进行赘述。
下面,结合图9所示的客户端界面图,通过具体实例,对图6-图8实施例所示的方法进行详细说明。
图9为本发明提供的客户端界面示意图,请参见图9,包括界面901-界面904,其中,
在界面901中,包括“创建任务”按钮,当用户需要在分布式系统中对待部署任务进行部署时,用户可以通过对“创建任务”按钮进行点击操作,以启动创建待部署任务。在用户对“创建任务”按钮进行点击操作之后,客户端的显示界面切换为界面902。
在界面902中,包括分布式系统中已经存储的可用实例列表,该可用实例列表中包括多个实例、及各实例对应的选中框,用户可以在可用实例列表中选择待部署任务中需要包括的实例;界面902中还包括实例上传框M,当可用实例列表中不包括待部署任务中需要包括的实例时,用户可以通过实例上传框M上传实例。假设待部署任务中需要包括实例2、实例3和实例5,且可用实例列表中包括实例2和实例3,则用户可以对实例2和实例3的选中框进行选中操作,由于可用实例列表中不包括实例5,则用户可以对实例上传框M进行点击操作,以上传实例5,具体的,在选择了需要上传的实例5之后,可以在界面902中生成悬浮窗N,在悬浮窗N中包括“确定”按钮,用户可以对悬浮窗N中的“确定”按钮进行点击操作,以实现上传实例5。在用户选中了实例2、实例3,且上传了实例5之后,客户端的显示界面切换为界面903。
在界面903中,实例2和实例3对应的选中框为选中状态,实例上传框M中包括已上传的实例5。在界面903中还包括“完成”按钮,若用户确定完待部署任务中包括的实例之后,用户可以对“完成”按钮进行点击操作,以使客户端的显示界面切换为界面904。
在界面904中,包括待部署任务中包括的实例:实例2、实例3、及实例5,在用户确定待部署任务中包括实例2、实例3、及实例5之后,可以对“确定”按钮进行点击操作,以使客户端生成任务部署请求消息,该任务部署请求消息中包括实例2的标识、实例3的标识、实例5的标识、以及上传的实例5。
图10为本发明提供的实例部署系统的应用场景示意图,请参照图10,包括实例部署系统1001和分布式系统1002,实例部署系统1001用于将待部署实例部署在分布式系统1002中。实例部署系统11中包括客户端1001-1和实例部署服务器1001-2;分布系统1002中包括多个节点(1002-1至1002-N),每一个节点中可以部署多个实例。
客户端1001-1用于,接收用户输入的实例部署请求消息,并向实例部署服务器1001-2发送实例部署请求消息,实例部署请求消息用于请求实例部署服务器1001-2对待部署实例进行部署。
实例部署服务器1001-2用于,接收客户端1001-1发送的实例部署请求消息,根据待部署实例对应的待使用文件、分布式系统1002中各节点的负载值、及各所述节点上存储的文件,在分布式系统1002的多个节点中确定待部署实例对应的目标节点,并在目标节点中部署所述待部署实例。
下面,以实例部署服务器为执行主体,通过图11所示的实施例,对实例部署方法进行详细说明。
图11为本发明提供的实例部署方法的流程示意图一,请参照图11,该方法可以包括:
S1101、获取实例部署请求消息,实例部署请求消息中包括待部署实例的标识;
S1102、根据待部署实例的标识对应的待使用文件、分布式系统中各节点的负载值、以及分布式系统中各节点上存储的文件,在分布式系统中的多个节点中确定待部署实例对应的目标节点;
S1103、在目标节点中部署所述待部署实例。
在本发明实施例中,部分实例在运行的过程中需要使用文件,部分实例在运行的过程中不需要使用文件,在执行图11所示实施例之前,需要先确定待部署实例需要使用文件,具体的,实例部署服务器可以先获取待部署实例的配置信息,并根据配置信息确定待部署实例需要使用文件;当然,若实例部署服务器确定待部署实例在运行的过程中不需要使用文件,则实例部署服务器可以获取分布式系统中各节点的负载值,将分布式系统中负载值最小的节点确定为待部署实例对应的目标节点,并在目标节点中部署待部署实例。
在实际应用过程中,当用户需要在分布式系统中部署待部署实例时,可以向实例部署服务器发送包括待部署实例的标识的实例部署请求消息,可选的,实例部署服务器可以在接收到包括多个待部署实例的标识任务部署请求消息后,根据该任务部署请求消息,生成多个待部署实例中各待部署实例对应的实例部署请求消息,可选的,可以向用户展示分布式系统的交互界面,以使用户可以通过交互界面向实例部署服务器发送任务部署请求消息。
在实例部署服务器接收到实例部署请求消息之后,根据待部署实例的标识对应的待使用文件、分布式系统中各节点的负载值、以及分布式系统中各节点上存储的文件,在分布式系统中的多个节点中确定待部署实例对应的目标节点。需要说明的是,实例部署服务器确定待部署实例对应的目标节点的过程,与图2所示实施例中任务部署服务器确定待部署任务中任意一个待部署实例对应的目标节点的过程、及可达到的有益效果相同,此处不再进行赘述。
在实例部署服务器确定得到待部署实例对应的目标节点之后,在目标节点中部署所述待部署实例。需要说明的是,实例部署服务器在目标节点中部署待部署实例的过程,与图2所示实施例中任务部署服务器在目标节点中部署待部署实例的过程相同,此处不再进行赘述。
本发明实施例提供的实例部署方法,在实例部署装置获取到包括待部署实例的标识的实例部署请求消息后,实例部署装置根据待部署实例的标识对应的待使用文件、分布式系统中各节点的负载值、以及分布式系统中各节点上存储的文件,在分布式系统中的多个节点中确定待部署实例对应的目标节点,目标节点中包括待使用文件中的部分或全部、或者目标节点的负载值最小,并在目标节点中部署所述待部署实例,在上述过程中,当目标节点中包括待使用文件中的部分或全部时,通过将待部署实例部署在该目标节点上,可以降低待部署实例获取待使用文件的时间,进而提高实例的运行效率,当目标节点为负载值最小的节点时,通过将待部署实例部署在该目标节点上,可以提高在目标节点上运行待部署实例的效率,由此可知,通过将待部署实例部署在通过上述方法确定的目标节点上,可以提高待部署实例的运行效率。
在图11所示实施例的基础上,实例部署服务器确定目标节点的方法,与任务部署装置确定目标节点的方法(图3-图5所示实施例)、及可达到的有益效果相同,此处不再进行赘述。
下面,以实例部署服务器为执行主体,通过图12所示的实施例,对实例部署方法进行详细说明。
图12为本发明提供的实例部署方法的流程示意图二,请参见图12,该方法可以包括:
S1201、接收用户输入的实例部署请求消息,所述实例部署请求消息中包括待部署实例的标识;
S1202、向实例部署服务器发送所述实例部署请求消息,以使所述实例部署服务器根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
在图12所示的实施例中,当用户需要对待部署实例进行部署时,可以通过客户端输入实例部署请求消息,并在实例部署请求消息中携带待部署实例的标识。可选的,可以在客户端的显示界面中显示实例部署界面,以使用户可以通过该实例部署界面输入的实例部署请求消息。
在客户端接收到用户输入的实例部署请求消息之后,客户端向实例部署服务器发送实例部署请求消息,以使所述实例部署服务器根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
在客户端向实例部署服务器发送实例部署请求消息之后,在实例部署服务器对待部署实例部署完成之后,客户端还可以接收实例部署服务器发送的实例部署结果,实例部署结果中包括待部署实例对应的目标节点,以使用户可以对实例部署结果进行了解。进一步的,实例部署结果中还包括如下信息中的至少一种:所述目标节点的负载值、所述目标节点中存储所述待部署实例对应的待使用文件量。。当然,实例部署结果中还可以包括其他信息,本发明对此不作具体限定。
在上述过程中,通过在客户端向用户展示显示界面,以使用户可以通过可视化的显示界面输入实例部署请求消息,操作简单方便,进而提高用户体验。
需要说明的是,客户端接收用户输入的实例部署请求消息的过程,与图7-图8所示实施例中客户端接收用户输入的任务部署请求消息的过程类似,此处不再进行赘述。
图13为本发明提供的一种任务部署装置的结构示意图一,请参见图13,该装置可以包括:
第一获取模块11,用于获取任务部署请求,所述任务部署请求中包括至少一个待部署实例的标识;
第一确定模块12,用于根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点;
部署模块13,用于分别将各所述待部署实例部署在对应的目标节点上。
本发明实施例所示的任务部署装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图14为本发明提供的一种任务部署装置的结构示意图二,在图13所示实施例的基础上,请参见图14,所述第一确定模块12包括第一确定单元121和部署单元122,其中,
所述第一确定单元121用于,确定各所述待部署实例的部署顺序;
所述部署单元122用于,按照所述部署顺序,依次根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点。
在一种可能的实施方式中,所述第一确定单元121具体用于:
将所述任务部署请求中包括的各所述待部署实例的标识的顺序,确定为所述部署顺序;
或者,
获取各所述待部署实例的优先级,根据各所述待部署实例的优先级确定所述待部署实例的部署顺序。
在另一种可能的实施方式中,所述第一确定模块12还包括第二确定单元123和判断单元124,其中,
所述第二确定单元123用于,根据所述待部署实例对应的待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
所述判断单元124用于,根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
所述第二确定单元123还用于,在所述判断单元判断所述至少一个第一节点中存在可用第一节点时,在所述至少一个第一节点中确定所述目标节点;
所述第二确定单元123还用于,在所述判断单元判断所述至少一个第一节点中不存在可用第一节点时,确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
在另一种可能的实施方式中,所述第二确定单元123具体用于:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述第二确定单元123具体用于:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述第二确定单元123具体用于:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述第二确定单元123具体用于:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
在另一种可能的实施方式中,所述第二确定单元123具体用于:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
在另一种可能的实施方式中,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述第二确定单元123具体用于:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
在另一种可能的实施方式中,所述装置还包括第二获取模块14,其中,
所述第二获取模块14用于,在所述判断单元124根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值,并在所述负载记录信息中获取各所述第一节点的负载值。
在另一种可能的实施方式中,所述装置还包括发送模块15,其中,
所述发送模块15用于,在所述部署模块13分别将各所述待部署实例部署在对应的目标节点上之后,向客户端发送任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
在另一种可能的实施方式中,所述装置还包括判断模块16和第三获取模块17,其中,
所述判断模块16用于,在所述部署模块13分别将各所述待部署实例部署在对应的目标节点上之前,判断所述任务部署请求消息中是否包括所述待部署实例;
所述第三获取模块17用于,在所述判断模块16判断所述任务部署请求消息中包括所述待部署实例时,在所述任务部署请求消息中获取所述待部署实例;
所述第三获取模块17还用于,在所述判断模块16判断所述任务部署请求消息中不包括所述待部署实例时,在所述分布式系统中获取所述待部署实例。
在另一种可能的实施方式中,所述部署模块13具体用于:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
在另一种可能的实施方式中,所述节点的负载值为如下参数中的任意一种:所述节点上已部署实例的个数、所述节点的CPU资源利用率、所述节点的内存利用率。
在另一种可能的实施方式中,所述装置还包括第四获取模块18和第二确定模块19,其中,
所述第四获取模块18用于,在所述第一确定模块12在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点之前,获取所述待部署实例的配置信息;
所述第二确定模块19用于,根据所述配置信息,确定所述待部署实例需要使用文件。
在另一种可能的实施方式中,所述装置还包括第五获取模块110,其中,
所述第五获取模块110用于,在确定所述待部署实例不需要使用文件时,获取所述分布式系统中各节点的负载值;
相应的,所述部署模块13用于,将所述分布式系统中负载值最小的节点确定为所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
本发明实施例所示的任务部署装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图15为本发明提供的任务部署服务器的结构示意图一,请参见图15,包括处理器21、存储器22、以及通信总线23,存储器22用于存储程序,通信总线23用于实现元件之间的通信连接,处理器21读取存储器22中的程序,执行如下操作:
获取任务部署请求,所述任务部署请求中包括至少一个待部署实例的标识;
根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点;
分别将各所述待部署实例部署在对应的目标节点上。
本发明实施例所示的任务部署服务器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述处理器21具体用于:
确定各所述待部署实例的部署顺序;
按照所述部署顺序,依次根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述处理器21具体用于:
将所述任务部署请求中包括的各所述待部署实例的标识的顺序,确定为所述部署顺序;
或者,
获取各所述待部署实例的优先级,根据各所述待部署实例的优先级确定所述待部署实例的部署顺序。
在另一种可能的实施方式中,所述处理器21具体用于:
根据所述待部署实例对应的待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
若是,在所述至少一个第一节点中确定所述目标节点;
若否,则确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器21具体用于:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器21具体用于:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器21具体用于:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器21具体用于:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
在另一种可能的实施方式中,所述处理器21具体用于:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
在另一种可能的实施方式中,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述处理器21具体用于:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
在另一种可能的实施方式中,在所述处理器21根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,所述处理器21还用于:
获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值;
在所述负载记录信息中获取各所述第一节点的负载值。
图16为本发明提供的任务部署服务器的结构示意图二,在图15所示实施例的基础上,请参见图16,所述任务部署服务器还包括通信端口24,其中,
在所述处理器21分别将各所述待部署实例部署在对应的目标节点上之后,所述处理器21还用于:
通过所述通信端口24向客户端发送任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
在另一种可能的实施方式中,在所述处理器21分别将各所述待部署实例部署在对应的目标节点上之前,所述处理器21还用于:
判断所述任务部署请求消息中是否包括所述待部署实例;
若是,则在所述任务部署请求消息中获取所述待部署实例;
若否,则在所述分布式系统中获取所述待部署实例。
在另一种可能的实施方式中,所述处理器21具体用于:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
在另一种可能的实施方式中,所述节点的负载值为如下参数中的任意一种:所述节点上已部署实例的个数、所述节点的CPU资源利用率、所述节点的内存利用率。
在另一种可能的实施方式中,在所述处理器21在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点之前,所述处理器21还用于:
获取所述待部署实例的配置信息;
根据所述配置信息,确定所述待部署实例需要使用文件。
在另一种可能的实施方式中,在所述处理器21还用于:
在确定所述待部署实例不需要使用文件时,获取所述分布式系统中各节点的负载值,并将所述分布式系统中负载值最小的节点确定为所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
本发明实施例所示的任务部署服务器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图17为本发明提供的另一种任务部署装置的结构示意图一,请参见图17,该装置可以:
第一接收模块31,用于接收用户输入的任务部署请求消息,所述任务部署请求消息中包括至少一个待部署实例的标识;
发送模块32,用于向任务部署服务器发送所述任务部署请求消息,以使所述任务部署服务器根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,并分别将各所述待部署实例部署在对应的目标节点上。
本发明实施例所示的任务部署装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图18为本发明提供的另一种任务部署装置的结构示意图二,在图17所示实施例的基础上,请参见图18,所述装置还包括显示模块33,其中,
所述显示模块33用于,在所述客户端的显示界面中显示任务部署界面;
相应的,所述第一接收模块31具体用于,接收所述用户通过所述任务部署界面输入的所述任务部署请求消息。
在一种可能的实施方式中,所述装置还包括生成模块34,其中,
所述显示模块33具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识;
相应的,所述第一接收模块31具体用于,接收所述用户在所述可用实例的标识中选择的至少一个待部署实例的标识;
所述生成模块34用于,根据所述用户选择的待部署实例的标识,生成所述任务部署请求消息。
在另一种可能的实施方式中,所述显示模块33具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述第一接收模块31具体用于,接收用户对至少一个待部署实例的标识对应的选中框输入的选中操作。
在另一种可能的实施方式中,所述显示模块33还用于,在所述显示界面中显示实例上传框;
所述第一接收模块31还用于,接收所述用户通过所述实例上传框上传的至少一个待部署实例;
所述生成模块34还用于,获取所述上传的所述至少一个待部署实例的标识,并生成所述任务部署请求消息,所述任务部署请求消息中还包括所述上传的至少一个待部署实例。
在另一种可能的实施方式中,所述装置还包括第二接收模块35,其中,
所述第二接收模块35用于,在所述发送模块32向任务部署服务器发送所述任务部署请求消息之后,接收任务部署服务器发送的任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
本发明实施例所示的任务部署装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图19为本发明提供的一种客户端的结构示意图一,请参见图19,该客户端包括处理器41、输入设备42、通信端口43、存储器44、以及通信总线45,存储器44用于存储程序,通信总线45用于实现元件之间的通信连接,处理器41读取存储器44中的程序,执行如下操作:
通过所述输入设备42接收用户输入的任务部署请求消息,所述任务部署请求消息中包括至少一个待部署实例的标识;
通过所述通信端口43向任务部署服务器发送所述任务部署请求消息,以使所述任务部署服务器根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,并分别将各所述待部署实例部署在对应的目标节点上。
本发明实施例所示的客户端可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图20为本发明提供的一种客户端的结构示意图二,在图19所示实施例的基础上,请参见图20,所述客户端还包括显示设备46,其中,
所述显示设备46用于,在所述客户端的显示界面中显示任务部署界面;
相应的,所述处理器41具体用于,通过所述输入设备42接收所述用户通过所述任务部署界面输入的所述任务部署请求消息。
在一种可能的实施方式中,所述显示设备46具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识;
相应的,所述处理器41具体用于,通过所述输入设备42接收所述用户在所述可用实例的标识中选择的至少一个待部署实例的标识,并根据所述用户选择的待部署实例的标识,生成所述任务部署请求消息。
在另一种可能的实施方式中,所述显示设备46具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述处理器41具体用于,通过所述输入设备42接收用户对至少一个待部署实例的标识对应的选中框输入的选中操作。
在另一种可能的实施方式中,所述显示设备46还用于,在所述显示界面中显示实例上传框;
所述处理器41还用于,通过所述输入设备42接收所述用户通过所述实例上传框上传的至少一个待部署实例,获取所述上传的所述至少一个待部署实例的标识,并生成所述任务部署请求消息,所述任务部署请求消息中还包括所述上传的至少一个待部署实例。
在另一种可能的实施方式中,在所述处理器41通过所述通信端口43向任务部署服务器发送所述任务部署请求消息之后,所述处理器41还用于,通过所述通信端口接收任务部署服务器发送的任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
在另一种可能的实施方式中,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
本发明实施例所示的客户端可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图21为本发明提供的一种实例部署装置的结构示意一,请参见图21,该装置可以包括:
第一获取模块51,用于获取实例部署请求消息,所述实例部署请求消息用于请求对待部署实例进行部署;
第一确定模块52,用于根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点;
部署模块53,用于在所述目标节点中部署所述待部署实例。
本发明实施例所示的实例部署装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图22为本发明提供的一种实例部署装置的结构示意二,在图21所示实施例的基础上,请参见图22,所述第一确定模块52包括确定单元521和判断单元522,其中,
所述确定单元521用于,根据所述待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
所述判断单元522用于,根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
所述确定单元521还用于,在所述判断单元522判断所述至少一个第一节点中存在可用第一节点时,在所述至少一个第一节点中确定所述目标节点;
所述确定单元521还用于,在所述判断单元522判断所述至少一个第一节点中不存在可用第一节点时,确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
在一种可能的实施方式中,所述确定单元521具体用于:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述确定单元521具体用于:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述确定单元521具体用于:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述确定单元521具体用于:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
在另一种可能的实施方式中,所述确定单元521具体用于:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
在另一种可能的实施方式中,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述确定单元521具体用于:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
在另一种可能的实施方式中,所述装置还包括第二获取模块54,其中,
所述第二获取模块54用于,在所述判断单元522根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值,并在所述负载记录信息中获取各所述第一节点的负载值。
在另一种可能的实施方式中,所述装置还包括判断模块55和第三获取模块56,其中,
所述判断模块55用于,在所述部署模块在所述目标节点中部署所述待部署实例之前,判断所述实例部署请求消息中是否包括所述待部署实例;
所述第三获取模块56用于,在所述判断模块55判断所述实例部署请求消息中包括所述待部署实例时,在所述实例部署请求消息中获取所述待部署实例;
所述第三获取模块56还用于,在所述判断模块判断所述实例部署请求消息中不包括所述待部署实例时,在所述分布式系统中获取所述待部署实例。
在另一种可能的实施方式中,所述部署模块53具体用于:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
在另一种可能的实施方式中,所述第一获取模块51具体用于:
接收任务部署请求消息,所述任务部署请求消息中包括多个待部署实例的标识;
根据所述任务部署请求消息,生成所述多个待部署实例中各所述待部署实例对应的实例部署请求消息。
在另一种可能的实施方式中,所述装置还包括发送模块57,其中,
所述发送模块57用于,在所述部署模块53在所述目标节点中部署所述待部署实例之后,向客户端发送实例部署结果,所述实例部署结果中包括用于部署所述待部署实例的目标节点。
在另一种可能的实施方式中,所述实例部署结果中还包括如下信息中的至少一种:所述目标节点的负载值、所述目标节点中存储所述待部署实例对应的待使用文件量。
在另一种可能的实施方式中,所述节点的负载值为如下参数中的任意一种:所述节点上已部署实例的个数、所述节点的CPU资源利用率、所述节点的内存利用率。
在另一种可能的实施方式中,所述装置还包括第四获取模块58和第二确定模块59,其中,
所述第四获取模块58用于,在所述第一确定模块在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点之前,获取所述待部署实例的配置信息;
所述第二确定模块59用于,根据所述配置信息,确定所述待部署实例需要使用文件。
在另一种可能的实施方式中,所述装置还包括第五获取模块510,其中,
所述第五获取模块510用于,在确定所述待部署实例不需要使用文件时,获取所述分布式系统中各节点的负载值;
相应的,所述部署模块53用于,将所述分布式系统中负载值最小的节点确定为所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
本发明实施例所示的实例部署装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图23为本发明提供的实例部署服务器的结构示意图一,请参见图23,该实例部署服务器可以包括处理器61、存储器62、以及通信总线63,存储器62用于存储程序,通信总线63用于实现元件之间的通信连接,处理器61读取存储器62中的程序,执行如下操作:
获取实例部署请求消息,所述实例部署请求消息用于请求对待部署实例进行部署;
根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点;
在所述目标节点中部署所述待部署实例。
本发明实施例所示的实例部署服务器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述处理器61具体用于:
根据所述待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
若是,在所述至少一个第一节点中确定所述目标节点;
若否,则确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器61具体用于:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器61具体用于:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器61具体用于:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
在另一种可能的实施方式中,所述处理器61具体用于:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
在另一种可能的实施方式中,所述处理器61具体用于:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
在另一种可能的实施方式中,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述处理器61具体用于:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
在另一种可能的实施方式中,在所述处理器61根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,所述处理器61还用于:
获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值;
在所述负载记录信息中获取各所述第一节点的负载值。
在另一种可能的实施方式中,在所述处理器61在所述目标节点中部署所述待部署实例之前,所述处理器61还用于:
判断所述实例部署请求消息中是否包括所述待部署实例;
若是,则在所述实例部署请求消息中获取所述待部署实例;
若否,则在所述分布式系统中获取所述待部署实例。
在另一种可能的实施方式中,所述处理器61具体用于:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
在另一种可能的实施方式中,所述处理器61具体用于:
接收任务部署请求消息,所述任务部署请求消息中包括多个待部署实例的标识;
根据所述任务部署请求消息,生成所述多个待部署实例中各所述待部署实例对应的实例部署请求消息。
图24为本发明提供的实例部署服务器的结构示意图二,在图23所示实施例的基础上,请参见图24,所述实例部署服务器还包括通信端口64,其中,
在所述处理器61在所述目标节点中部署所述待部署实例之后,所述处理器61还用于,通过所述通信端口64向客户端发送实例部署结果,所述实例部署结果中包括用于部署所述待部署实例的目标节点。
在另一种可能的实施方式中,所述实例部署结果中还包括如下信息中的至少一种:所述目标节点的负载值、所述目标节点中存储所述待部署实例对应的待使用文件量。
在另一种可能的实施方式中,所述节点的负载值为如下参数中的任意一种:所述节点上已部署实例的个数、所述节点的CPU资源利用率、所述节点的内存利用率。
在另一种可能的实施方式中,在所述处理器61在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点之前,所述处理器61还用于:
获取所述待部署实例的配置信息;
根据所述配置信息,确定所述待部署实例需要使用文件。
在另一种可能的实施方式中,所述处理器61还用于:
在确定所述待部署实例不需要使用文件时,获取所述分布式系统中各节点的负载值;
将所述分布式系统中负载值最小的节点确定为所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
本发明实施例所示的实例部署服务器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图25为本发明实施例提供的另一种实例部署装置的结构示意图一,请参见图25,该装置可以包括:
第一接收模块71,用于接收用户输入的实例部署请求消息,所述实例部署请求消息中包括待部署实例的标识;
发送模块72,用于向实例部署服务器发送所述实例部署请求消息,以使所述实例部署服务器根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
本发明实施例所示的实例部署装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图26为本发明实施例提供的另一种实例部署装置的结构示意图二,在图25所示实施例的基础上,请参见图26,所述装置还包括显示模块73,其中,
所述显示模块73用于,在所述客户端的显示界面中显示实例部署界面;
相应的,所述第一接收模块71具体用于,接收所述用户通过所述实例部署界面输入的实例部署请求消息。
在一种可能的实施方式中,所述装置还包括生成模块74,其中,
所述显示模块73具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识;
相应的,所述第一接收模块71具体用于,接收所述用户在所述可用实例的标识中选择的待部署实例的标识;
所述生成模块74用于,根据所述用户选择的待部署实例的标识,生成所述实例部署请求消息。
在另一种可能的实施方式中,所述显示模块73具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述第一接收模块71具体用于,接收用户对所述待部署实例的标识对应的选中框输入的选中操作。
在另一种可能的实施方式中,所述显示模块73还用于,在所述显示界面中显示实例上传框;
所述第一接收模块71还用于,接收所述用户通过所述实例上传框上传的所述待部署实例;
所述生成模块74还用于,获取所述上传的所述待部署实例的标识,并生成所述实例部署请求消息,所述实例部署请求消息中还包括所述待部署实例。
在另一种可能的实施方式中,所述装置还包括第二接收模块75,其中,
所述第二接收模块75用于,在所述发送模块72向实例部署服务器发送所述实例部署请求消息之后,接收实例部署服务器发送的实例部署结果,所述实例部署结果中包括用于部署所述待部署实例的目标节点。
在另一种可能的实施方式中,所述实例部署结果中还包括如下信息中的至少一种:所述目标节点的负载值、所述目标节点中存储所述待部署实例对应的待使用文件量。
本发明实施例所示的实例部署装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图27为本发明提供的另一种客户端的结构示意图,请参见图27,该客户端包括处理器81、输入设备82、通信端口83、存储器84、以及通信总线85,存储器84用于存储程序,通信总线85用于实现元件之间的通信连接,处理器81读取存储器84中的程序,执行如下操作:
通过所述输入设备82接收用户输入的实例部署请求消息,所述实例部署请求消息中包括待部署实例的标识;
通过所述通信端口83向实例部署服务器发送所述实例部署请求消息,以使所述实例部署服务器根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
本发明实施例所示的客户端可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图28为本发明提供的另一种客户端的结构示意图二,在图27所示实施例的基础上,请参见图28,所述客户端还包括显示设备86,其中,
所述显示设备86用于,在所述客户端的显示界面中显示实例部署界面;
相应的,所述处理器81具体用于,通过所述输入设备82接收所述用户通过所述实例部署界面输入的实例部署请求消息。
在一种可能的实施方式中,所述显示设备86具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识;
相应的,所述处理器81具体用于,通过所述输入设备82接收所述用户在所述可用实例的标识中选择的待部署实例的标识,根据所述用户选择的待部署实例的标识,生成所述实例部署请求消息。
在另一种可能的实施方式中,所述显示设备86具体用于,在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述处理器81具体用于,通过所述输入设备82接收用户对所述待部署实例的标识对应的选中框输入的选中操作。
在另一种可能的实施方式中,所述接收用户输入的实例部署请求消息,包括:
所述显示设备86还用于,在所述显示界面中显示实例上传框;
所述处理器81还用于,通过所述输入设备82接收所述用户通过所述实例上传框上传的所述待部署实例,获取所述上传的所述待部署实例的标识,并生成所述实例部署请求消息,所述实例部署请求消息中还包括所述待部署实例。
在另一种可能的实施方式中,在所述处理器81通过所述通信端口83向实例部署服务器发送所述实例部署请求消息之后,所述处理器81还用于,接收实例部署服务器发送的实例部署结果,所述实例部署结果中包括用于部署所述待部署实例的目标节点。
在另一种可能的实施方式中,所述实例部署结果中还包括如下信息中的至少一种:所述目标节点的负载值、所述目标节点中存储所述待部署实例对应的待使用文件量。
本发明实施例所示的客户端可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (53)

1.一种任务部署系统,其特征在于,包括客户端和任务部署服务器,其中,
所述客户端用于,接收用户输入的任务部署请求消息,并向所述任务部署服务器发送所述任务部署请求消息,所述任务部署请求消息中包括至少一个待部署实例的标识;
所述任务部署服务器用于,接收所述客户端发送的任务部署请求消息,根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,并分别将各所述待部署实例部署在对应的目标节点上。
2.一种任务部署方法,其特征在于,应用于任务部署服务器,所述方法包括:
获取任务部署请求,所述任务部署请求中包括至少一个待部署实例的标识;
根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点;
分别将各所述待部署实例部署在对应的目标节点上。
3.根据权利要求2所述的方法,其特征在于,根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,包括:
确定各所述待部署实例的部署顺序;
按照所述部署顺序,依次根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点。
4.根据权利要求3所述的方法,其特征在于,所述确定各所述待部署实例的部署顺序,包括:
将所述任务部署请求中包括的各所述待部署实例的标识的顺序,确定为所述部署顺序;
或者,
获取各所述待部署实例的优先级,根据各所述待部署实例的优先级确定所述待部署实例的部署顺序。
5.根据权利要求2-4任一项所述的方法,其特征在于,针对所述至少一个待部署实例中的任意一个待部署实例,所述根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,包括:
根据所述待部署实例对应的待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
若是,在所述至少一个第一节点中确定所述目标节点;
若否,则确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
6.根据权利要求5所述的方法,其特征在于,所述在所述至少一个第一节点中确定目标节点,包括:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
7.根据权利要求6所述的方法,其特征在于,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点,包括:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
8.根据权利要求5所述的方法,其特征在于,在所述至少一个第一节点中确定所述目标节点,包括:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
9.根据权利要求8所述的方法,其特征在于,按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比,包括:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
10.根据权利要求6或8所述的方法,其特征在于,所述根据所述待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,包括:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
11.根据权利要求10所述的方法,其特征在于,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述获取所述待使用文件在各所述可用第一节点上的存储量,包括:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
12.根据权利要求5所述的方法,其特征在于,所述根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,包括:
获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值;
在所述负载记录信息中获取各所述第一节点的负载值。
13.根据权利要求2-4任一项所述的方法,其特征在于,在分别将各所述待部署实例部署在对应的目标节点上之后,还包括:
向客户端发送任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
14.根据权利要求13所述的方法,其特征在于,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
15.根据权利要求2-4任一项所述的方法,其特征在于,所述分别将各所述待部署实例部署在对应的目标节点上之前,还包括:
判断所述任务部署请求消息中是否包括所述待部署实例;
若是,则在所述任务部署请求消息中获取所述待部署实例;
若否,则在所述分布式系统中获取所述待部署实例。
16.根据权利要求2-4任一项所述的方法,其特征在于,针对所述至少一个待部署实例中的任意一个待部署实例,所述分别将各所述待部署实例部署在对应的目标节点上,包括:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
17.根据权利要求2-4任一项所述的方法,其特征在于,所述节点的负载值为如下参数中的任意一种:所述节点上已部署实例的个数、所述节点的CPU资源利用率、所述节点的内存利用率。
18.根据权利要求2-4任一项所述的方法,其特征在于,针对所述至少一个待部署实例中的任意一个待部署实例,在根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点之前,还包括:
获取所述待部署实例的配置信息;
根据所述配置信息,确定所述待部署实例需要使用文件。
19.根据权利要求18所述的方法,其特征在于,若确定所述待部署实例不需要使用文件,所述方法还包括:
获取所述分布式系统中各节点的负载值;
将所述分布式系统中负载值最小的节点确定为所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
20.一种任务部署装置,其特征在于,应用于任务部署服务器,所述装置包括:
第一获取模块,用于获取任务部署请求,所述任务部署请求中包括至少一个待部署实例的标识;
第一确定模块,用于根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点;
部署模块,用于分别将各所述待部署实例部署在对应的目标节点上。
21.一种任务部署服务器,其特征在于,包括处理器和用于存储程序的存储器,所述处理器读取所述存储器中的程序,执行如下操作:
获取任务部署请求,所述任务部署请求中包括至少一个待部署实例的标识;
根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点;
分别将各所述待部署实例部署在对应的目标节点上。
22.一种任务部署方法,其特征在于,应用于客户端,所述方法包括:
接收用户输入的任务部署请求消息,所述任务部署请求消息中包括至少一个待部署实例的标识;
向任务部署服务器发送所述任务部署请求消息,以使所述任务部署服务器根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,并分别将各所述待部署实例部署在对应的目标节点上。
23.根据权利要求22所述的方法,其特征在于,所述接收用户输入的任务部署请求消息,包括:
在所述客户端的显示界面中显示任务部署界面;
接收所述用户通过所述任务部署界面输入的所述任务部署请求消息。
24.根据权利要求23所述的方法,其特征在于,所述接收所述用户通过所述任务部署界面输入的所述任务部署请求消息,包括:
在所述显示界面中显示分布式系统中已存在的可用实例的标识;
接收所述用户在所述可用实例的标识中选择的至少一个待部署实例的标识;
根据所述用户选择的待部署实例的标识,生成所述任务部署请求消息。
25.根据权利要求24所述的方法,其特征在于,所述在所述显示界面中显示分布式系统中已存在的可用实例的标识,包括:
在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述接收所述用户在所述可用实例的标识中选择的至少一个待部署实例的标识,包括:
接收用户对至少一个待部署实例的标识对应的选中框输入的选中操作。
26.根据权利要求23所述的方法,其特征在于,所述接收用户输入的任务部署请求消息,包括:
在所述显示界面中显示实例上传框;
接收所述用户通过所述实例上传框上传的至少一个待部署实例;
获取所述上传的所述至少一个待部署实例的标识,并生成所述任务部署请求消息,所述任务部署请求消息中还包括所述上传的至少一个待部署实例。
27.根据权利要求22-26任一项所述的方法,其特征在于,在向任务部署服务器发送所述任务部署请求消息之后,还包括:
接收任务部署服务器发送的任务部署结果,所述任务部署结果中包括各所述待部署实例对应的目标节点。
28.根据权利要求27所述的方法,其特征在于,所述任务部署结果中还包括如下信息中的至少一种:所述各所述目标节点的负载值、各所述目标节点中存储对应的待部署实例的待使用文件量。
29.一种任务部署装置,其特征在于,应用于客户端,所述装置包括:
第一接收模块,用于接收用户输入的任务部署请求消息,所述任务部署请求消息中包括至少一个待部署实例的标识;
发送模块,用于向任务部署服务器发送所述任务部署请求消息,以使所述任务部署服务器根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,并分别将各所述待部署实例部署在对应的目标节点上。
30.一种客户端,其特征在于,包括处理器、输入设备、通信端口和用于存储程序的存储器,所述处理器读取所述存储器中的程序,执行如下操作:
通过所述输入设备接收用户输入的任务部署请求消息,所述任务部署请求消息中包括至少一个待部署实例的标识;
通过所述通信端口向任务部署服务器发送所述任务部署请求消息,以使所述任务部署服务器根据各所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定各所述待部署实例对应的目标节点,并分别将各所述待部署实例部署在对应的目标节点上。
31.一种实例部署系统,其特征在于,包括客户端和实例部署服务器,其中,
所述客户端用于,接收用户输入的实例部署请求消息,并向所述实例部署服务器发送所述实例部署请求消息,所述实例部署请求消息用于请求所述实例部署服务器对待部署实例进行部署;
所述实例部署服务器用于,接收所述客户端发送的所述实例部署请求消息,根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
32.一种实例部署方法,其特征在于,应用于实例部署服务器,所述方法包括:
获取实例部署请求消息,所述实例部署请求消息用于请求对待部署实例进行部署;
根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点;
在所述目标节点中部署所述待部署实例。
33.根据权利要求32所述的方法,其特征在于,根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,包括:
根据所述待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,所述第一节点上存储的文件中包括所述待使用文件的部分或全部;
根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点,所述可用第一节点的负载值小于所述预设负载阈值;
若是,在所述至少一个第一节点中确定所述目标节点;
若否,则确定负载值最小的第二节点,并将所述第二节点确定为所述目标节点。
34.根据权利要求33所述的方法,其特征在于,所述在所述至少一个第一节点中确定目标节点,包括:
根据各所述第一节点的负载值和所述预设负载阈值,在所述至少一个第一节点中确定所述可用第一节点;
判断所述可用第一节点的个数是否大于1;
若是,获取所述待使用文件在各所述可用第一节点上的存储量,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点;
若否,则将所述可用第一节点确定为所述目标节点。
35.根据权利要求34所述的方法,其特征在于,根据所述待使用文件在各所述可用第一节点上的存储量,在所述可用第一节点中确定所述目标节点,包括:
根据所述待使用文件在各所述第一节点上的存储量,在所述可用第一节点中获取存储量最高的可用第一节点;
判断所述存储量最高的可用第一节点的个数是否大于1;
若是,将所述存储量最高的可用第一节点中、负载值最小的可用节点确定为所述目标节点;
若否,将所述存储量最高的可用第一节点确定为所述目标节点。
36.根据权利要求33所述的方法,其特征在于,在所述至少一个第一节点中确定所述目标节点,包括:
获取所述待使用文件在各所述第一节点上的存储量;
按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比;
将所述至少一个第一节点中第一个满足负载值小于所述预设负载阈值的第一节点确定为所述目标节点。
37.根据权利要求36所述的方法,其特征在于,按照存储量从大到小的顺序,将各所述第一节点的负载值与所述预设负载阈值进行对比,包括:
按照存储量从大到小的顺序,对各所述第一节点进行排序,得到初始第一节点序列;
若所述初始第一节点序列中包括存储量相同的第一节点,则获取存储量相同的第一节点的负载值,并按照负载值从小到大的顺序,对存储量相同的第一节点进行排序,得到目标第一节点序列;
根据所述目标第一节点序列,将各所述第一节点的负载值与所述预设负载阈值进行对比。
38.根据权利要求34或36所述的方法,其特征在于,所述根据所述待使用文件、各所述节点上存储的文件,在所述多个节点中确定至少一个第一节点,包括:
获取文件分布信息,所述文件分布信息中包括所述分布式系统中各节点上存储的文件类型;
在所述文件分布信息中获取各所述节点上存储的文件类型。
将存储的文件类型包括所述待使用文件的文件类型的节点确定为所述第一节点。
39.根据权利要求38所述的方法,其特征在于,所述文件分布信息中还包括所述分布式系统中各节点上存储的、各文件类型对应的文件存储量;相应的,所述获取所述待使用文件在各所述可用第一节点上的存储量,包括:
在所述文件分布信息中,获取所述待使用文件在各所述可用第一节点上的存储量。
40.根据权利要求33-37任一项所述的方法,其特征在于,所述根据各所述第一节点的负载值和预设负载阈值,判断所述至少一个第一节点中是否存在可用第一节点之前,包括:
获取负载记录信息,所述负载记录信息中包括所述分布式系统中各节点在当前时刻的负载值;
在所述负载记录信息中获取各所述第一节点的负载值。
41.根据权利要求32-37任一项所述的方法,其特征在于,在所述目标节点中部署所述待部署实例之前,还包括:
判断所述实例部署请求消息中是否包括所述待部署实例;
若是,则在所述实例部署请求消息中获取所述待部署实例;
若否,则在所述分布式系统中获取所述待部署实例。
42.根据权利要求32-37任一项所述的方法,其特征在于,在所述目标节点中部署所述待部署实例,包括:
在所述目标节点中创建待部署实例对应的进程,并在所述进程中运行待部署实例;
或者,
获取待部署节点对应的应用程序,并在所述目标节点中安装所述应用程序。
43.一种实例部署装置,其特征在于,应用于实例部署服务器,所述装置包括:
第一获取模块,用于获取实例部署请求消息,所述实例部署请求消息用于请求对待部署实例进行部署;
第一确定模块,用于根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点;
部署模块,用于在所述目标节点中部署所述待部署实例。
44.一种实例部署服务器,其特征在于,包括处理器和用于存储程序的存储器,所述处理器读取所述存储器中的程序,执行如下操作:
获取实例部署请求消息,所述实例部署请求消息用于请求对待部署实例进行部署;
根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点;
在所述目标节点中部署所述待部署实例。
45.一种实例部署方法,其特征在于,应用于客户端,所述方法包括:
接收用户输入的实例部署请求消息,所述实例部署请求消息中包括待部署实例的标识;
向实例部署服务器发送所述实例部署请求消息,以使所述实例部署服务器根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
46.根据权利要求45所述的方法,其特征在于,所述接收用户输入的实例部署请求消息,包括:
在所述客户端的显示界面中显示实例部署界面;
接收所述用户通过所述实例部署界面输入的实例部署请求消息。
47.根据权利要求46所述的方法,其特征在于,所述接收所述用户通过所述实例部署界面输入的实例部署请求消息,包括:
在所述显示界面中显示分布式系统中已存在的可用实例的标识;
接收所述用户在所述可用实例的标识中选择的待部署实例的标识;
根据所述用户选择的待部署实例的标识,生成所述实例部署请求消息。
48.根据权利要求47所述的方法,其特征在于,所述在所述显示界面中显示分布式系统中已存在的可用实例的标识,包括:
在所述显示界面中显示分布式系统中已存在的可用实例的标识、及各所述可用实例的标识对应的选中框;
相应的,所述接收所述用户在所述可用实例的标识中选择的待部署实例的标识,包括:
接收用户对所述待部署实例的标识对应的选中框输入的选中操作。
49.根据权利要求46所述的方法,其特征在于,所述接收用户输入的实例部署请求消息,包括:
在所述显示界面中显示实例上传框;
接收所述用户通过所述实例上传框上传的所述待部署实例;
获取所述上传的所述待部署实例的标识,并生成所述实例部署请求消息,所述实例部署请求消息中还包括所述待部署实例。
50.根据权利要求45-49任一项所述的方法,其特征在于,在向实例部署服务器发送所述实例部署请求消息之后,还包括:
接收实例部署服务器发送的实例部署结果,所述实例部署结果中包括用于部署所述待部署实例的目标节点。
51.根据权利要求50所述的方法,其特征在于,所述实例部署结果中还包括如下信息中的至少一种:所述目标节点的负载值、所述目标节点中存储所述待部署实例对应的待使用文件量。
52.一种实例部署装置,其特征在于,应用于客户端,所述装置包括:
第一接收模块,用于接收用户输入的实例部署请求消息,所述实例部署请求消息中包括待部署实例的标识;
发送模块,用于向实例部署服务器发送所述实例部署请求消息,以使所述实例部署服务器根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
53.一种客户端,其特征在于,包括处理器、输入设备、通信端口和用于存储程序的存储器,所述处理器读取所述存储器中的程序,执行如下操作:
通过所述输入设备接收用户输入的实例部署请求消息,所述实例部署请求消息中包括待部署实例的标识;
通过所述通信端口向实例部署服务器发送所述实例部署请求消息,以使所述实例部署服务器根据所述待部署实例对应的待使用文件、分布式系统中各节点的负载值、及各所述节点上存储的文件,在所述分布式系统的多个节点中确定所述待部署实例对应的目标节点,并在所述目标节点中部署所述待部署实例。
CN201610728638.6A 2016-08-25 2016-08-25 任务部署方法、实例部署方法、装置及设备 Pending CN107786593A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610728638.6A CN107786593A (zh) 2016-08-25 2016-08-25 任务部署方法、实例部署方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610728638.6A CN107786593A (zh) 2016-08-25 2016-08-25 任务部署方法、实例部署方法、装置及设备

Publications (1)

Publication Number Publication Date
CN107786593A true CN107786593A (zh) 2018-03-09

Family

ID=61438855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610728638.6A Pending CN107786593A (zh) 2016-08-25 2016-08-25 任务部署方法、实例部署方法、装置及设备

Country Status (1)

Country Link
CN (1) CN107786593A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920277A (zh) * 2018-06-27 2018-11-30 阿里巴巴集团控股有限公司 业务执行系统、方法及装置、业务隔离系统
CN109120678A (zh) * 2018-07-26 2019-01-01 北京百度网讯科技有限公司 用于分布式存储系统的服务托管的方法和装置
CN109491797A (zh) * 2018-11-26 2019-03-19 深圳市斯博科技有限公司 数据存储方法、系统及计算机可读存储介质
CN109710391A (zh) * 2018-12-20 2019-05-03 西安四叶草信息技术有限公司 任务调度方法及设备
CN110058930A (zh) * 2019-04-18 2019-07-26 中国联合网络通信集团有限公司 任务调度方法及设备
CN110334248A (zh) * 2019-06-26 2019-10-15 京东数字科技控股有限公司 一种系统配置信息处理方法和装置
CN110347648A (zh) * 2019-07-18 2019-10-18 深圳市网心科技有限公司 文件部署方法及装置、计算机装置及存储介质
CN112799681A (zh) * 2021-02-02 2021-05-14 无锡车联天下信息技术有限公司 一种任务部署方法、系统、电子设备及存储介质
CN113037524A (zh) * 2019-12-24 2021-06-25 阿里巴巴集团控股有限公司 服务实例的部署方法、装置及一致性服务系统
WO2022002042A1 (zh) * 2020-06-30 2022-01-06 中兴通讯股份有限公司 接入请求的分发方法、服务器、计算机可读存储介质及集群系统
CN114995900A (zh) * 2022-05-23 2022-09-02 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质
WO2022193897A1 (zh) * 2021-03-18 2022-09-22 华为技术有限公司 一种业务的部署方法、装置及系统
CN115118585A (zh) * 2021-03-18 2022-09-27 华为技术有限公司 一种业务的部署方法、装置及系统
WO2024103891A1 (zh) * 2022-11-15 2024-05-23 华为技术有限公司 一种数据处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834906A (zh) * 2009-12-31 2010-09-15 中国科学院声学研究所 一种分布式任务处理和协作的多尺度服务单元选择方法
CN102546782A (zh) * 2011-12-28 2012-07-04 北京奇虎科技有限公司 一种分布式系统及其数据操作方法
CN103729250A (zh) * 2012-10-11 2014-04-16 国际商业机器公司 用于选择被配置为满足一组要求的数据节点的方法和系统
CN104715044A (zh) * 2011-12-28 2015-06-17 北京奇虎科技有限公司 一种分布式系统及其数据操作方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834906A (zh) * 2009-12-31 2010-09-15 中国科学院声学研究所 一种分布式任务处理和协作的多尺度服务单元选择方法
CN102546782A (zh) * 2011-12-28 2012-07-04 北京奇虎科技有限公司 一种分布式系统及其数据操作方法
CN104715044A (zh) * 2011-12-28 2015-06-17 北京奇虎科技有限公司 一种分布式系统及其数据操作方法
CN103729250A (zh) * 2012-10-11 2014-04-16 国际商业机器公司 用于选择被配置为满足一组要求的数据节点的方法和系统

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920277B (zh) * 2018-06-27 2021-12-07 创新先进技术有限公司 业务执行系统、方法及装置、业务隔离系统
CN108920277A (zh) * 2018-06-27 2018-11-30 阿里巴巴集团控股有限公司 业务执行系统、方法及装置、业务隔离系统
CN109120678A (zh) * 2018-07-26 2019-01-01 北京百度网讯科技有限公司 用于分布式存储系统的服务托管的方法和装置
CN109120678B (zh) * 2018-07-26 2021-05-14 北京百度网讯科技有限公司 用于分布式存储系统的服务托管的方法和装置
US11057469B2 (en) 2018-07-26 2021-07-06 Beijing Baidu Netcom Science And Technology Co, Ltd. Method and apparatus for service hosting of distributed storage system
CN109491797A (zh) * 2018-11-26 2019-03-19 深圳市斯博科技有限公司 数据存储方法、系统及计算机可读存储介质
CN109710391A (zh) * 2018-12-20 2019-05-03 西安四叶草信息技术有限公司 任务调度方法及设备
CN110058930A (zh) * 2019-04-18 2019-07-26 中国联合网络通信集团有限公司 任务调度方法及设备
CN110334248A (zh) * 2019-06-26 2019-10-15 京东数字科技控股有限公司 一种系统配置信息处理方法和装置
CN110334248B (zh) * 2019-06-26 2020-09-01 京东数字科技控股有限公司 一种系统配置信息处理方法和装置
CN110347648A (zh) * 2019-07-18 2019-10-18 深圳市网心科技有限公司 文件部署方法及装置、计算机装置及存储介质
CN110347648B (zh) * 2019-07-18 2022-04-01 深圳市网心科技有限公司 文件部署方法及装置、计算机装置及存储介质
CN113037524A (zh) * 2019-12-24 2021-06-25 阿里巴巴集团控股有限公司 服务实例的部署方法、装置及一致性服务系统
CN113037524B (zh) * 2019-12-24 2023-10-24 阿里巴巴集团控股有限公司 服务实例的部署方法、装置及一致性服务系统
WO2022002042A1 (zh) * 2020-06-30 2022-01-06 中兴通讯股份有限公司 接入请求的分发方法、服务器、计算机可读存储介质及集群系统
CN112799681A (zh) * 2021-02-02 2021-05-14 无锡车联天下信息技术有限公司 一种任务部署方法、系统、电子设备及存储介质
WO2022193897A1 (zh) * 2021-03-18 2022-09-22 华为技术有限公司 一种业务的部署方法、装置及系统
CN115118585A (zh) * 2021-03-18 2022-09-27 华为技术有限公司 一种业务的部署方法、装置及系统
CN114995900A (zh) * 2022-05-23 2022-09-02 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质
CN114995900B (zh) * 2022-05-23 2024-05-14 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质
WO2024103891A1 (zh) * 2022-11-15 2024-05-23 华为技术有限公司 一种数据处理方法及装置

Similar Documents

Publication Publication Date Title
CN107786593A (zh) 任务部署方法、实例部署方法、装置及设备
US10198297B1 (en) Provisioning virtual resource on a server based on label associated with virtual resource and servers
CN110519401A (zh) 提高网络访问成功率的方法、装置、设备及存储介质
CN107395659A (zh) 一种业务受理及共识的方法及装置
JP2020531956A (ja) トランザクション処理サーバ、トランザクション処理サーバへのクライアント接続を管理する方法、およびコンピュータ・プログラム
CN113127192B (zh) 一种多个服务共享同一个gpu的方法、系统、设备及介质
US9280370B2 (en) System structure management device, system structure management method, and program
CN105337787A (zh) 一种多服务器监控方法、装置和系统
CN106055603B (zh) 基于vpn的浏览器访问网址推荐方法、客户端及系统
CN105868590B (zh) 一种笔迹数据处理方法和装置
CN104156232B (zh) 在线性页面结构下用于页面非线性跳转的方法和设备
CN109788051A (zh) 基于分布式文件系统的网络资源传输方法及系统
CN107894945A (zh) 埋点添加方法、移动终端及计算机可读存储介质
CN107590015A (zh) 监测主线程的阻塞的方法和装置
EP3096492B1 (en) Page push method and system
CN105450513B (zh) 归档邮件附件的方法和云存储服务器
CN103634298A (zh) 一种数据库连接处理方法及装置
CN103559091B (zh) 一种数据调度方法及分体式终端系统
CN105959292B (zh) 设备使用权限的识别方法、管理服务器及系统
CN108124021A (zh) 网际协议ip地址获取、网站访问的方法、装置及系统
CN107968798A (zh) 一种网管资源标签获取方法、缓存同步方法、装置及系统
CN109348041A (zh) 一种应用程序联网控制方法、装置、存储介质及终端
CN108762786A (zh) 一种服务器机柜的固件更新方法、服务器机柜及主机
CN106133708B (zh) 信息处理系统
CN108696557A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180309

RJ01 Rejection of invention patent application after publication