CN106648900B - 基于智能电视的超算方法及系统 - Google Patents
基于智能电视的超算方法及系统 Download PDFInfo
- Publication number
- CN106648900B CN106648900B CN201611243434.XA CN201611243434A CN106648900B CN 106648900 B CN106648900 B CN 106648900B CN 201611243434 A CN201611243434 A CN 201611243434A CN 106648900 B CN106648900 B CN 106648900B
- Authority
- CN
- China
- Prior art keywords
- super
- task
- program
- calculation
- cloud
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种基于智能电视的超算方法,该方法流程包括:在接收到超算任务时,获取超算任务包含的云端超算程序、终端超算程序以及超算子任务;将云端超算程序部署至计算节点;将超算子任务和终端超算程序分配至计算节点当前连接的各智能电视,以供各智能电视基于接收到的终端超算程序执行超算子任务以获取子任务结果,并将子任务结果发送至连接的计算节点;获取计算节点基于部署的云端超算程序对接收到的子任务进行合并处理的合并结果,将合并结果作为超算任务的计算结果。本发明还提出一种基于智能电视的超算系统。本发明解决了超算任务的运算成本高的技术问题。
Description
技术领域
本发明涉及超级计算技术领域,尤其涉及一种基于智能电视的超算方法及系统。
背景技术
对于超级计算机系统来说,由于对于计算能力有极高的要求,需要部署数量众多的计算机才能够实现,并且对于各台计算机的配置、性能等的要求也非常高,故现有的超级计算机系统的造价高昂、成本过高,进而造成超算任务的运算成本高。
发明内容
本发明提供一种基于智能电视的超算方法及系统,其主要目的在于解决超算任务的运算成本高的技术问题。
为实现上述目的,本发明提供一种基于智能电视的超算方法,该基于智能电视的超算方法包括:
在接收到超算任务时,获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务;
将所述云端超算程序部署至计算节点;
将所述超算子任务和终端超算程序分配至所述计算节点当前连接的各智能电视,以供所述各智能电视基于接收到的终端超算程序执行所述超算子任务以获取子任务结果,并将所述子任务结果发送至连接的计算节点;
获取所述计算节点基于部署的云端超算程序对接收到的子任务结果进行合并处理的合并结果,将所述合并结果作为所述超算任务的计算结果。
可选地,若所述计算节点有多个,则所述在接收到超算任务时,获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务的步骤之前,所述基于智能电视的超算方法还包括步骤:
在接收到智能电视发送的连接请求时,获取各计算节点的可连接数;
根据获取的可连接数为所述智能电视分配计算节点,并基于分配的计算节点与所述智能电视建立连接。
可选地,所述将所述云端超算程序部署至计算节点的步骤包括:
获取所述云端超算程序的层级结构;
根据计算节点数量、各计算节点的可用资源、各计算节点连接的智能电视的数量和所述层级结构,确定所述云端超算程序的部署方式,其中,所述智能电视与所述计算节点建立连接后,定时地将可用资源上报至连接的计算节点;
按照确定的所述部署方式将所述云端超算程序部署至所述各计算节点。
可选地,所述将所述超算子任务和终端超算程序分配至所述计算节点当前连接的各智能电视的步骤包括:
根据所述部署方式、所述超算子任务的数量、当前连接的智能电视的数量以及所述各智能电视的可用资源,计算所述各智能电视分别需要承担的超算子任务的数量;
根据计算得到的数量以及所述部署方式,将所述超算子任务对应地分配至与各计算节点连接的智能电视。
可选地,所述获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务的步骤之前,所述基于智能电视的超算方法还包括:
在接收到超算任务时,确定所述超算任务需要的计算能力;
根据确定的计算能力、当前连接的智能电视的数量以及所述各智能电视的可用资源判断当前连接的智能电视是否能够承担所述超算任务;
若是,则执行获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务的步骤。
此外,为实现上述目的,本发明还提供一种基于智能电视的超算系统,该基于智能电视的超算系统包括:
获取模块,用于在接收到超算任务时,获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务;
部署模块,用于将所述云端超算程序部署至计算节点;
分配模块,用于将所述超算子任务和终端超算程序分配至所述计算节点当前连接的各智能电视,以供所述各智能电视基于接收到的终端超算程序执行所述超算子任务以获取子任务结果,并将所述子任务结果发送至连接的计算节点;
计算模块,用于获取所述计算节点基于部署的云端超算程序对接收到的子任务结果进行合并处理的合并结果,将所述合并结果作为所述超算任务的计算结果。
可选地,所述基于智能电视的超算系统还包括:
连接模块,用于在接收到智能电视发送的连接请求时,获取各计算节点的可连接数;
以及,根据获取的可连接数为所述智能电视分配计算节点,并基于分配的计算节点与所述智能电视建立连接。
可选地,所述部署模块包括:
获取单元,用于获取所述云端超算程序的层级结构;
确定单元,用于根据计算节点数量、各计算节点的可用资源、各计算节点连接的智能电视的数量和所述层级结构,确定所述云端超算程序的部署方式,其中,所述智能电视与所述计算节点建立连接后,定时地将可用资源上报至连接的计算节点;
部署单元,用于按照确定的所述部署方式将所述云端超算程序部署至所述各计算节点。
可选地,所述分配模块包括:
数量计算单元,用于根据所述部署方式、所述超算子任务的数量、当前连接的智能电视的数量以及所述各智能电视的可用资源,计算所述各智能电视分别需要承担的超算子任务的数量
任务下发单元,用于根据计算得到的数量以及所述部署方式,将所述超算子任务对应地分配至与各计算节点连接的智能电视。
可选地,所述基于智能电视的超算系统还包括:
判断模块,用于在接收到超算任务时,确定所述超算任务需要的计算能力;
以及,根据确定的计算能力、当前连接的智能电视的数量以及所述各智能电视的可用资源判断当前连接的智能电视是否能够承担所述超算任务;
所述获取模块还用于:在所述判断模块判定当前连接的智能电视能够承担所述超算任务时,获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务。
本发明提出的基于智能电视的超算方法及系统,接收超算任务,获取超算任务中包含的云端超算程序、终端超算程序以及超算子任务,将远端超算程序部署到计算节点,将超算子任务和终端超算程序发送到连接在计算节点的数量众多的智能电视来执行,智能电视可以根据接收到的终端超算程序执行超算子任务,并将得到的子任务结果发送到连接的计算节点,由部署在计算节点处的云端超算程序对子任务结果进行合并处理,获取计算节点合并处理的合并结果,将合并结果作为超算任务的计算结果,在本发明中,将超算任务中包含的所有子任务全部下发到智能电视处进行计算,由计算节点对接收到的子任务结果进行合并处理即可得到的超算任务的计算结果,也就是说,该方案可以利用现有的数量庞大的智能电视分担超算子任务,相对于现有的超级计算机系统,极大地降低了超算任务的成本。
附图说明
图1为本发明基于智能电视的超算方法第一实施例的流程图;
图2为本发明基于智能电视的超算方法第一实施例中二级结构的云端超算程序示意图;
图3为本发明基于智能电视的超算方法第一实施例中云服务端的架构示意图;
图4为本发明基于智能电视的超算方法第一实施例中部署的二级结构的云端超算程序与智能电视上的终端超算程序所形成的层级结构
图5为本发明基于智能电视的超算方法第二实施例的流程图;
图6为本发明基于智能电视的超算系统第一实施例的功能模块示意图;
图7为本发明基于智能电视的超算系统第二实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于智能电视的超算方法。参照图1所示,为本发明基于智能电视的超算方法第一实施例的流程图。
在本实施例中,该基于智能电视的超算方法包括:
步骤S10,在接收到超算任务时,获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务;
本发明实施例基于部署在云端的一台或者多台服务器形成的云服务端,以及与云服务端连接的智能电视实现。其中,云服务端的服务器的数量可以根据每台服务器的配置,以及超算任务对于计算能力的需要等数据进行设置,多台云服务器之间建立连接。当云服务端有多台服务器时,配置的多台服务器构成一个服务器集群。关于本文中提到的计算节点,可以是云服务端中的一台服务器,对于计算节点的部署来说,一台服务器上可以部署一个计算节点,也可以根据需要部署多个计算节点,可以根据各台服务器的可用资源情况来进行部署。以下实施例中,为了便于说明,以每一个计算节点对应于一台服务器为例进行说明。
接收用户提交的超算任务,从提交到的超算任务中获取执行超算任务需要的云端超算程序、终端超算程序以及超算子任务;对于用户来说,需要预先编写好云端超算程序、终端超算程序,并将完整的超算任务分割为多个超算子任务,超算子任务的数量可以根据具体的超算任务进行划分,在分割任务时,可以根据执行单个的超算子任务需要占用的时间来划分,在云端超算程序以及终端程序中需要包含有执行各个超算子任务需要的资源数据文件,并且,能以命令行启动方式接收参数。
此外,关于智能电视,可以在智能电视中运行一个软件或者进程,该智能电视启动后,主动向云服务端发起连接请求。作为一种实施方式,在步骤S10之前,基于智能电视的超算方法还包括步骤:
在接收到智能电视发送的连接请求时,获取各计算节点的可连接数;
根据获取的可连接数为所述智能电视分配计算节点,并基于分配的计算节点与所述智能电视建立连接。
云服务端在接收到智能电视发送的连接请求时,根据各服务器的可连接数给发送该连接请求的智能电视分配合适的服务器,智能电视终端与该服务器建立连接,其中,预先根据服务器的资源配置设置可以连接的智能电视的数量的上限。优选地,智能电视与服务器之间建立长连接,并在处于运行状态时,始终保持长连接。智能电视与服务器之间建立长连接后,定时上报智能电视当前的可用资源给与其建立长连接的服务器。
例如,云服务端部署有4台服务器,每一台服务器的配置可满足连接500万台智能电视终端,有新的连接请求时,可以将当前任意一台没有连接满500台智能电视的服务器分配给该智能电视。分配策略这里不作限制,可以优先把某个服务器连满,再连接其他的服务器;或者采用平均分配策略。可以理解的是,由于智能电视发送连接请求的时间并不是特定的,因此,无论当前是否有超算任务正在执行,在接收到连接请求,且当前有服务器未连接满时,都需要为该连接请求对应的智能电视分配合适的服务器。
步骤S20,将所述云端超算程序部署至计算节点;
从超算任务中获取到云端超算程序后,将云端超算程序部署在计算节点,关于具体的部署方式需要根据云端超算程序来确定。对于超算任务来说,由于运算量不同,用户在编写云端超算程序时,可以能分割的层级也不相同。运算量越大,可能对应的云端超算程序的层级也越多,本实施例的方法可以应用具有任何数量的层级结构的云端超算程序。以下以二级结构为例进行说明,但本发明并不局限于此,在其他实施例中,也可以是一级或三级或以上。
此外,用户可以预先设置各个层级的程序的运行数量;也可以不设置,由云服务端根据服务器的资源情况动态的设置各个层级的程序的可运行数量。可以理解的是,一般情况下,位于第一层级的程序的可运行数量为一个,位于第二级以后各个层级的程序可以是多个,且下一层级的程序的可运行数量一般大于等于上一层级的程序的可运行数量。
作为一种实施方式,步骤S20包括:
获取所述云端超算程序的层级结构;
根据计算节点数量、各计算节点的可用资源、各计算节点连接的智能电视的数量和所述层级结构,确定所述云端超算程序的部署方式,其中,所述智能电视与所述计算节点建立连接后,定时地将可用资源上报至连接的计算节点;
按照确定的所述部署方式将所述云端超算程序部署至所述各计算节点。
参照图2所示,为一个具有二级结构的云端超算程序的结构示意图。在获取到该具有二级结构的云端超算程序后,可以确定其层级结构为:包括第一级的一个云端超算主程序和第二级的三个云端超算子程序。
然后,可以根据当前服务器的数量、各服务器的可用资源、各服务器上连接的智能电视的数量,以及云端超算程序的层级结构,确定云端超算程序的部署方式,即分别确定运行云端超算主程序和云端超算子程序的服务器,并按照部署方式,将云端超算主程序和云端超算子程序发送到对应的服务器。
在确定部署方式时,可以具体按照以下步骤:根据各服务器的资源情况确定云端超算主程序运行到哪台服务器上;根据各服务器的资源情况,以及与服务器保持连接的智能电视数量及智能电视的可用资源确定云端超算子程序需要运行到哪些服务器上。
参照图3所示,以当前云服务端共部署有四台服务器为例,四台服务器分别为S0、S1、S2和S3,将其中的任意一台服务器作为主服务器,例如S0,其他的服务器均与该服务器建立连接,每一台服务器均连接有一定数量的智能电视TV,其中,S0也可以连接一定数量的智能电视(图中未示出)。智能电视开机后,均先与主服务器建立连接,由主服务器为其分配可连接的服务器,可以理解的是,可连接的服务器可以是该主服务器本身,也可以是其他的服务器。在该实施例中,以将云端超算主程序部署在S0上,将云端超算子程序部署在S1、S2和S3上为例进行说明,将云端超算主程序以及该云端超算主程序监听的网络端口发送到S0;将云端超算子程序,以及服务器S0的IP地址和云端超算主程序监听的网络端口发送到S1、S2和S3,以完成云端超算程序的部署。
步骤S30,将所述超算子任务和终端超算程序分配至所述计算节点当前连接的各智能电视,以供所述各智能电视基于接收到的终端超算程序执行所述超算子任务以获取子任务结果,并将所述子任务结果发送至连接的计算节点;
步骤S30可以包括:
根据所述部署方式、所述超算子任务的数量、当前连接的智能电视的数量以及所述各智能电视的可用资源,计算所述各智能电视分别需要承担的超算子任务的数量;
根据计算得到的数量以及所述部署方式,将所述超算子任务对应地分配至与各计算节点连接的智能电视。
在完成云端超算程序的部署后,需要将各个超算子任务以及执行超算子任务需要的终端超算程序分配至当前连接的智能电视。具体地,对于终端超算程序的分配,在云端超算程序分配完成后,需要将终端超算程序发送到上述S1、S2和S3连接的智能电视,并将各服务器上的云端超算子程序的监听端口发送到连接的智能电视。参照图4所示,为本实施例中部署的二级结构的云端超算程序与智能电视上的终端超算程序所形成的层级结构。
对于超算子任务的分配,需要根据各服务器连接的智能电视的数量、当前连接的智能电视的可用资源进行分配。具体地,根据各服务器连接的智能电视的数量、当前连接的智能电视的可用资源确定运行云端超算子程序的服务器S1、S2和S3分别能够承担的超算子任务的数量m1、m2、m3,其中,m1、m2和m3之和等于超算子任务的总数量m。将确定的m1、m2、m3分别发送至对应的服务器S1、S2和S3。对于S1,根据当前连接的智能电视的数量以及各智能电视的可用资源确定每一台智能电视能够承担的任务数量x1、x2、…,xn,其中,x1+x2…+xn=m1;S2、S3同理。根据确定的各智能电视分别需要承担的超算子任务的数量,将超算子任务分配到各台智能电视,由各台智能电视基于接收到的终端超算程序执行超算子任务并获取子任务结果。
步骤S40,获取所述计算节点基于部署的云端超算程序对接收到的子任务结果进行合并处理的合并结果,将所述合并结果作为所述超算任务的计算结果。
各智能电视得到子任务结果后,通过服务器下发的云端超算子程序的监听端口将子任务结果上报给运行服务器S1、S2和S3。服务器S1、S2和S3分别基于云端超算子程序对接收到的子任务结果进行合并处理,并将合并结果基于接收到的云端超算主程序的监听端口上报到服务器S0,由服务器S0基于云端超算主程序对接收到的三个合并结果进行再次合并处理,得到超算任务的计算结果。可以进一步地,将计算结果的文件呈现给用户,呈现方式可以是一个下载地址。
目前主流智能电视的资源配置较高,在智能电视开启状态中,可以利用其闲置的资源来执行少量的超算子任务,该实施例的方法利用已有的数量众多的智能电视的资源来承担一个超算任务中的超算子任务,再结合布置在云服务端的少量服务器执行简单的合并处理,即可实现超算任务的运算。
本实施例提出的基于智能电视的超算方法,接收超算任务,获取超算任务中包含的云端超算程序、终端超算程序以及超算子任务,将远端超算程序部署到计算节点,将超算子任务和终端超算程序发送到连接在计算节点的数量众多的智能电视来执行,智能电视可以根据接收到的终端超算程序执行超算子任务,并将得到的子任务结果发送到连接的计算节点,由部署在计算节点处的云端超算程序对子任务结果进行合并处理,获取计算节点合并处理的合并结果,将合并结果作为超算任务的计算结果,在本实施例中,将超算任务中包含的所有子任务全部下发到智能电视处进行计算,由计算节点对接收到的子任务结果进行合并处理即可得到的超算任务的计算结果,也就是说,该方案可以利用现有的数量庞大的智能电视分担超算子任务,相对于现有的超级计算机系统,极大地降低了超算任务的成本。
基于第一实施例提出本发明基于智能电视的超算方法的第二实施例。参照图5所示,在本实施例中,在步骤S10之前,该基于智能电视的超算方法还包括:
步骤S50,在接收到超算任务时,确定所述超算任务需要的计算能力;
步骤S60,根据确定的计算能力、当前连接的智能电视的数量以及所述各智能电视的可用资源判断当前连接的智能电视是否能够承担所述超算任务;
若是,则执行步骤S10。
一般情况下一个超算任务所包含的超算子任务数量庞大,需要数量终端的智能电视才能够进行计算,如果当前的智能电视的数量不足,可能导致该超算任务的运算需要花费的时间过长。因此,在接收到超算任务时,先根据超算任务所包含的超算子任务的数量确定该超算任务需要的计算能力,并获取当前连接的智能电视的数量以及各智能电视的可用资源,判断当前连接的智能电视的数量以及各智能电视的可用资源是否满足需要的计算能力,若是,则认为当前的连接的智能电视能够承担该超算任务,可以开始执行步骤S10,否则,持续对云服务端当前连接的智能电视的数量以及可用资源进行监测,在监测到当前的连接的智能电视能够承担该超算任务时,开始执行步骤S10。通过这样的方式使得超算任务的能够在较短的时间内运算完成。此外,如果一个超算子任务分配给智能电视后,超过一定的时间阈值后,仍然没有收到返回的子任务结果,可以判定该智能电视当前由于电视关闭,或者与云服务端断开了连接等原因无法执行分配给其的超算子任务,此时,可以将该超算子任务再分配给其他当前连接的智能电视执行,以保证各个超算子任务都能够被顺序执行。
本发明还提出一种基于智能电视的超算系统。
参照图6所示,为本发明基于智能电视的超算系统第一实施例的功能模块示意图。
在该实施例中,该基于智能电视的超算系统包括:
获取模块10,用于在接收到超算任务时,获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务;
本发明实施例的超算系统基于部署在云端的一台或者多台服务器形成的云服务端实现,该云服务端与智能电视连接。其中,云服务端的服务器的数量可以根据每台服务器的配置,以及超算任务对于计算能力的需要等数据进行设置,多台云服务器之间建立连接。当云服务端有多台服务器时,配置的多台服务器构成一个服务器集群。关于本文中提到的计算节点,可以是云服务端中的一台服务器,对于计算节点的部署来说,一台服务器上可以部署一个计算节点,也可以根据需要部署多个计算节点,可以根据各台服务器的可用资源情况来进行部署。以下实施例中,为了便于说明,以每一个计算节点对应于一台服务器为例进行说明。此外,本实施例的超算系统的各个功能模块,获取模块10以及下文涉及到的部署模块20、分配模块30等功能模块可以根据需要部署在云服务端上的任意一台或者多台服务器上。
接收用户提交的超算任务,获取模块10从提交到的超算任务中获取执行超算任务需要的云端超算程序、终端超算程序以及超算子任务;对于用户来说,需要预先编写好云端超算程序、终端超算程序,并将完整的超算任务分割为多个超算子任务,超算子任务的数量可以根据具体的超算任务进行划分,在分割任务时,可以根据执行单个的超算子任务需要占用的时间来划分,在云端超算程序以及终端程序中需要包含有执行各个超算子任务需要的资源数据文件,并且,能以命令行启动方式接收参数。
此外,关于智能电视,可以在智能电视中运行一个软件或者进程,该智能电视启动后,主动向云服务端发起连接请求。作为一种实施方式,智能电视的超算系统还包括:
连接模块,用于在接收到智能电视发送的连接请求时,获取各计算节点的可连接数;以及,根据获取的可连接数为所述智能电视分配计算节点,并基于分配的计算节点与所述智能电视建立连接。
云服务端在接收到智能电视发送的连接请求时,连接模块根据各服务器的可连接数给发送该连接请求的智能电视分配合适的服务器,智能电视终端与该服务器建立连接,其中,预先根据服务器的资源配置设置可以连接的智能电视的数量的上限。优选地,智能电视与服务器之间建立长连接,并在处于运行状态时,始终保持长连接。智能电视与服务器之间建立长连接后,定时上报智能电视当前的可用资源给与其建立长连接的服务器。
例如,云服务端部署有4台服务器,每一台服务器的配置可满足连接500万台智能电视终端,有新的连接请求时,连接模块可以将当前任意一台没有连接满500台智能电视的服务器分配给该智能电视。分配策略这里不作限制,可以优先把某个服务器连满,再连接其他的服务器;或者采用平均分配策略。可以理解的是,由于智能电视发送连接请求的时间并不是特定的,因此,无论当前是否有超算任务正在执行,在接收到连接请求,且当前有服务器未连接满时,都需要连接模块为该连接请求对应的智能电视分配合适的服务器。
部署模块20,用于将所述云端超算程序部署至计算节点。
从超算任务中获取到云端超算程序后,部署模块20将云端超算程序部署在计算节点,关于具体的部署方式需要根据云端超算程序来确定。对于超算任务来说,由于运算量不同,用户在编写云端超算程序时,可以能分割的层级也不相同。运算量越大,可能对应的云端超算程序的层级也越多,本实施例的系统可以应用具有任何数量的层级结构的云端超算程序。以下以二级结构为例进行说明,但本发明并不局限于此,在其他实施例中,也可以是一级或三级或以上。
此外,用户可以预先设置各个层级的程序的运行数量;也可以不设置,由云服务端的部署模块20根据服务器的资源情况动态的设置各个层级的程序的可运行数量。可以理解的是,一般情况下,位于第一层级的程序的可运行数量为一个,位于第二级以后各个层级的程序可以是多个,且下一层级的程序的可运行数量一般大于等于上一层级的程序的可运行数量。
作为一种实施方式,部署模块20包括:
获取单元,用于获取所述云端超算程序的层级结构;
确定单元,用于根据计算节点数量、各计算节点的可用资源、各计算节点连接的智能电视的数量和所述层级结构,确定所述云端超算程序的部署方式,其中,所述智能电视与所述计算节点建立连接后,定时地将可用资源上报至连接的计算节点;
部署单元,用于按照确定的所述部署方式将所述云端超算程序部署至所述各计算节点。
参照图2所示,为一个具有二级结构的云端超算程序的结构示意图。在获取到该具有二级结构的云端超算程序后,可以确定其层级结构为:包括第一级的一个云端超算主程序和第二级的三个云端超算子程序。
然后,部署模块20可以根据当前服务器的数量、各服务器的可用资源、各服务器上连接的智能电视的数量,以及云端超算程序的层级结构,确定云端超算程序的部署方式,即分别确定运行云端超算主程序和云端超算子程序的服务器,并按照部署方式,将云端超算主程序和云端超算子程序发送到对应的服务器。
部署模块20在确定部署方式时,可以具体按照以下步骤:根据各服务器的资源情况确定云端超算主程序运行到哪台服务器上;根据各服务器的资源情况,以及与服务器保持连接的智能电视数量及智能电视的可用资源确定云端超算子程序需要运行到哪些服务器上。
参照图3所示,以当前云服务端共部署有四台服务器为例,四台服务器分别为S0、S1、S2和S3,将其中的任意一台服务器作为主服务器,例如S0,其他的服务器均与该服务器建立连接,每一台服务器均连接有一定数量的智能电视TV,其中,S0也可以连接一定数量的智能电视(图中未示出)。智能电视开机后,均先与主服务器建立连接,由主服务器为其分配可连接的服务器,可以理解的是,可连接的服务器可以是该主服务器本身,也可以是其他的服务器。在该实施例中,以将云端超算主程序部署在S0上,将云端超算子程序部署在S1、S2和S3上为例进行说明,将云端超算主程序以及该云端超算主程序监听的网络端口发送到S0;将云端超算子程序,以及服务器S0的IP地址和云端超算主程序监听的网络端口发送到S1、S2和S3,以完成云端超算程序的部署。
分配模块30,用于将所述超算子任务和终端超算程序分配至所述计算节点当前连接的各智能电视,以供所述各智能电视基于接收到的终端超算程序执行所述超算子任务以获取子任务结果,并将所述子任务结果发送至连接的计算节点;
分配模块30包括:
数量计算单元,用于根据所述部署方式、所述超算子任务的数量、当前连接的智能电视的数量以及所述各智能电视的可用资源,计算所述各智能电视分别需要承担的超算子任务的数量
任务下发单元,用于根据计算得到的数量以及所述部署方式,将所述超算子任务对应地分配至与各计算节点连接的智能电视。
在完成云端超算程序的部署后,分配模块30需要将各个超算子任务以及执行超算子任务需要的终端超算程序分配至当前连接的智能电视。具体地,对于终端超算程序的分配,在云端超算程序分配完成后,需要将终端超算程序发送到上述S1、S2和S3连接的智能电视,并将各服务器上的云端超算子程序的监听端口发送到连接的智能电视。参照图4所示,为本实施例中部署的二级结构的云端超算程序与智能电视上的终端超算程序所形成的层级结构。
对于超算子任务的分配,需要根据各服务器连接的智能电视的数量、当前连接的智能电视的可用资源进行分配。具体地,根据各服务器连接的智能电视的数量、当前连接的智能电视的可用资源确定运行云端超算子程序的服务器S1、S2和S3分别能够承担的超算子任务的数量m1、m2、m3,其中,m1、m2和m3之和等于超算子任务的总数量m。将确定的m1、m2、m3分别发送至对应的服务器S1、S2和S3。对于S1,根据当前连接的智能电视的数量以及各智能电视的可用资源确定每一台智能电视能够承担的任务数量x1、x2、…,xn,其中,x1+x2…+xn=m1;S2、S3同理。根据确定的各智能电视分别需要承担的超算子任务的数量,将超算子任务分配到各台智能电视,由各台智能电视基于接收到的终端超算程序执行超算子任务并获取子任务结果。
计算模块40,用于获取所述计算节点基于部署的云端超算程序对接收到的子任务结果进行合并处理的合并结果,将所述合并结果作为所述超算任务的计算结果。
各智能电视得到子任务结果后,通过服务器下发的云端超算子程序的监听端口将子任务结果上报给运行服务器S1、S2和S3。服务器S1、S2和S3分别基于云端超算子程序对接收到的子任务结果进行合并处理,其中,计算模块40需要部署在每一台服务器上,并将合并结果基于接收到的云端超算主程序的监听端口上报到服务器S0,由服务器S0基于云端超算主程序对接收到的三个合并结果进行再次合并处理,得到超算任务的计算结果。可以进一步地,将计算结果的文件呈现给用户,呈现方式可以是一个下载地址。
目前主流智能电视的资源配置较高,在智能电视开启状态中,可以利用其闲置的资源来执行少量的超算子任务,该实施例的系统利用已有的数量众多的智能电视的资源来承担一个超算任务中的超算子任务,再结合布置在云服务端的少量服务器执行简单的合并处理,即可实现超算任务的运算。
本实施例提出的基于智能电视的超算系统,接收超算任务,获取超算任务中包含的云端超算程序、终端超算程序以及超算子任务,将远端超算程序部署到计算节点,将超算子任务和终端超算程序发送到连接在计算节点的数量众多的智能电视来执行,智能电视可以根据接收到的终端超算程序执行超算子任务,并将得到的子任务结果发送到连接的计算节点,由部署在计算节点处的云端超算程序对子任务结果进行合并处理,获取计算节点合并处理的合并结果,将合并结果作为超算任务的计算结果,在本实施例中,将超算任务中包含的所有子任务全部下发到智能电视处进行计算,由计算节点对接收到的子任务结果进行合并处理即可得到的超算任务的计算结果,也就是说,该方案可以利用现有的数量庞大的智能电视分担超算子任务,相对于现有的超级计算机系统,极大地降低了超算任务的成本。
基于第一实施例提出本发明基于智能电视的超算系统的第二实施例。参照图7所示,在本实施例中,基于智能电视的超算系统还包括:
判断模块50,用于在接收到超算任务时,确定所述超算任务需要的计算能力;以及,根据确定的计算能力、当前连接的智能电视的数量以及所述各智能电视的可用资源判断当前连接的智能电视是否能够承担所述超算任务;
获取模块10还用于:在所述判断模块判定当前连接的智能电视能够承担所述超算任务时,获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务。
一般情况下一个超算任务所包含的超算子任务数量庞大,需要数量终端的智能电视才能够进行计算,如果当前的智能电视的数量不足,可能导致该超算任务的运算需要花费的时间过长。因此,在接收到超算任务时,判断模块50先根据超算任务所包含的超算子任务的数量确定该超算任务需要的计算能力,并获取当前连接的智能电视的数量以及各智能电视的可用资源,判断当前连接的智能电视的数量以及各智能电视的可用资源是否满足需要的计算能力,若是,则认为当前的连接的智能电视能够承担该超算任务,获取模块10获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务,否则,持续对云服务端当前连接的智能电视的数量以及可用资源进行监测,在监测到当前的连接的智能电视能够承担该超算任务时,获取模块10获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务。通过这样的方式使得超算任务的能够在较短的时间内运算完成。此外,如果一个超算子任务分配给智能电视后,超过一定的时间阈值后,仍然没有收到返回的子任务结果,可以判定该智能电视当前由于电视关闭,或者与云服务端断开了连接等原因无法执行分配给其的超算子任务,此时,可以将该超算子任务再分配给其他当前连接的智能电视执行,以保证各个超算子任务都能够被顺序执行。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵该非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,云端服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于智能电视的超算方法,其特征在于,所述基于智能电视的超算方法包括:
云服务端在接收到超算任务时,获取所述超算任务包含的云端超算主程序、云端超算子程序、终端超算程序以及超算子任务,其中,所述云服务端部署有多个计算节点,多个所述计算节点包括主服务器以及与所述主服务器连接的其他服务器;
将所述云端超算程序部署至计算节点,其中,将所述云端超算主程序部署在所述主服务器上,将所述云端超算子程序部署在其他服务器上;
将所述超算子任务和终端超算程序分配至所述计算节点当前连接的各智能电视,以供所述各智能电视基于接收到的终端超算程序执行所述超算子任务以获取子任务结果,并将所述子任务结果发送至连接的计算节点;
获取所述计算节点基于部署的云端超算程序对接收到的子任务结果进行合并处理的合并结果,将所述合并结果作为所述超算任务的计算结果。
2.根据权利要求1所述的基于智能电视的超算方法,其特征在于,若所述计算节点有多个,则所述在接收到超算任务时,获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务的步骤之前,所述基于智能电视的超算方法还包括步骤:
在接收到智能电视发送的连接请求时,获取各计算节点的可连接数;
根据获取的可连接数为所述智能电视分配计算节点,并基于分配的计算节点与所述智能电视建立连接。
3.根据权利要求2所述的基于智能电视的超算方法,其特征在于,所述将所述云端超算程序部署至计算节点的步骤包括:
获取所述云端超算程序的层级结构;
根据计算节点数量、各计算节点的可用资源、各计算节点连接的智能电视的数量和所述层级结构,确定所述云端超算程序的部署方式,其中,所述智能电视与所述计算节点建立连接后,定时地将可用资源上报至连接的计算节点;
按照确定的所述部署方式将所述云端超算程序部署至所述各计算节点。
4.根据权利要求3所述的基于智能电视的超算方法,其特征在于,所述将所述超算子任务和终端超算程序分配至所述计算节点当前连接的各智能电视的步骤包括:
根据所述部署方式、所述超算子任务的数量、当前连接的智能电视的数量以及所述各智能电视的可用资源,计算所述各智能电视分别需要承担的超算子任务的数量;
根据计算得到的数量以及所述部署方式,将所述超算子任务对应地分配至与各计算节点连接的智能电视。
5.根据权利要求1至4中任一项所述的基于智能电视的超算方法,其特征在于,所述获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务的步骤之前,所述基于智能电视的超算方法还包括:
在接收到超算任务时,确定所述超算任务需要的计算能力;
根据确定的计算能力、当前连接的智能电视的数量以及所述各智能电视的可用资源判断当前连接的智能电视是否能够承担所述超算任务;
若是,则执行获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务的步骤。
6.一种基于智能电视的超算系统,其特征在于,所述基于智能电视的超算系统包括:
获取模块,用于云服务端在接收到超算任务时,获取所述超算任务包含的云端超算主程序、云端超算子程序、终端超算程序以及超算子任务,其中,所述云服务端部署有多个计算节点,多个所述计算节点包括主服务器以及与所述主服务器连接的其他服务器;
部署模块,用于将所述云端超算程序部署至计算节点,其中,将所述云端超算主程序部署在所述主服务器上,将所述云端超算子程序部署在其他服务器上;
分配模块,用于将所述超算子任务和终端超算程序分配至所述计算节点当前连接的各智能电视,以供所述各智能电视基于接收到的终端超算程序执行所述超算子任务以获取子任务结果,并将所述子任务结果发送至连接的计算节点;
计算模块,用于获取所述计算节点基于部署的云端超算程序对接收到的子任务结果进行合并处理的合并结果,将所述合并结果作为所述超算任务的计算结果。
7.根据权利要求6所述的基于智能电视的超算系统,其特征在于,所述基于智能电视的超算系统还包括:
连接模块,用于在接收到智能电视发送的连接请求时,获取各计算节点的可连接数;
以及,根据获取的可连接数为所述智能电视分配计算节点,并基于分配的计算节点与所述智能电视建立连接。
8.根据权利要求7所述的基于智能电视的超算系统,其特征在于,所述部署模块包括:
获取单元,用于获取所述云端超算程序的层级结构;
确定单元,用于根据计算节点数量、各计算节点的可用资源、各计算节点连接的智能电视的数量和所述层级结构,确定所述云端超算程序的部署方式,其中,所述智能电视与所述计算节点建立连接后,定时地将可用资源上报至连接的计算节点;
部署单元,用于按照确定的所述部署方式将所述云端超算程序部署至所述各计算节点。
9.根据权利要求8所述的基于智能电视的超算系统,其特征在于,所述分配模块包括:
数量计算单元,用于根据所述部署方式、所述超算子任务的数量、当前连接的智能电视的数量以及所述各智能电视的可用资源,计算所述各智能电视分别需要承担的超算子任务的数量
任务下发单元,用于根据计算得到的数量以及所述部署方式,将所述超算子任务对应地分配至与各计算节点连接的智能电视。
10.根据权利要求6至9中任一项所述的基于智能电视的超算系统,其特征在于,所述基于智能电视的超算系统还包括:
判断模块,用于在接收到超算任务时,确定所述超算任务需要的计算能力;
以及,根据确定的计算能力、当前连接的智能电视的数量以及所述各智能电视的可用资源判断当前连接的智能电视是否能够承担所述超算任务;
所述获取模块还用于:在所述判断模块判定当前连接的智能电视能够承担所述超算任务时,获取所述超算任务包含的云端超算程序、终端超算程序以及超算子任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611243434.XA CN106648900B (zh) | 2016-12-28 | 2016-12-28 | 基于智能电视的超算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611243434.XA CN106648900B (zh) | 2016-12-28 | 2016-12-28 | 基于智能电视的超算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106648900A CN106648900A (zh) | 2017-05-10 |
CN106648900B true CN106648900B (zh) | 2020-12-08 |
Family
ID=58835682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611243434.XA Active CN106648900B (zh) | 2016-12-28 | 2016-12-28 | 基于智能电视的超算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106648900B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108510625A (zh) * | 2018-01-30 | 2018-09-07 | 杭州微兔科技有限公司 | 智能门锁系统及其应用方法 |
CN109597679A (zh) * | 2018-12-03 | 2019-04-09 | 咪付(广西)网络技术有限公司 | 一种分布式计算处理方法 |
CN111090610A (zh) * | 2019-11-13 | 2020-05-01 | 罗应建 | 一种计算单元超大集群架构的系统 |
CN111245958B (zh) * | 2020-03-09 | 2024-11-01 | 中国能源建设集团陕西省电力设计院有限公司 | 一种面向泛在电力物联网的统一云计算系统 |
CN111641874A (zh) * | 2020-05-21 | 2020-09-08 | 广州欢网科技有限责任公司 | 一种分布式计算方法、系统、及可读存储介质 |
CN113254201A (zh) * | 2021-05-17 | 2021-08-13 | 清华大学 | 超算云计算平台化管理方法和管理平台 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN102880517A (zh) * | 2012-09-29 | 2013-01-16 | 中国人民解放军国防科学技术大学 | 一种基于超级计算机的hla仿真程序的对象调度方法 |
CN103279445A (zh) * | 2012-09-26 | 2013-09-04 | 上海中科高等研究院 | 运算任务的计算方法及超算系统 |
CN104679714A (zh) * | 2015-03-10 | 2015-06-03 | 江苏微锐超算科技有限公司 | 一种基于atca架构的超级计算机集群 |
CN105404542A (zh) * | 2015-08-14 | 2016-03-16 | 国家超级计算深圳中心(深圳云计算中心) | 云计算系统及在其上运行高性能计算的方法 |
CN106095570A (zh) * | 2007-11-08 | 2016-11-09 | 思腾科技(巴巴多斯)有限公司 | 执行复杂算法的分布式网络 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160350302A1 (en) * | 2015-05-27 | 2016-12-01 | Hedvig, Inc. | Dynamically splitting a range of a node in a distributed hash table |
-
2016
- 2016-12-28 CN CN201611243434.XA patent/CN106648900B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095570A (zh) * | 2007-11-08 | 2016-11-09 | 思腾科技(巴巴多斯)有限公司 | 执行复杂算法的分布式网络 |
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN103279445A (zh) * | 2012-09-26 | 2013-09-04 | 上海中科高等研究院 | 运算任务的计算方法及超算系统 |
CN102880517A (zh) * | 2012-09-29 | 2013-01-16 | 中国人民解放军国防科学技术大学 | 一种基于超级计算机的hla仿真程序的对象调度方法 |
CN104679714A (zh) * | 2015-03-10 | 2015-06-03 | 江苏微锐超算科技有限公司 | 一种基于atca架构的超级计算机集群 |
CN105404542A (zh) * | 2015-08-14 | 2016-03-16 | 国家超级计算深圳中心(深圳云计算中心) | 云计算系统及在其上运行高性能计算的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106648900A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106648900B (zh) | 基于智能电视的超算方法及系统 | |
EP3522013B1 (en) | Method and system for migration of containers in a container orchestration platform between compute nodes | |
CN105335229B (zh) | 一种业务资源的调度方法和装置 | |
CN111880936B (zh) | 资源调度方法、装置、容器集群、计算机设备和存储介质 | |
CN115328663B (zh) | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 | |
WO2021227999A1 (zh) | 云计算服务系统和方法 | |
CN105052074A (zh) | 用于提供虚拟化直径网络架构以及用于将业务量路由至动态实例化的直径资源实例的方法、系统和计算机可读介质 | |
CN106790092B (zh) | 远程过程调用服务端控制系统及方法 | |
KR20170056350A (ko) | Nfv 자원 할당 검증 장치 | |
CN107786593A (zh) | 任务部署方法、实例部署方法、装置及设备 | |
CN107005452B (zh) | 一种网络功能虚拟化资源处理方法及虚拟网络功能管理器 | |
CN103257898A (zh) | 嵌入式系统中资源分配方法和系统 | |
CN104994145A (zh) | 一种基于kvm虚拟化集群的负载均衡方法 | |
CN113382077A (zh) | 微服务调度方法、装置、计算机设备和存储介质 | |
CN103929441A (zh) | 一种任务分配方法及装置 | |
CN111163140A (zh) | 资源获取和分配的方法、装置和计算机可读存储介质 | |
CN111240824A (zh) | 一种cpu资源调度方法及电子设备 | |
CN112134964A (zh) | 控制器分配方法、计算机设备、存储介质及网络业务系统 | |
CN111209098A (zh) | 一种智能渲染调度方法、服务器、管理节点及存储介质 | |
CN108667940B (zh) | 云平台的资源分配方法、装置及计算机可读存储介质 | |
CN115617509A (zh) | 一种分布式集群的节点部署方法、装置和电子设备 | |
CN112261125B (zh) | 集中单元的云化部署方法、装置及系统 | |
EP3672203A1 (en) | Distribution method for distributed data computing, device, server and storage medium | |
CN109617889A (zh) | 视频传输系统和视频传输方法、装置及存储介质 | |
KR20040075307A (ko) | 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |