CN106371923A - 任务处理方法和装置 - Google Patents

任务处理方法和装置 Download PDF

Info

Publication number
CN106371923A
CN106371923A CN201610768996.XA CN201610768996A CN106371923A CN 106371923 A CN106371923 A CN 106371923A CN 201610768996 A CN201610768996 A CN 201610768996A CN 106371923 A CN106371923 A CN 106371923A
Authority
CN
China
Prior art keywords
client
task
task component
clients
component
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
CN201610768996.XA
Other languages
English (en)
Inventor
陈秋明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Guotai Epoint Software Co Ltd
Original Assignee
Jiangsu Guotai Epoint Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Guotai Epoint Software Co Ltd filed Critical Jiangsu Guotai Epoint Software Co Ltd
Priority to CN201610768996.XA priority Critical patent/CN106371923A/zh
Publication of CN106371923A publication Critical patent/CN106371923A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种任务处理方法和装置,该方法包括:分别与多个客户端建立通信连接;根据预先配置的规则构造工程量总任务,并将所述工程量总任务分割为多个第一任务分量;将多个所述第一任务分量分别分配给多个所述客户端,以使所述客户端对所述第一任务分量进行计算并反馈计算结果,使得多个客户端同时计算同一工程任务,有效减少了大型多构件项目的计算时间,提高了计算效率。

Description

任务处理方法和装置
技术领域
本发明实施例涉及通信领域,尤其涉及一种任务处理方法和装置。
背景技术
Revit是专为建筑信息模型构建的软件平台,可帮助建筑设计师设计、建造和维护质量更好、能效更高的建筑。
现有的工程量计算方法,基于Revit安全策略,采用单线程执行,即,许多操作都需要在Revit主线程中完成,使得传统的工程量计算被限制在一个线程中,导致计算机在工程量计算过程中无法发挥多核优势,尤其是大型多构件项目往往要计算很长时间,造成工程量出量很慢的问题,达不到理想效果。
发明内容
本发明实施例提供一种任务处理方法和装置,有效减少了大型多构件项目的计算时间,提高了计算效率。
本发明实施例一方面提供一种任务处理方法,包括:
分别与多个客户端建立通信连接;
根据预先配置的规则构造工程量总任务,并将所述工程量总任务分割为多个第一任务分量;
将多个所述第一任务分量分别分配给多个所述客户端,以使所述客户端对所述第一任务分量进行计算并反馈计算结果。
在本发明一实施例中,所述方法还包括:
根据预设的调整策略,对各个所述客户端的第一任务分量进行动态调整。
在本发明一实施例中,所述根据预设的调整策略,对各个所述客户端的任务分量进行动态调整,包括:
若第一客户端完成所述第一任务分量,则获取第二客户端的剩余任务分量,将所述第二客户端的剩余任务分量进行分割重新分配给所述第一客户端和所述第二客户端进行计算;所述第二客户端为除所述第一客户端之外的其它客户端中剩余任务分量最多的客户端;或者,
若所述第二客户端的剩余任务分量小于预设任务分量阈值,则所有客户端同时计算所述第二客户端的剩余任务分量,当第三客户端完成计算时,结束所有客户端的计算;所述第三客户端为所有客户端中计算所述第二客户端的剩余任务分量用时最短的客户端;或者,
若任务开始后,第四客户端加入所述通信连接,则将所述第二客户端的剩余任务分量进行分割重新分配给所述第四客户端和所述第二客户端进行计算;或者,
若任务开始后,第五客户端停止计算所述第一任务分量,则获取所述第五客户端的剩余任务分量,并将所述第五客户端的剩余任务分量分配第六客户端进行计算;所述第六客户端为已完成所述第一任务分量计算的客户端。
在本发明一实施例中,所述方法还包括:
当所有客户端完成计算时,将算量数据和计算结果数据进行存储,并将所述算量数据和所述计算结果数据复制到各个所述客户端;
与各个所述客户端断开所述通信连接。
在本发明一实施例中,所述分别与多个客户端建立通信连接,包括:
发送广播消息;所述广播消息包括验证信息,且用于所述客户端进行身份验证;
接收各所述客户端发送的响应消息;所述响应消息包括所述客户端的连接地址。
在本发明一实施例中,所述方法还包括:
判断本地存储的算量数据与所述客户端的算量数据是否一致;
若不一致,则将所述本地存储的算量数据复制到所述客户端,以使所述客户端根据所述本地存储的算量数据重新构建计算环境。
本发明实施例另一方面提供一种任务处理装置,包括:
建立模块,用于分别与多个客户端建立通信连接;
构造模块,用于根据预先配置的规则构造工程量总任务,并将所述工程量总任务分割为多个第一任务分量;
分配模块,用于将多个所述第一任务分量分别分配给多个所述客户端,以使所述客户端对所述第一任务分量进行计算并反馈计算结果。
在本发明一实施例中,所述装置还包括:
调整模块,用于根据预设的调整策略,对各个所述客户端的第一任务分量进行动态调整。
在本发明一实施例中,所述调整模块具体用于若第一客户端完成所述第一任务分量,则获取第二客户端的剩余任务分量,将所述第二客户端的剩余任务分量进行分割重新分配给所述第一客户端和所述第二客户端进行计算;所述第二客户端为除所述第一客户端之外的其它客户端中剩余任务分量最多的客户端;或者,
所述调整模块具体用于若所述第二客户端的剩余任务分量小于预设任务分量阈值,则所有客户端同时计算所述第二客户端的剩余任务分量,当第三客户端完成计算时,结束所有客户端的计算;所述第三客户端为所有客户端中计算所述第二客户端的剩余任务分量用时最短的客户端;或者,
所述调整模块具体用于若任务开始后,第四客户端加入所述通信连接,则将所述第二客户端的剩余任务分量进行分割重新分配给所述第四客户端和所述第二客户端进行计算;或者,
所述调整模块具体用于若任务开始后,第五客户端停止计算所述第一任务分量,则获取所述第五客户端的剩余任务分量,并将所述第五客户端的剩余任务分量分配第六客户端进行计算;所述第六客户端为已完成所述第一任务分量计算的客户端。
在本发明一实施例中,所述装置还包括:
存储模块,用于当所有客户端完成计算时,将算量数据和计算结果数据进行存储,并将所述算量数据和所述计算结果数据复制到各个所述客户端;
所述建立模块还用于与各个所述客户端断开所述通信连接。
在本发明一实施例中,所述建立模块包括:
发送子模块,用于发送广播消息;所述广播消息包括验证信息,且用于所述客户端进行身份验证;
接收子模块,用于接收各所述客户端发送的响应消息;所述响应消息包括所述客户端的连接地址。
在本发明一实施例中,所述装置还包括:
判断模块,用于判断本地存储的算量数据与所述客户端的算量数据是否一致;若不一致,则将所述本地存储的算量数据复制到所述客户端,以使所述客户端根据所述本地存储的算量数据重新构建计算环境。
本发明实施例提供的任务处理方法和装置,服务端还可以根据预设的调整策略对各客户端的任务分量进行动态调整,从而防止某个客户端计算能力较弱或中途停止计算而造成延长计算时间的情况,提高了计算效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为Revit平台的基本框架结构示意图;
图2为本发明实施例一提供的任务处理方法流程图;
图3为本发明实施例二提供的任务处理方法流程图;
图4为本发明实施例三提供的任务处理方法流程图;
图5为本发明实施例四提供的任务处理装置的框图;
图6为本发明实施例五提供的任务处理装置的框图;
图7为本发明实施例六提供的任务处理装置的框图;
图8为本发明实施例七提供的任务处理装置的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的任务处理方法,主要应用于Revit平台。图1为Revit平台的基本框架结构示意图。如图1所示,Revit平台的基本框架可以分为通信部分、消息总线部分和业务部分,其中,消息总线部分包括过滤器、消息映射表、仓储容器和MEF容器、视图模型(Viewmodels)。通信部分是整个系统最基础的部分,负责底层数据的传输,用于实现建立连接、发送消息、接收消息、判断连接状态的基本功能。消息总线用来对消息进行转发分配处理,先由过滤器对接收到的消息进行过滤,再根据消息映射表从仓储容器中定位到订阅该消息的对象,由这些对象处理消息,处理消息的过程就是计算流程推进的过程;同时各对象也可以将消息放入消息总线,消息总线将分析该消息的目标地址,交由通信部分进行发送。业务部分则由订阅消息的仓储对象共同完成。
其中,通信部分、消息总线部分和业务部分的具体实现方式如下:
(1)通信部分
UdpSender:用来发送和接收用户数据报协议(User Datagram Protocol,简称UDP),能够侦听指定端口和发送消息。
TcpConnection:连接信息类,代表一条连接链路,可以提供数据的双向通信。
TcpProxy:代理类,用来连接通信服务TcpRemoting,其功能是主动发起并建立连接,连接完成后,可使用生成的TcpConnection对象进行双双向通信,具体操作可以在事件中绑定。
TcpRemoting:服务类,可以在指定端口,接受TcpProxy的连接,实例化时需要绑定地址和端口,接受TcpProxy连接完成后,可使用生成的TcpConnection对象进行双向通信,内置消息队列,接收到的消息将以先入先处理的规则进行处理,具体操作可以在事件中绑定。
IManagerLocalActor:服务端通信功能接口,负责服务端的通信,由底层封装的有关传输控制协议(Transmission Control Protocol,简称TCP)和UDP部分进行二次封装,提供一对多的连接。
IWorkerLocalActor:服务端通信功能接口,负责客户端的通信,由底层封装的有关TCP和UDP部分进行二次封装,提供多对一的连接。
(2)消息总线部分
IMessageBus<in TMessage>:消息总线基类接口,定义消息总线需要实现的基本方法。
IDistributeMessageBus:定义协同计算特有的基本方法。
IManagerMessageBus:定义服务端需要实现的方法,需要完成与服务端通信部分的关联。
IWorkerMessageBus:定义客户端需要实现的方法,需要完成与客户端通信部分的关联。
(3)业务部分代码:
WorkerSearchMessageMap:客户端接收到SearchMessage的消息映射。
WorkMainViewModel:客户端核心对象,示例代码为处理SearchMessage消息的部分,并对SearchMessage进行反馈。
ManagerMainModel:服务端核心对象,示例为处理SearchMessageResponse消息的部分,当满足验证条后,尝试建立Tcp连接。
图2为本发明实施例一提供的任务处理方法流程图,该方法基于上述Revit平台来实现,其执行主体为服务端,如图2所示,该方法包括以下步骤:
步骤101、分别与多个客户端建立通信连接。
在本实施例中,服务端与多个客户端需要先建立通信连接,例如,服务端发送广播消息,与多个客户端建立TCP连接,以便于服务端与客户端进行通信。其中,服务端为即计算任务发起者,是整个工程量计算的核心,控制整个计算过程,负责任务的调度和结果回收。客户端为计算任务参与者,贡献其计算资源,接收服务端分配的任务并将计算结果发送给服务端。
步骤102、根据预先配置的规则构造工程量总任务,并将工程量总任务分割为多个第一任务分量。
在本实施例中,服务端根据预先配置的规则构造工程量总任务,根据设定的算法将工程量总任务进行分割,生成多个第一任务分量。其中,预先配置的规则为用户当前选择的配置,如选择的构件、计算规则等,一般情况下,服务端会根据建立通信连接的客户端的数目,将工程量总任务平均分割,生成多个第一任务量。
步骤103、将多个第一任务分量分别分配给多个客户端,以使客户端对第一任务分量进行计算并反馈计算结果。
在本实施例中,服务端将多个第一任务分量分别分配给各客户端,各客户端对第一任务分量进行计算,并且各客户端在计算过程中可以按照预先设定的策略定时的向服务端反馈计算结果。
本实施例提供的任务处理方法,服务端分别与多个客户端建立通信连接,根据预先配置的规则构造工程量总任务,并将工程量总任务分割为多个第一任务分量,将多个第一任务分量分别分配给多个客户端,以使客户端对第一任务分量进行计算并反馈计算结果,使得多个客户端同时计算同一工程任务,也即,多台计算机分布式协同计算同一任务,有效减少了大型多构件项目的计算时间,提高了计算效率。
进一步地,在图1所示实施例的基础上,该方法还包括:根据预设的调整策略,对各个客户端的第一任务分量进行动态调整。
在本实施例中,在任务执行过程中,服务端还可以根据预设的调整策略对各客户端的任务分量进行动态调整,可以分为以下四种情况:
第一种:若第一客户端完成第一任务分量,则获取第二客户端的剩余任务分量,将第二客户端的剩余任务分量进行分割重新分配给第一客户端和第二客户端进行计算;第二客户端为除第一客户端之外的其它客户端中剩余任务分量最多的客户端。
在本实施例中,若第一客户端先完成自身任务后,服务端将挂起第一客户端的任务,并根据算法取消剩余任务分量最多的第二客户端的任务,将第二客户端的剩余任务分量进行分割并重新分配给第一客户端和第二客户端,第一客户端和第二客户端再次开始计算,以此循环。
第二种:若第二客户端的剩余任务分量小于预设任务分量阈值,则所有客户端同时计算第二客户端的剩余任务分量,当第三客户端完成计算时,结束所有客户端的计算;第三客户端为所有客户端中计算第二客户端的剩余任务分量用时最短的客户端。
在本实施例中,当第二客户端的剩余任务分量小于预设任务分量阈值时也即剩余任务分量较少时,参与计算的所有客户端将同时计算剩余任务分量,当某个客户端首先完成计算后结束所有客户端的计算,以减少计算时间。
第三种:若任务开始后,第四客户端加入通信连接,则将第二客户端的剩余任务分量进行分割重新分配给第四客户端和第二客户端进行计算。
在本实施例中,当任务开始后,如果有第四客户端加入通信连接,也即有其他新的客户端加入计算时,则根据算法取消剩余任务最多的第二客户端的任务,将第二客户端的剩余任务分量进行分割并重新分配给第二客户端和第四客户端,第二客户端和第四客户端再次开始计算,以此循环。
第四种:若任务开始后,第五客户端停止计算第一任务分量,则获取第五客户端的剩余任务分量,并将第五客户端的剩余任务分量分配第六客户端进行计算;第六客户端为已完成第一任务分量计算的客户端。
在本实施例中,当任务开始后,如果第五客户端停止计算第一任务分量,例如,某个客户端突然主动取消计算或者断线,服务端将第五客户端未完成的剩余任务分量缓存起来,当某个客户端完成自身任务后,从缓存中抽取第五客户端的剩余任务分量分配给该客户端,以使第六客户端继续计算,以此循环。
本实施例提供的任务处理方法,服务端还可以根据预设的调整策略对各客户端的任务分量进行动态调整,从而防止某个客户端计算能力较弱或中途停止计算而造成延长计算时间的情况,提高了计算效率。
图3为本发明实施例二提供的任务处理方法流程图,在图2所示实施例的基础上,如图3所示,该方法还包括以下步骤:
步骤201、当所有客户端完成计算时,将算量数据和计算结果数据进行存储,并将算量数据和计算结果数据复制到各个客户端。
在本实施例中,服务端分析出各客户端的第一任务分量均完成,也即工程量总任务完成后,将本地的算量数据和各客户端反馈的计算结果数据进行保存,并将并将算量数据和计算结果数据拷贝到各客户端,以达到共享计算结果的目的。
步骤202、与各个客户端断开通信连接。
在本实施例中,完成整个计算流程后,服务端主动释放与各个客户端的通信连接,从而释放计算机资源。
本实施例提供的任务处理方法,当所有客户端完成计算时,将算量数据和计算结果数据进行存储,并将算量数据和计算结果数据复制到各个客户端,以达到共享计算结果的目的,保持数据的一致性,并且,完成整个计算流程后,服务端主动释放与各个客户端的通信连接,从而释放计算机资源。
图4为本发明实施例三提供的任务处理方法流程图,在图2所示实施例的基础上,如图4所示,步骤101的实现方式包括以下步骤:
步骤301、发送广播消息;广播消息包括验证信息,且用于客户端进行身份验证。
在本实施例中,服务端发送向外发送包含验证信息的UDP广播消息,快速寻找可参与计算的计算机资源,以使客户端进行验证,该验证信息可以包括Revit信息、算量信息、项目信息等。
步骤302、接收各客户端发送的响应消息;响应消息包括客户端的连接地址。
在本实施例中,客户端完成验证后,向服务端发送包含客户端的连接地址的响应消息,以供服务端根据该响应消息对客户端的身份进行验证,若验证通过,则通信连接建立成功。
可选地,在步骤302之后,该任务处理方法还可以包括以下步骤:
步骤303、判断本地存储的算量数据与客户端的算量数据是否一致;若不一致,则将本地存储的算量数据复制到客户端,以使客户端根据本地存储的算量数据重新构建计算环境。
在本实施例中,等待通信连接完成后,为保证计算的一致性,服务端开始验证客户端的与服务端的算量数据是否一致,若不一致则将服务端的算量数据拷贝到客户端,客户端重新加载算量数据至内存,构件好工程量的计算环境。
本实施例提供的任务处理方法,服务端发送包括验证信息的广播消息,以使客户端进行身份验证,接收各客户端发送的包含客户端链接地址的响应消息,从而建立通信连接,方便服务端与客户端进行通信,并且,等待通信连接完成后,为保证计算的一致性,服务端开始验证客户端的与服务端的算量数据是否一致,若不一致则将服务端的算量数据拷贝到客户端,客户端重新加载算量数据至内存,构件好工程量的计算环境,保证计算结果的准确性。
图5为本发明实施例四提供的任务处理装置的框图,如图5所示,该装置包括建立模块11、构造模块12和分配模块13。建立模块11用于分别与多个客户端建立通信连接。构造模块12用于根据预先配置的规则构造工程量总任务,并将工程量总任务分割为多个第一任务分量。分配模块13用于将多个第一任务分量分别分配给多个客户端,以使客户端对第一任务分量进行计算并反馈计算结果。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明实施例五提供的任务处理装置的框图,如图6所示,该装置还包括调整模块14。调整模块14用于根据预设的调整策略,对各个客户端的第一任务分量进行动态调整。
进一步地,调整模块14具体用于若第一客户端完成第一任务分量,则获取第二客户端的剩余任务分量,将第二客户端的剩余任务分量进行分割重新分配给第一客户端和第二客户端进行计算;第二客户端为除第一客户端之外的其它客户端中剩余任务分量最多的客户端;或者,调整模块14具体用于若第二客户端的剩余任务分量小于预设任务分量阈值,则所有客户端同时计算第二客户端的剩余任务分量,当第三客户端完成计算时,结束所有客户端的计算;第三客户端为所有客户端中计算第二客户端的剩余任务分量用时最短的客户端;或者,调整模块14具体用于若任务开始后,第四客户端加入通信连接,则将第二客户端的剩余任务分量进行分割重新分配给第四客户端和第二客户端进行计算;或者,调整模块14具体用于若任务开始后,第五客户端停止计算第一任务分量,则获取第五客户端的剩余任务分量,并将第五客户端的剩余任务分量分配第六客户端进行计算;第六客户端为已完成第一任务分量计算的客户端。
图7为本发明实施例六提供的任务处理装置的框图,如图7所示,该装置还包括存储模块15。存储模块15用于当所有客户端完成计算时,将算量数据和计算结果数据进行存储,并将算量数据和计算结果数据复制到各个客户端。建立模块11还用于与各个客户端断开通信连接。
本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明实施例七提供的任务处理装置的框图,如图8所示,建立模块11包括发送子模块111和接收子模块112。发送子模块111用于发送广播消息;广播消息包括验证信息,且用于客户端进行身份验证。接收子模块112用于接收各客户端发送的响应消息;响应消息包括客户端的连接地址。
进一步地,如图8所示,该装置还包括判断模块16。判断模块16用于判断本地存储的算量数据与客户端的算量数据是否一致;若不一致,则将本地存储的算量数据复制到客户端,以使客户端根据本地存储的算量数据重新构建计算环境。
本实施例的装置,可以用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(random access memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种任务处理方法,其特征在于,包括:
分别与多个客户端建立通信连接;
根据预先配置的规则构造工程量总任务,并将所述工程量总任务分割为多个第一任务分量;
将多个所述第一任务分量分别分配给多个所述客户端,以使所述客户端对所述第一任务分量进行计算并反馈计算结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预设的调整策略,对各个所述客户端的第一任务分量进行动态调整。
3.根据权利要求2所述的方法,其特征在于,所述根据预设的调整策略,对各个所述客户端的任务分量进行动态调整,包括:
若第一客户端完成所述第一任务分量,则获取第二客户端的剩余任务分量,将所述第二客户端的剩余任务分量进行分割重新分配给所述第一客户端和所述第二客户端进行计算;所述第二客户端为除所述第一客户端之外的其它客户端中剩余任务分量最多的客户端;或者,
若所述第二客户端的剩余任务分量小于预设任务分量阈值,则所有客户端同时计算所述第二客户端的剩余任务分量,当第三客户端完成计算时,结束所有客户端的计算;所述第三客户端为所有客户端中计算所述第二客户端的剩余任务分量用时最短的客户端;或者,
若任务开始后,第四客户端加入所述通信连接,则将所述第二客户端的剩余任务分量进行分割重新分配给所述第四客户端和所述第二客户端进行计算;或者,
若任务开始后,第五客户端停止计算所述第一任务分量,则获取所述第五客户端的剩余任务分量,并将所述第五客户端的剩余任务分量分配第六客户端进行计算;所述第六客户端为已完成所述第一任务分量计算的客户端。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
当所有客户端完成计算时,将算量数据和计算结果数据进行存储,并将所述算量数据和所述计算结果数据复制到各个所述客户端;
与各个所述客户端断开所述通信连接。
5.根据权利要求1所述的方法,其特征在于,所述分别与多个客户端建立通信连接,包括:
发送广播消息;所述广播消息包括验证信息,且用于所述客户端进行身份验证;
接收各所述客户端发送的响应消息;所述响应消息包括所述客户端的连接地址。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断本地存储的算量数据与所述客户端的算量数据是否一致;
若不一致,则将所述本地存储的算量数据复制到所述客户端,以使所述客户端根据所述本地存储的算量数据重新构建计算环境。
7.一种任务处理装置,其特征在于,包括:
建立模块,用于分别与多个客户端建立通信连接;
构造模块,用于根据预先配置的规则构造工程量总任务,并将所述工程量总任务分割为多个第一任务分量;
分配模块,用于将多个所述第一任务分量分别分配给多个所述客户端,以使所述客户端对所述第一任务分量进行计算并反馈计算结果。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
调整模块,用于根据预设的调整策略,对各个所述客户端的第一任务分量进行动态调整。
9.根据权利要求8所述的装置,其特征在于,所述调整模块具体用于若第一客户端完成所述第一任务分量,则获取第二客户端的剩余任务分量,将所述第二客户端的剩余任务分量进行分割重新分配给所述第一客户端和所述第二客户端进行计算;所述第二客户端为除所述第一客户端之外的其它客户端中剩余任务分量最多的客户端;或者,
所述调整模块具体用于若所述第二客户端的剩余任务分量小于预设任务分量阈值,则所有客户端同时计算所述第二客户端的剩余任务分量,当第三客户端完成计算时,结束所有客户端的计算;所述第三客户端为所有客户端中计算所述第二客户端的剩余任务分量用时最短的客户端;或者,
所述调整模块具体用于若任务开始后,第四客户端加入所述通信连接,则将所述第二客户端的剩余任务分量进行分割重新分配给所述第四客户端和所述第二客户端进行计算;或者,
所述调整模块具体用于若任务开始后,第五客户端停止计算所述第一任务分量,则获取所述第五客户端的剩余任务分量,并将所述第五客户端的剩余任务分量分配第六客户端进行计算;所述第六客户端为已完成所述第一任务分量计算的客户端。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述装置还包括:
存储模块,用于当所有客户端完成计算时,将算量数据和计算结果数据进行存储,并将所述算量数据和所述计算结果数据复制到各个所述客户端;
所述建立模块还用于与各个所述客户端断开所述通信连接。
CN201610768996.XA 2016-08-30 2016-08-30 任务处理方法和装置 Pending CN106371923A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610768996.XA CN106371923A (zh) 2016-08-30 2016-08-30 任务处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610768996.XA CN106371923A (zh) 2016-08-30 2016-08-30 任务处理方法和装置

Publications (1)

Publication Number Publication Date
CN106371923A true CN106371923A (zh) 2017-02-01

Family

ID=57901591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610768996.XA Pending CN106371923A (zh) 2016-08-30 2016-08-30 任务处理方法和装置

Country Status (1)

Country Link
CN (1) CN106371923A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241767A (zh) * 2017-06-14 2017-10-10 广东工业大学 一种移动协同计算的方法及装置
CN108255609A (zh) * 2018-01-12 2018-07-06 瑞银国际物流(江苏)有限公司 一种基于设备芯片的Web VR分布式计算方法
CN114040380A (zh) * 2021-11-08 2022-02-11 北京百度网讯科技有限公司 一种数据下发方法、装置、电子设备、介质及产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1710542A (zh) * 2005-06-30 2005-12-21 上海交通大学 基于自由市场模型的海量空间信息分布式处理方法
CN102073546A (zh) * 2010-12-13 2011-05-25 北京航空航天大学 一种云计算环境中分布式计算模式下的任务动态调度方法
CN103853826A (zh) * 2014-03-05 2014-06-11 浪潮通信信息系统有限公司 一种分布式性能数据处理方法
CN104102541A (zh) * 2013-04-08 2014-10-15 鸿富锦精密工业(深圳)有限公司 签核动态调整方法及系统
CN104539709A (zh) * 2014-12-30 2015-04-22 广东威创视讯科技股份有限公司 分布式态势图的数据备份方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1710542A (zh) * 2005-06-30 2005-12-21 上海交通大学 基于自由市场模型的海量空间信息分布式处理方法
CN102073546A (zh) * 2010-12-13 2011-05-25 北京航空航天大学 一种云计算环境中分布式计算模式下的任务动态调度方法
CN104102541A (zh) * 2013-04-08 2014-10-15 鸿富锦精密工业(深圳)有限公司 签核动态调整方法及系统
CN103853826A (zh) * 2014-03-05 2014-06-11 浪潮通信信息系统有限公司 一种分布式性能数据处理方法
CN104539709A (zh) * 2014-12-30 2015-04-22 广东威创视讯科技股份有限公司 分布式态势图的数据备份方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
徐勤良: "基于志愿计算的大规模网络分布式分析架构研究", 《中国优秀硕士学位论文全文数据库》 *
徐迅 等: "建筑企业BIM私有云平台中心建设与实施", 《土木工程与管理学报》 *
李江燕: "一种分布式系统中动态负载均衡策略", 《洛阳工业高等专科学校学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241767A (zh) * 2017-06-14 2017-10-10 广东工业大学 一种移动协同计算的方法及装置
CN107241767B (zh) * 2017-06-14 2020-10-23 广东工业大学 一种移动协同计算的方法及装置
CN108255609A (zh) * 2018-01-12 2018-07-06 瑞银国际物流(江苏)有限公司 一种基于设备芯片的Web VR分布式计算方法
CN114040380A (zh) * 2021-11-08 2022-02-11 北京百度网讯科技有限公司 一种数据下发方法、装置、电子设备、介质及产品

Similar Documents

Publication Publication Date Title
CN109639521B (zh) 区块链性能的测试方法、装置、设备及存储介质
CN110162388A (zh) 一种任务调度方法、系统及终端设备
CN105337755B (zh) 主从架构服务器及其处理业务的方法和处理业务的系统
CN107087019A (zh) 一种端云协同计算架构及任务调度装置及方法
CN105573850B (zh) 多进程交互方法、系统和服务器
CN109445944A (zh) 一种基于dpdk的网络数据采集处理系统及其方法
CN106371923A (zh) 任务处理方法和装置
CN105871977A (zh) 长连接建立方法、装置及系统
CN104363407B (zh) 一种视频会议系统通讯方法及相应装置
CN104461716B (zh) 一种多核异构系统的访问方法及多核异构系统
CN103457881B (zh) 执行数据直通转发的系统
CN104468390B (zh) 软件定义网络中基于分布‑集中式架构模型的多控制器负载均衡的方法
CN108668139A (zh) 直播互动系统、方法及装置
CN107688495A (zh) 调度处理器的方法及设备
CN110309230A (zh) 基于区块链的区块生成方法、装置、设备及存储介质
CN103023980A (zh) 一种云平台处理用户服务请求的方法和系统
CN110278254A (zh) 用于FogCDN场景的调度方法及调度端
CN111767146A (zh) 一种基于网络重配置的分布式机器学习系统加速方法
Li et al. Cost-minimizing bandwidth guarantee for inter-datacenter traffic
CN106453139A (zh) 数据包调度的方法及装置
Zhao et al. Joint reducer placement and coflow bandwidth scheduling for computing clusters
CN105991588B (zh) 一种防御消息攻击的方法及装置
CN103299298B (zh) 处理业务的方法和系统
CN106911740A (zh) 一种缓存管理的方法和装置
CN108664354A (zh) 一种数据镜像方法及存储系统

Legal Events

Date Code Title Description
C06 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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170201