基于分布式服务器集群的数据计算方法及系统技术方案

技术编号:15690673 阅读:218 留言:0更新日期:2017-06-24 03:15
一种基于分布式服务器集群的数据计算方法,分布式服务器集群包括任务划分子集群、数据读取子集群以及数据计算子集群;分布式服务器集群中的服务器均为多线程服务器:任务划分子集群中的服务器在接收到计算任务时,分别向数据读取子集群中的服务器并行发起调用;数据读取子集群中的服务器响应任务划分子集群中的服务器发起的调用,从与调用的发起方对应的数据库分表中并行读取待计算数据条目;数据读取子集群中的服务器分别向数据计算子集群中的服务器并行发起调用,将读取到的待计算数据条目下发至数据计算子集群中的服务器,以由数据计算子集群中的服务器基于接收到的待计算数据条目执行多线程的并行计算。本申请可以提升计算性能和效率。

Data computing method and system based on distributed server cluster

A calculation method of distributed server cluster based on data distributed server cluster includes partitioning sub cluster, data read and data sub sub cluster computing cluster; distributed server cluster server is multi-threaded server: task partition sub cluster server computing tasks in receiving, respectively, to read data in the sub cluster parallel server initiated call; data read sub cluster server response task sub cluster server initiated the call from the originator and call the corresponding database table data to be calculated in parallel read entries; data read sub cluster server respectively to the data calculation server in the cluster parallel initiated the call, will read the data to be calculated items issued to the data calculation server in the cluster, by meter data A server in an operator cluster executes parallel computations of multiple threads based on received data items to be calculated. This application can improve computing performance and efficiency.

【技术实现步骤摘要】
基于分布式服务器集群的数据计算方法及系统
本申请涉及通信领域,尤其涉及一种基于分布式服务器集群的数据计算方法及系统。
技术介绍
在一些大规模数据计算的场景中,需要进行计算的数据库中包含的数量量通常非常庞大,而单台物理服务器的计算性能通常会存在极限。因此,为了应对单台服务器计算性能上的不足,业界常规的处理方式是,通过引入服务器集群参与并行计算,并对数据库进行分库分表;例如,可以将数据库中存储的数据分拆到不同的数据库和不同的数据库分表中。然而,这种方式在某种程度上,虽然可以缓解在大规模数据计算的场景下处理性能上的压力,但随着时间和业务的快速发展,各数据库分表中的数据量也会快速累积,因此仍然可能会造成集群在执行数据计算时,系统消耗过大,计算效率低的问题。
技术实现思路
本申请提出一种基于分布式服务器集群的数据计算方法,所述分布式服务器集群包括任务划分子集群、数据读取子集群以及数据计算子集群;其中,所述分布式服务器集群中的服务器均为多线程服务器,所述方法包括:任务划分子集群中的服务器在接收到计算任务时,分别向数据读取子集群中的服务器并行发起调用;数据读取子集群中的服务器响应所述任务划分子集群中的服务器发起的调用,从与所述调用的发起方对应的数据库分表中并行读取预设数量的待计算数据条目;所述数据读取子集群中的服务器分别向数据计算子集群中的服务器并行发起调用,将读取到的所述预设数量的待计算数据条目提交至所述数据计算子集群中的服务器,以由所述数据计算子集群中的服务器基于接收到的所述待计算数据条目执行多线程的并行计算。可选的,所述任务划分子集群中的服务器均在本地维护了对应的数据库分表;所述数据库分表包括待计算数据条目以及与所述待计算数据条目对应的计算状态;其中,所述计算状态包括初始状态、待计算状态、计算完成状态以及重算状态。可选的,所述方法还包括:所述任务划分子集群中的服务器基于预设策略,动态维护所述数据库分表中各待计算数据条目的计算状态;其中,所述预设策略包括:定时将所述数据库分表中的数据条目,设置为初始状态;当任一数据条目计算完成时,将该数据条目设置为计算完成状态;当接收到任一数据条目的计算参数或者任一数据条目的计算参数发生更新时,如果该数据条目为初始状态,将该数据条目设置为待计算状态;如果该数据条目为计算完成状态,将该数据条目设置为重算状态。可选的,所述计算任务包括定时计算任务以及实时计算任务;所述方法还包括:所述数据读取子集群中的服务器在从所述数据库分表中读取待计算数据条目时,如果所述计算任务为定时计算任务,优先读取所述待计算状态的数据条目;所述数据读取子集群中的服务器在从所述数据库分表中读取待计算数据条目时,如果所述计算任务为实时计算任务,优先读取重算状态的数据条目。可选的,所述任务划分子集群中的服务器提供批量访问接口,以使数据读取子集群中的服务器响应所述任务划分子集群中的服务器发起的调用时,从与所述调用的发起方对应的数据库分表中批量读取待计算数据条目。可选的,所述将读取到的所述预设数量的待计算数据条目提交至所述数据计算子集群中的服务器,包括:将读取到的所述预设数量的待计算数据条目进行拼接,得到目标字符串;将所述目标字符串下发至所述数据计算子集群中的服务器,以由所述数据计算子集群中的服务器针对所述目标字符串执行拆分,得到所述预设数量的待计算数据条目。本申请还提出一种基于分布式服务器集群的数据计算系统,所述分布式服务器集群中的服务器均为多线程服务器;所述分布式服务器集群包括任务划分子集群、数据读取子集群以及数据计算子集群;其中:任务划分子集群,任务划分子集群中的服务器在接收到计算任务时,分别向数据读取子集群中的服务器并行发起调用;数据读取子集群,数据读取子集群中的服务器响应所述任务划分子集群中的服务器发起的调用,从与所述调用的发起方对应的数据库分表中并行读取预设数量的待计算数据条目;以及,所述数据读取子集群中的服务器分别向数据计算子集群中的服务器并行发起调用,将读取到的所述预设数量的待计算数据条目提交至所述数据计算子集群中的服务器;数据计算子集群,基于接收到的所述待计算数据条目执行多线程的并行计算。可选的,所述任务划分子集群:所述任务划分子集群中的服务器均在本地维护了对应的数据库分表;所述数据库分表包括待计算数据条目以及与所述待计算数据条目对应的计算状态;其中,所述计算状态包括初始状态、待计算状态、计算完成状态以及重算状态。可选的,所述任务划分子集群:所述任务划分子集群中的服务器基于预设策略,动态维护所述数据库分表中各待计算数据条目的计算状态;其中,所述预设策略包括:定时将所述数据库分表中的数据条目,设置为初始状态;当任一数据条目计算完成时,将该数据条目设置为计算完成状态;当接收到任一数据条目的计算参数或者任一数据条目的计算参数发生更新时,如果该数据条目为初始状态,将该数据条目设置为待计算状态;如果该数据条目为计算完成状态,将该数据条目设置为重算状态。可选的,所述计算任务包括定时计算任务以及实时计算任务;所述数据读取子集群:所述数据读取子集群中的服务器在从所述数据库分表中读取待计算数据条目时,如果所述计算任务为定时计算任务,优先读取所述待计算状态的数据条目;所述数据读取子集群中的服务器在从所述数据库分表中读取待计算数据条目时,如果所述计算任务为实时计算任务,优先读取重算状态的数据条目。可选的,所述任务划分子集群:所述任务划分子集群中的服务器提供批量访问接口,以使数据读取子集群中的服务器响应所述任务划分子集群中的服务器发起的调用时,从与所述调用的发起方对应的数据库分表中批量读取待计算数据条目。可选的,所述数据读取子集群:所述数据读取子集群中的服务器将读取到的所述预设数量的待计算数据条目进行拼接,得到目标字符串,并将所述目标字符串下发至所述数据计算子集群中的服务器,以由所述数据计算子集群中的服务器针对所述目标字符串执行拆分,得到所述预设数量的待计算数据条目。本申请中,提出一种用于大规模数据计算的分布式的服务器集群架构,该分布式的服务器集群架构可以包括任务划分子集群、数据读取子集群以及数据计算子集群,任务划分子集群中的服务器在接收到计算任务时,分别向数据读取子集群中的服务器并行发起调用;数据读取子集群中的服务器响应任务划分子集群中的服务器发起的调用,从与所述调用的发起方对应的数据库分表中并行读取预设数量的待计算数据条目;数据读取子集群中的服务器分别向数据计算子集群中的服务器并行发起调用,将读取到的所述预设数量的待计算数据条目提交至所述数据计算子集群中的服务器,以由所述数据计算子集群中的服务器基于接收到的所述待计算数据条目执行多线程的并行计算;由于在基于该分布式的服务器集群架构进行数据计算时,可以将计算任务划分到不同的子集群中进行并行计算,因此可以显著的提升在进行大规模数据计算时的计算性能,以及计算效率。附图说明图1是本申请一实施例提供的一种本例示出的一种现有技术中在进行大规模数据计算时的系统架构图;图2是本申请一实施例提供的一种基于分布式服务器集群的数据计算方法的流程图;图3是本申请一实施例提供的一种基于分布式服务器集群的数据计算系统架构图。具体实施方式请参见图1,图1为本例示出的一种现有技术中在进行大规模本文档来自技高网...
基于分布式服务器集群的数据计算方法及系统

【技术保护点】
一种基于分布式服务器集群的数据计算方法,其特征在于,所述分布式服务器集群包括任务划分子集群、数据读取子集群以及数据计算子集群;其中,所述分布式服务器集群中的服务器均为多线程服务器,所述方法包括:任务划分子集群中的服务器在接收到计算任务时,分别向数据读取子集群中的服务器并行发起调用;数据读取子集群中的服务器响应所述任务划分子集群中的服务器发起的调用,从与所述调用的发起方对应的数据库分表中并行读取预设数量的待计算数据条目;所述数据读取子集群中的服务器分别向数据计算子集群中的服务器并行发起调用,将读取到的所述预设数量的待计算数据条目下发至数据计算子集群中的服务器,以由所述数据计算子集群中的服务器基于接收到的所述待计算数据条目执行多线程的并行计算。

【技术特征摘要】
1.一种基于分布式服务器集群的数据计算方法,其特征在于,所述分布式服务器集群包括任务划分子集群、数据读取子集群以及数据计算子集群;其中,所述分布式服务器集群中的服务器均为多线程服务器,所述方法包括:任务划分子集群中的服务器在接收到计算任务时,分别向数据读取子集群中的服务器并行发起调用;数据读取子集群中的服务器响应所述任务划分子集群中的服务器发起的调用,从与所述调用的发起方对应的数据库分表中并行读取预设数量的待计算数据条目;所述数据读取子集群中的服务器分别向数据计算子集群中的服务器并行发起调用,将读取到的所述预设数量的待计算数据条目下发至数据计算子集群中的服务器,以由所述数据计算子集群中的服务器基于接收到的所述待计算数据条目执行多线程的并行计算。2.根据权利要求1所述的方法,其特征在于,所述任务划分子集群中的服务器均在本地维护了对应的数据库分表;所述数据库分表包括待计算数据条目以及与所述待计算数据条目对应的计算状态;其中,所述计算状态包括初始状态、待计算状态、计算完成状态以及重算状态。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述任务划分子集群中的服务器基于预设策略,动态维护所述数据库分表中各待计算数据条目的计算状态;其中,所述预设策略包括:定时将所述数据库分表中的数据条目,设置为初始状态;当任一数据条目计算完成时,将该数据条目设置为计算完成状态;当接收到任一数据条目的计算参数或者任一数据条目的计算参数发生更新时,如果该数据条目为初始状态,将该数据条目设置为待计算状态;如果该数据条目为计算完成状态,将该数据条目设置为重算状态。4.根据权利要求1所述的方法,其特征在于,所述计算任务包括定时计算任务以及实时计算任务;所述方法还包括:所述数据读取子集群中的服务器在从所述数据库分表中读取待计算数据条目时,如果所述计算任务为定时计算任务,优先读取所述待计算状态的数据条目;所述数据读取子集群中的服务器在从所述数据库分表中读取待计算数据条目时,如果所述计算任务为实时计算任务,优先读取重算状态的数据条目。5.根据权利要求1所述的方法,其特征在于,所述任务划分子集群中的服务器提供批量访问接口,以使数据读取子集群中的服务器响应所述任务划分子集群中的服务器发起的调用时,从与所述调用的发起方对应的数据库分表中批量读取待计算数据条目。6.根据权利要求1所述的方法,其特征在于,所述将读取到的所述预设数量的待计算数据条目提交至所述数据计算子集群中的服务器,包括:将读取到的所述预设数量的待计算数据条目进行拼接,得到目标字符串;将所述目标字符串下发至所述数据计算子集群中的服务器,以由所述数据计算子集群中的服务器针对所述目标字符串执行拆分,得到所述预设数量的待计算数据条目。7.一种基于分布...

【专利技术属性】
技术研发人员:薛建军刘磊王学俊李剑虹杨富平仝浩男
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1