CN103677752B - 基于分布式数据的并发处理方法和系统 - Google Patents
基于分布式数据的并发处理方法和系统 Download PDFInfo
- Publication number
- CN103677752B CN103677752B CN201210349311.XA CN201210349311A CN103677752B CN 103677752 B CN103677752 B CN 103677752B CN 201210349311 A CN201210349311 A CN 201210349311A CN 103677752 B CN103677752 B CN 103677752B
- Authority
- CN
- China
- Prior art keywords
- task
- data block
- distributed
- data
- control end
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1006—Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Abstract
一种基于分布式数据的并发处理方法,包括以下步骤:控制端获取提交的作业对应的数据块信息;任务处理端向控制端发送任务处理请求;控制端查找与任务处理端分布于同一服务器且还未分配的数据块,将查找到的数据块分配给任务处理端;若未查找到相应的数据块,则控制端统计正在被任务处理端处理的数据块最少的服务器,将该服务器上未分配的数据块分配给任务处理端;任务处理端按照预设流程处理控制端分配的数据块。上述方法可并发处理分布式数据。而且任务处理端优先处理本机存储的数据块,或者处理正在被处理的数据块最少的服务器上的未分配的数据块,可提高并发处理的整体速度。此外,还提供一种基于分布式数据的并发处理系统。
Description
【技术领域】
本发明涉及数据处理技术领域,特别涉及一种基于分布式数据的并发处理方法和系统。
【背景技术】
随着信息与通讯技术的发展,海量数据时代已经到来。各个行业需要存储的数据量与日俱增,尤其是需要存储大量用户数据的行业,例如金融、电信、网络通信服务(电子邮件、即时通信)、网络社交服务(微博、论坛)等等。
海量数据一般被分布式存储于多台服务器中,存储海量数据的服务器可达几千台甚至上万台。这些服务器可位于一个或多个服务器集群,亦或者位于一个或多个数据处理中心。一些数据库的数据存储方式也为分布式存储方式,例如,xcube数据库。xcube为分布式的NoSQL数据库,它将大数据量的数据表划分为多个子表,分别将子表存储到多台服务器上,并将子表信息记录在路由表中。子表信息包括子表的开始行键值、结束行键值、子表的数据量和子表所在的服务器。子表的开始行键值、结束行键值分别表示子表的开始行和结束行的主键的键值。。子表中包含开始行键值在父数据表中对应的位置到结束行键值在父数据表中对应的位置的所有记录。
海量数据的快速处理是人们需要面对的问题。多线程、多任务分解的处理方式可对单机存储的数据进行并发处理,而如何协调服务器集群中的服务器对分布式海量数据进行并发处理,提高海量数据的处理速度是亟需解决的问题。
【发明内容】
基于此,有必要提供一种能快速并发处理分布式数据的基于分布式数据的并发处理方法。
一种基于分布式数据的并发处理方法,包括以下步骤:
控制端获取提交的作业对应的数据块信息;
任务处理端向所述控制端发送任务处理请求;
所述控制端查找与所述任务处理端分布于同一服务器且还未分配的数据块,将查找到的数据块分配给所述任务处理端;
若未查找到与所述任务处理端分布于同一服务器且还未分配的数据块,则所述控制端统计正在被任务处理端处理的数据块最少的服务器,将该服务器上未分配的数据块分配给所述任务处理端;
所述任务处理端按照预设流程处理所述控制端分配的数据块。
基于此,还有必要提供一种能并发处理分布式数据的基于分布式数据的并发处理系统。
一种基于分布式数据的并发处理系统,包括控制端和多个任务处理端,所述控制端包括初始化模块、任务分配模块,其中:
所述初始化模块用于获取提交的作业对应的数据块信息;
所述任务处理端用于向所述控制端发送任务处理请求;
所述任务分配模块用于查找与所述任务处理端分布于同一服务器且还未分配的数据块,将查找到的数据块分配给所述任务处理端;
所述任务分配模块还用于若未查找到与所述任务处理端分布于同一服务器且还未分配的数据块,则统计正在被任务处理端处理的数据块最少的服务器,将该服务器上未分配的数据块分配给所述任务处理端;
所述任务处理端还用于按照预设流程处理所述控制端分配的数据块。
上述基于分布式数据的并发处理方法和系统,控制端可将分布式存储的数据块分别分配给不同的任务处理端进行处理,达到并发处理分布式数据的目的。而且,上述方法和系统中,控制端将数据块优先分配给与数据块分布于同一服务器的任务处理端进行处理,任务处理端优先处理本机存储的数据块,可提高数据块的处理速度,从而提高并发处理的整体速度。另外,当不存在还未分配的与任务处理端分布于同一服务器的数据块时,将正在被处理的数据块最少的服务器上的未分配的数据块分配给任务处理端,可提高任务处理端处理数据块的速度。因为存储数据块的服务器上被任务处理端处理的数据块数量少,说明与服务器交互的任务处理端数量少,服务器较为空闲,处理较为空闲的服务器上的数据块,服务器的响应速度也快,处理数据块的速度就快,从而可提高并发处理的整体速度。
【附图说明】
图1为一个实施例中的基于分布式数据的并发处理方法的流程示意图;
图2为一个实施例中控制端和任务处理端的部署示意图;
图3为另一实施例中的基于分布式数据的并发处理方法的流程示意图;
图4为一个实施例中数据块处理中断恢复的流程示意图;
图5为一个应用场景中的基于分布式数据的并发处理方法的原理图;
图6为一个实施例中控制端与任务处理端建立通信的原理图;
图7为一个实施例中控制端分配任务的分配算法的流程图;
图8为一个实施例中基于分布式数据的并发处理方法包括的初始化步骤。
图9为一个实施例中的基于分布式数据的并发处理系统的结构示意图;
图10为一个实施例中控制端的结构示意图;
图11为另一实施例中控制端的结构示意图。
【具体实施方式】
本发明中,控制端与多个任务处理端交互,控制端为任务处理端分配任务,任务处理端处理控制端分配的任务。优选的,控制端和任务处理端部署于不同的服务器上。进一步优选的,一台服务器部署一个任务处理端。
如图1所示,在一个实施例中,一种基于分布式数据的并发处理方法,包括以下步骤:
步骤S101,控制端获取提交的作业对应的数据块信息。
具体的,作业对应的数据块可为分布式存储于多个服务器的文件块或数据表。在一个实施例中,数据块信息包括数据块标识、数据块的数据量大小和数据块所在服务器标识。具体的,数据块标识可为文件块的存储地址或数据表的表名。服务器标识可为服务器IP地址。
在一个实施例中,步骤S101可向管理提交的作业对应的数据块的数据管理系统请求获取提交的作业对应的数据块信息。
在一个实施例中,提交的作业可为xcube数据库的数据表,用数据表名称和数据表中的键值范围来标识,表示该数据表中该键值范围内的记录为待处理的作业。键值范围由数据表中待处理的开始行键值和结束行键值组成。步骤S101可根据数据表名称和键值范围在xcube存储子表信息的路由表中查找对应的子表信息,获取到作业对应的子表的开始行键值、结束行键值、数据量大小和所在的服务器标识。在一个实施例中,子表标识由数据表名称以及子表对应的开始行键值和/或结束行键值构成。
步骤S102,任务处理端向控制端发送任务处理请求。
在一个实施例中,控制端被启动后,可在指定的文件中写入控制端的标识,或者向用于管理控制端标识的预设系统发送控制端的标识。具体的,控制端的标识可由控制端所在的服务器地址、控制端的端口号和时间戳组成。任务处理端被启动后,可在指定的文件中读取控制端的标识,或者向用于管理控制端标识的预设系统请求获取控制端的标识。任务处理端获取到控制端的标识后,可向控制端发送注册包。注册成功后,任务处理端可以一定的频率向控制端发送心跳包。控制端接收到心跳包后,可扫描是否还有可分配的数据块,若有,则可向任务处理端发送有可分配数据块的响应包。任务处理端接收到有可分配数据块的响应包后,即可向控制端发送任务处理请求。
具体的,任务处理请求中可包含任务处理端所在服务器标识。具体的,服务器标识为服务器的IP地址。
步骤S103,控制端查找与任务处理端分布于同一服务器且还未分配的数据块,将查找到的数据块分配给任务处理端。
如图2所示,在一个实施例中,控制端和任务处理端与提交的作业对应的数据块分布式部署于相同的服务器集群或相同的数据处理中心。任务处理端与作业对应的数据块有可能分布于同一服务器。
具体的,控制端可在作业对应的数据块信息中查找与任务处理端分布于同一服务器且还未分配的数据块。优选的,控制端可查找与任务处理端分布于同一服务器的还未分配的数据块中数据量最大的数据块。本实施例中,优先处理数据量大的数据块,可避免出现长尾效应,加快并发处理的整体速度。所谓长尾效应,即最后剩下的少数数据块的数据量很大,需要很长时间才能处理完,而一个数据块由一个任务处理端负责处理,在处理最后剩下的数据块的很长一段时间内,只有少数的任务处理端在工作,可能大部分任务处理端处理空闲状态,并发程度较低,从而降低了整体的处理速度。
具体的,控制端可将查找到的数据块的数据块标识、数据量大小和所在的服务器标识发送给任务处理端。
步骤S104,若未查找到与任务处理端分布于同一服务器且还未分配的数据块,则控制端统计正在被任务处理端处理的数据块最少的服务器,将该服务器上未分配的数据块分配给任务处理端。
优选的,控制端可将正在被任务处理端处理的数据块最少的服务器上数据量最大的数据块分配给任务处理端。同理,本实施例将优先将数据量大的数据块分配给任务处理端,可避免长尾效应,提高并发处理的整体速度。
步骤S 105,任务处理端按照预设流程处理控制端分配的数据块。
具体的,接收到控制端发送的数据块信息后,任务处理端可与数据块所在的服务器建立通信,并按照预设的流程处理数据块中的数据,存储得到的中间处理结果和最终处理结果。
如图3所示,在一个实施例中,一种基于分布式数据的并发处理方法,包括以下步骤:
步骤S301,控制端获取提交的作业的预设信息。
具体的,作业的预设信息包括作业标识。在一个实施例中,提交的作业可为xcube数据库的数据表,作业标识由数据表名称和数据表中的键值范围组成。根据作业标识可确定哪一个数据表中的哪一段键值范围内的记录为待处理的作业。
步骤S302,控制端检查作业是否已经成功初始化,若否,则执行步骤S303,若是,则执行步骤S304。
在一个实施例中,控制端可判断在指定的文件中上述预设信息对应的作业是否被标记为已经成功初始化状态。在另一个实施例中,控制端可向用于管理控制端中断恢复信息的预设系统查询上述预设信息对应的作业是否已经成功初始化。具体的,用于管理控制端中断恢复信息的预设系统和上述管理控制端标识的系统可为同一个系统。
本实施例中,控制端被启动后,先检查提交的作业是否已经成功初始化,若否,说明控制端是初始被启动,则执行步骤S303进行作业初始化,若已经成功初始化,说明先前控制端在处理该作业时因为故障死机或中断,当前控制端被再次启动,则不需要再初始化提交的作业。
步骤S303,获取作业对应的数据块信息,在预设的作业处理情况表中存储作业对应的数据块信息,并在作业处理情况表中记录数据块为未分配状态,标记作业为已经成功初始化状态。
具体的,作业处理情况表包括字段(列):主键、数据块标识、数据块的数据量大小、数据块所在服务器标识和处理状态。在一个实施例中,作业处理情况表的主键可由控制端的标识和唯一序列号组成。具体的,数据块的唯一序列号为从1开始的递增序列号。在一个实施例中,处理状态字段的值包括未分配状态、已分配状态、错误状态和完成状态。控制端可将每一个数据块的数据块信息存储到作业情况处理表中一条记录的对应字段,并从1开始递增的生成数据块的唯一序列号,将控制端的标识与唯一序列号组成这条记录的主键,并在该记录的处理状态标记“未分配状态”。
步骤S304,等待任务处理端发送任务处理请求。
步骤S305,任务处理端向控制端发送任务处理请求。
具体的,任务处理请求中包含任务处理端所在服务器标识。
步骤S306,控制端在作业处理情况表中查找作业对应的数据块中与任务处理端分布于同一服务器且还未分配的数据块,将查找到的数据块分配给任务处理端。
具体的,控制端可查找作业处理情况表中数据块所在服务器标识与任务处理请求中包含的任务处理端所在服务器相同且处于未分配状态的记录,将查找到的记录中的数据块信息发送给任务处理端。
步骤S307,若未查找到与任务处理端分布于同一服务器且还未分配的数据块,则控制端根据作业处理情况表统计正在被任务处理端处理的数据块最少的服务器,将作业处理情况表中该服务器上未分配的数据块分配给任务处理端。
具体的,控制端可统计作业情况处理表中各数据块所在服务器标识对应的处理状态为已分配状态的记录数,获取还有未分配数据块的服务器中对应的记录数最少的服务器,进一步的,将该服务器上未分配的数据块的数据块信息发送给任务处理端。优选的,可将该服务器上未分配的数据量最小的数据块的数据块信息发送给任务处理端。
步骤S308,控制端分配数据块后,在作业处理情况表中记录数据块为已分配状态。
具体的,可设置数据块对应记录中的处理状态字段为“已分配状态”。在一个实施例中,作业处理情况表还包括用于记录数据块被分配的任务处理端所在服务器标识的字段。控制端分配数据块后,可将数据块被分配的任务处理端所在服务器标识记录到作业处理情况表中对应的字段中。
步骤S309,任务处理端按照预设流程处理控制端分配的数据块。
上述基于分布式数据的并发处理方法,控制端将提交的作业对应的数据块信息以及数据块的处理情况记录在作业处理情况表中,并根据作业处理情况表中数据块的处理状态分配数据块给任务处理端。若控制端因为故障死机或中断,当控制端再次被启动后,依然可根据作业情况处理表中作业对应的数据块的处理情况来分配数据块,不需要重新分配作业对应的所有数据块,从而可提高分布式数据的并发处理故障恢复性能。
如图4所示,在一个实施例中,上述基于分布式数据的并发处理方法,还包括数据块处理中断恢复的步骤:
步骤S401,任务处理端向控制端上报处理的数据块的完成进度。
具体的,完成进度可为已完成的数据量大小。根据已完成的数据量大小和数据块的起始位置可得到已经处理完成的数据的末尾位置,该末尾位置也为未处理的数据的起始位置。在一个实施例中,任务处理端处理的数据块为数据表,则完成进度可为数据表中已经处理的记录数。
步骤S402,控制端在作业处理情况表中记录数据块的完成进度。
具体的,作业处理情况表还包括表示数据块完成进度的字段以及数据块被分配的服务器标识字段,数据块被分配的服务器标识即处理数据块的服务器标识。控制端可将数据块的完成进度记录到作业处理情况表中对应的字段中,对应的字段为上报完成进度的任务处理端所在的服务器标识对应的完成进度字段。当数据块已经处理完成时,控制端可在作业处理情况表中标识该数据块的处理状态为完成状态。
步骤S403,当处理某一数据块的任务处理端的处理中断后,控制端将处理中断的数据块分配给请求任务的任务处理端,并将该数据块的完成进度发送给请求任务的任务处理端。
在一个实施例中,任务处理端按照一定的频率向控制端上报数据块的完成进度,并存储该完成进度对应的处理数据块得到的中间处理结果。具体的,可将中间处理结果存储到数据块所在服务器的指定位置。当任务处理端因为故障死机或挂掉后,则不再向控制端上报数据块的完成进度。当控制端在预设时长内未收到任务处理端上报的数据块的完成进度时,可判定任务处理端发生故障。控制端可将分配给该任务处理端的数据块的数据信息以及数据块的完成进度发送给请求任务的任务处理端。该请求任务的任务处理端可为发送故障后又被重新启动的任务处理端或其它任务处理端。
步骤S404,请求任务的任务处理端根据数据块的完成进度处理数据块。
具体的,任务处理端可根据数据块的完成进度计算数据块中未处理的数据的起始位置,从该起始位置起计算数据块中的数据,并结合该起始位置前的数据的中间处理结果计算和/或存储该起始位置后的数据的中间处理结果。例如,数据块为数据表,数据表的完成进度为一万条,则任务处理端可从该数据表的第一万零一条记录开始处理数据表中的数据。
上述基于分布式数据的并发处理方法,控制端记录每一数据块的完成进度,当处理某一数据块的任务处理端发生故障时,可将数据块分配给请求任务的任务处理端,被分配数据块的任务处理端根据数据块的完成进度处理数据块中还未处理的数据,不需要从头处理数据块中的数据,从而可提高分布式数据并发处理的速度。
在一个实施例中,作业的预设信息包括作业是否为周期性作业的信息。本实施例中,上述基于分布式数据的并发处理方法还包括:
若作业为周期性作业,则控制端在作业对应的数据块都已处理完时,清除作业处理情况表中作业对应的记录,标记作业为未成功初始化状态,进入获取作业对应的数据块信息的步骤。
本实施例中,若作业为周期性作业,则当作业已经处理完成时,清除作业处理情况表中作业对应的记录,标记作业为未成功初始化状态,并获取作业对应的数据块信息,可自动进入下一轮作业初始化过程,并处理作业对应的数据块,不需要用户反复提交作业,可方便用户的操作,同时也提高数据处理速度。
在一个实施例中,上述基于分布式数据的并发处理方法还包括步骤:展示提交的作业对应的数据块的分配情况信息和完成情况信息。具体的,分配情况包括数据块是否被分配、被分配处理数据块的任务处理端所在服务器标识等信息。完成情况信息包括已经完成的数据量大小和/或已经完成数据量百分比等信息。
本实施例中,展示数据块的分配情况信息和完成情况信息可方便用户查看分布式数据的并发处理情况、分析并发处理性能,从而可提高用户操作便利性。
下面以一个具体的应用场景来说明上述基于分布式数据的并发处理方法。
控制端和任务处理端分布式部署于xcube数据库的数据存储服务器集群或数据存储中心。如图5所示,控制端将xcube数据库中大数据量数据表对应的分布式存储于不同服务器上的子表分配给多个任务处理端,多个任务处理端并发处理分配给本机的子表数据。
在一个实施例中,上述基于分布式数据的并发处理方法包括以下步骤:
(1)控制端与任务处理端建立通信。如图6所示,(a)控制端被启动后,向用于管理控制端标识的预设系统写入控制端的标识。具体的,控制端的标识可由控制端所在服务器地址、控制端的端口号和时间戳组成。(b)任务处理端被启动后,向用于管理控制端标识的预设系统请求获取控制端的标识。(c)任务处理端获取到控制端的标识后,向控制端发送注册包。(d)注册成功后,任务处理端以一定的频率向控制端发送心跳包,控制端对心跳包做出响应。从而控制端与任务处理端建立通信。
(2)控制端获取提交的待处理的xcube数据表的名称和键值范围。具体的,。键值范围由数据表中待处理的开始行键值和结束行键值组成。
(3)控制端从xcube数据库获取待处理的子表信息。具体的,控制端根据xcube数据库中的路由表获取待处理的xcube数据表的名称和键值范围对应的子表的子表标识、数据量大小和所在服务器IP地址。在一个实施例中,子表标识由待处理的xcube数据表的名称以及子表对应的开始行键值和/或结束行键值构成。
进一步的,控制端将获取的子表信息存储到作业处理情况表中。
具体的,如表1所示,作业处理情况表中包含表示主键、子表标识、子表数据量大小、子表所在服务器IP地址、处理状态、完成进度和子表被分配的服务器IP地址的字段(列)。具体的,主键由控制端的标识和唯一序列号组成。具体的,该唯一序列号为从1开始的递增序列号。子表标识由父数据表的数据表名称以及子表的开始行键值和/或结束行键值组成。子表数据量大小即子表包含的记录条数。子表所在服务器IP地址,即存储子表的服务器IP地址。处理状态字段的值包括未分配状态、已分配状态、错误状态和完成状态。子表被分配的服务器IP地址即处理子表的任务处理端所在服务器IP地址。当子表未分配时,处理状态为未处理状态。当处理子表的任务端超过预设时长未向控制端上报完成进度时,处理状态为错误状态。当子表中的所有记录被处理完成时,处理状态为完成状态。
具体的,控制端获取到子表信息后,可从1开始递增的生成子表的唯一序列号,将控制端的标识与唯一序列号组成主键,将主键与获取的某一个子表的子表标识、数据量大小和所在服务器IP地址对应存储到作业情况处理表中相应的字段中。
表1
(4)任务处理端向控制端发送任务处理请求。
控制端接收到心跳包后,可扫描是否还有可分配的数据块,若有,则可向任务处理端发送有可分配数据块的响应包。任务处理端接收到有可分配数据块的响应包后,即可向控制端发送任务处理请求。任务处理请求中包含任务处理端所在服务器IP地址。
(5)控制端按照一定的分配算法将可分配的子表分配给任务处理端。
在分配任务之前,控制端可将作业情况处理表中的记录按照store_ip排序,同一store_ip对应的记录按照record_num由大到小排序。
图7为分配算法的流程图,分配算法如下:
控制端获取任务处理请求中包含的任务处理端所在服务器IP地址,记为IP1;
在作业处理情况表中查找是否有store_ip等于IP1且status为未分配状态或错误状态的记录;
若是,则在符合条件的记录中查找record_num最大的记录,将该记录中的子表信息发送给请求任务的任务处理端;
若否,则获取作业处理情况表中还有可分配的子表(status等于未分配状态或错误状态的子表)的服务器(store_ip),并统计获取的各服务器上存储的子表中status等于已分配状态的子表的数量,选择该数量最多的服务器(store_ip),并获取该服务器上存储的status等于为未分配状态或错误状态的record_num最大的子表,将该子表信息发送给请求任务的任务处理端;
发送给任务处理端的子表信息包括:table_id、store_ip、progress。
在作业处理情况表中,将分配的子表的status设置为已分配状态,并设置对应的assign_ip为请求中包含的任务处理端所在服务器IP地址。
(6)任务处理端接收控制端发送的子表信息,根据子表信息处理子表数据。具体的,任务处理端与子表所在服务器(store_ip对应的服务器)建立通信,并根据子表的完成进度(progress)处理子表中还未处理的记录。
(7)任务处理端以一定的频率向控制端上报处理的子表的完成进度,即已处理的记录条数。
(8)控制端接收到上报的完成进度后,在作业情况处理表中子表对应的progress字段记录上报的完成进度。
若完成进度等于该子表的record_mum,则设置该子表的status为完成状态。
若超过预设时长,控制端都没有接收到处理某一子表的任务处理端上报的完成进度,则设置该子表的status为错误状态。
上述基于分布式数据的并发处理方法,控制端记录每一个子表的完成进度,当处理某一子表的任务处理端发生故障时,可将该子表分配给请求任务的任务处理端,被分配该子表的任务处理端根据子表的完成进度处理子表中还未处理的记录,不需要从头处理子表的所有,从而可提高分布式数据并发处理的速度。
若控制端因为故障死机或中断,当控制端再次被启动后,控制端需要重新获取提交的待处理的xcube数据表的名称和键值范围,并重新将待处理的xcube数据表的名称和键值范围对应的子表分配给任务处理端,而任务处理端也需要重新处理子表数据。因此需要建立故障恢复机制。
如图8所示,上述基于分布式数据的并发处理方法,包括以下初始化步骤:
步骤S801,控制端获取提交的待处理的xcube数据表的名称和键值范围。
步骤S802,控制端向用于管理控制端中断恢复信息的预设系统查询待处理的xcube数据表的名称和键值范围对应的初始化状态是否为成功初始化状态。
具体的,用于管理控制端中断恢复信息的预设系统中存储了xcube数据表的名称和键值范围对应的初始化状态,初始化状态包括成功初始化状态和未成功初始化状态。
若为未成功初始化状态,说明控制端本次是初始被启动,则需要将提交的作业进行初始化,若为成功初始化状态,说明先前控制端在处理该作业时因为故障死机或中断,当前控制端被再次启动,则不需要再初始化提交的作业。
若为未成功初始化状态,则执行步骤S803,若为成功初始化状态,则执行步骤S804。
步骤S803,控制端从xcube数据库获取待处理的子表信息,控制端将获取的子表信息存储到作业处理情况表中。进一步的,在用于管理控制端中断恢复信息的预设系统中将提交的xcube数据表的名称和键值范围对应的初始化状态设置为成功初始化状态。
步骤S804,控制端等待任务处理端发送任务处理请求。
接收到任务处理端发送的任务处理请求后,则进入上述的步骤(5)。
上述基于分布式数据的并发处理方法,控制端将提交的xcube数据表的名称和键值范围对应的子表信息以及子表的处理情况记录在作业处理情况表中,并根据作业处理情况表中子表的处理状态分配子表给任务处理端。若控制端因为故障死机或中断,当控制端再次被启动后,依然可根据作业情况处理表中提交的xcube数据表的名称和键值范围对应的子表的处理情况来分配子表,不需要重新分配所有子表,从而可提高分布式数据的并发处理故障恢复性能。
若提交的xcube数据表的名称和键值范围对应的数据为需要反复处理的周期性作业,则用户需要反复提交作业(即提交该xcube数据表的名称和键值范围),以启动控制端和任务处理端分配以及处理作业,提交作业的工作量将增多。从而有必要提供一种可反复循环处理周期性作业的基于分布式数据的并发处理方法。
上述基于分布式数据的并发处理方法,在上述步骤(8)之后,可判断提交的xcube数据表的名称和键值范围对应的数据是否为周期性作业。是否为周期性作业的属性由用户提交作业时输入。
若是周期性作业,则在作业处理情况表中当xcube数据表的名称和键值范围对应的子表的status状态都为完成状态时,清除作业处理情况表中xcube数据表的名称和键值范围对应的所有记录,即清除主键中包括控制端的标识的所有记录,并在用于管理控制端中断恢复信息的预设系统中标记提交的xcube数据表的名称和键值范围对应的初始化状态为未成功初始化状态,进一步的,进入上述步骤(3),从而进入下一轮的子表分配处理过程。若不是周期性作业,则结束。
上述基于分布式数据的并发处理方法,若作业为周期性作业,当作业已经处理完成时,可自动进入下一轮作业初始化过程,并分配处理作业,不需要用户反复提交作业,可方便用户的操作,同时也提高数据处理速度。
如图9所示,在一个实施例中,一种基于分布式数据的并发处理系统,包括控制端10和多个任务处理端20,控制端10包括:初始化模块101、任务分配模块102,其中:
初始化模块101用于获取提交的作业对应的数据块信息。
具体的,作业对应的数据块可为分布式存储于多个服务器的文件块或数据表。在一个实施例中,数据块信息包括数据块标识、数据块的数据量大小和数据块所在服务器标识。具体的,数据块标识可为文件块的存储地址或数据表的表名。服务器标识可为服务器IP地址。
在一个实施例中,初始化模块101可向管理提交的作业对应的数据块的数据管理系统请求获取提交的作业对应的数据块信息。
在一个实施例中,提交的作业可为xcube数据库的数据表,用数据表名称和数据表中的键值范围来标识,表示该数据表中该键值范围内的记录为待处理的作业。键值范围由数据表中待处理的开始行键值和结束行键值组成。初始化模块101可根据数据表名称和键值范围在xcube存储子表信息的路由表中查找对应的子表信息,获取到作业对应的子表的开始行键值、结束行键值、数据量大小和所在的服务器标识。在一个实施例中,子表标识由数据表名称以及子表对应的开始行键值和/或结束行键值构成。
任务处理端20用于向控制端10发送任务处理请求。
在一个实施例中,控制端10被启动后,可在指定的文件中写入控制端10的标识,或者向用于管理控制端标识的预设系统发送控制端10的标识。具体的,控制端10的标识可由控制端10所在的服务器地址、控制端10的端口号和时间戳组成。任务处理端20被启动后,可在指定的文件中读取控制端10的标识,或者向用于管理控制端标识的预设系统请求获取控制端的标识。任务处理端20获取到控制端10的标识后,可向控制端10发送注册包。注册成功后,任务处理端20可以一定的频率向控制端10发送心跳包。控制端10接收到心跳包后,可扫描是否还有可分配的数据块,若有,则可向任务处理端20发送有可分配数据块的响应包。任务处理端20接收到有可分配数据块的响应包后,即可向控制端10发送任务处理请求。
具体的,任务处理请求中可包含任务处理端20所在服务器标识。具体的,服务器标识为服务器的IP地址。
任务分配模块102用于查找与任务处理端20分布于同一服务器且还未分配的数据块,将查找到的数据块分配给任务处理端20。
在一个实施例中,控制端10和任务处理端20与提交的作业对应的数据块分布式部署于相同的服务器集群或相同的数据处理中心。任务处理端20与作业对应的数据块有可能分布于同一服务器。
具体的,控制端10可在作业对应的数据块信息中查找与任务处理端分布于同一服务器且还未分配的数据块。优选的,控制端10可查找与任务处理端20分布于同一服务器的还未分配的数据块中数据量最大的数据块。本实施例中,优先处理数据量大的数据块,可避免出现长尾效应,加快并发处理的整体速度。所谓长尾效应,即最后剩下的少数数据块的数据量很大,需要很长时间才能处理完,而一个数据块由一个任务处理端20负责处理,在处理最后剩下的数据块的很长一段时间内,只有少数的任务处理端20在工作,可能大部分任务处理端20处理空闲状态,并发程度较低,从而降低了整体的处理速度。
具体的,控制端10可将查找到的数据块的数据块标识、数据量大小和所在的服务器标识发送给任务处理端20。
任务分配模块102还用于若未查找到与任务处理端20分布于同一服务器且还未分配的数据块,则控制端10统计正在被任务处理端20处理的数据块最少的服务器,将该服务器上未分配的数据块分配给任务处理端20。
优选的,控制端10可将正在被任务处理端20处理的数据块最少的服务器上数据量最大的数据块分配给任务处理端20。同理,本实施例将优先将数据量大的数据块分配给任务处理端20,可避免长尾效应,提高并发处理的整体速度。
任务处理端20还用于按照预设流程处理控制端10分配的数据块。
具体的,接收到控制端10发送的数据块信息后,任务处理端20可与数据块所在的服务器建立通信,并按照预设的流程处理数据块中的数据,存储得到的中间处理结果和最终处理结果。
在一个实施例中,初始化模块101用于获取提交的作业的预设信息,检查作业是否已经成功初始化,若否,则获取作业对应的数据块信息,在预设的作业处理情况表中存储所述作业对应的数据块信息,并在作业处理情况表中记录数据块为未分配状态,标记作业为已经成功初始化状态。在一个实施例中,若作业未成功初始化,则初始化模块101可等待任务处理端发送任务处理请求。
具体的,作业的预设信息包括作业标识。在一个实施例中,提交的作业可为xcube数据库的数据表,作业标识由数据表名称和数据表中的键值范围组成。根据作业标识可确定哪一个数据表中的哪一段键值范围内的记录为待处理的作业。
在一个实施例中,初始化模块101可判断在指定的文件中上述预设信息对应的作业是否被标记为已经成功初始化状态。在另一个实施例中,初始化模块101可向用于管理控制端中断恢复信息的预设系统查询上述预设信息对应的作业是否已经成功初始化。具体的,用于管理控制端中断恢复信息的预设系统和上述用于管理控制端标识的预设系统可为同一个系统。
具体的,作业处理情况表包括字段(列):主键、数据块标识、数据块的数据量大小、数据块所在服务器标识和处理状态。在一个实施例中,作业处理情况表的主键可由控制端10的标识和唯一序列号组成。具体的,数据块的唯一序列号为从1开始的递增序列号。在一个实施例中,处理状态字段的值包括未分配状态、已分配状态、错误状态和完成状态。若作业未初始化成功,初始化模块101可将每一个数据块的数据块信息存储到作业情况处理表中一条记录的对应字段,并从1开始递增的生成数据块的唯一序列号,将控制端10的标识与唯一序列号组成这条记录的主键,并在该记录的处理状态标记“未分配状态”。
本实施例中,控制端10被启动后,初始化模块101先检查提交的作业是否已经成功初始化,若否,说明控制端10是初始被启动,则初始化模块101进行作业初始化,若已经成功初始化,说明先前控制端10在处理该作业时因为故障死机或中断,当前控制端10被再次启动,则不需要再初始化提交的作业。
本实施例中,任务分配模块102用于在作业处理情况表中查找作业对应的数据块中与任务处理端分布于同一服务器且还未分配的数据块,将查找到的数据块分配给任务处理端20。
具体的,任务分配模块102可查找作业处理情况表中数据块所在服务器标识与任务处理请求中包含的任务处理端20所在服务器相同且处于未分配状态的记录,将查找到的记录中的数据块信息发送给任务处理端20。
任务分配模块102还用于若未查找到与任务处理端分布于同一服务器且还未分配的数据块,则根据作业处理情况表统计正在被任务处理端处理的数据块最少的服务器,将作业处理情况表中该服务器上未分配的数据块分配给所述任务处理端20。
具体的,任务分配模块102可统计作业情况处理表中各数据块所在服务器标识对应的处理状态为已分配状态的记录数,获取还有未分配数据块的服务器中对应的记录数最少的服务器,进一步的,将该服务器上未分配的数据块的数据块信息发送给任务处理端20。优选的,可将该服务器上未分配的数据量最小的数据块的数据块信息发送给任务处理端20。
如图10所示,本实施例中控制端10还包括处理情况记录模块103,用于在任务分配模块102分配数据块后,在作业处理情况表中记录数据块为已分配状态。
具体的,处理情况记录模块103可设置数据块对应记录中的处理状态字段为“已分配状态”。在一个实施例中,作业处理情况表还包括用于记录数据块被分配的任务处理端20所在服务器标识的字段。任务分配模块102分配数据块后,处理情况记录模块103可将数据块被分配的任务处理端20所在服务器标识记录到作业处理情况表中对应的字段中。
上述基于分布式数据的并发处理系统,控制端10将提交的作业对应的数据块信息以及数据块的处理情况记录在作业处理情况表中,并根据作业处理情况表中数据块的处理状态分配数据块给任务处理端20。若控制端10因为故障死机或中断,当控制端10再次被启动后,依然可根据作业情况处理表中作业对应的数据块的处理情况来分配数据块,不需要重新分配作业对应的所有数据块,从而可提高分布式数据的并发处理故障恢复性能。
在一个实施例中,任务处理端20还用于向控制端10上报处理的数据块的完成进度。
具体的,完成进度可为已完成的数据量大小。根据已完成的数据量大小和数据块的起始位置可得到已经处理完成的数据的末尾位置,该末尾位置也为未处理的数据的起始位置。在一个实施例中,任务处理端20处理的数据块为数据表,则完成进度可为数据表中已经处理的记录数。
处理情况记录模块103还用于在作业处理情况表中记录数据块的完成进度。
具体的,作业处理情况表还包括表示数据块完成进度的字段以及数据块被分配的服务器标识字段,数据块被分配的服务器标识即处理数据块的服务器标识。处理情况记录模块103可将数据块的完成进度记录到作业处理情况表中对应的字段中,对应的字段为上报完成进度的任务处理端所在的服务器标识对应的完成进度字段。当数据块已经处理完成时处理情况记录模块103可在作业处理情况表中标识该数据块的处理状态为完成状态。
任务分配模块102还用于当处理某一数据块的任务处理端20的处理中断后,任务分配模块102将处理中断的数据块分配给请求任务的任务处理端20,并将该数据块的完成进度发送给请求任务的任务处理端20。
在一个实施例中,任务处理端20按照一定的频率向控制端10上报数据块的完成进度并存储该完成进度对应的处理数据块得到的中间处理结果。具体的,可将中间处理结果存储到数据块所在服务器的指定位置。当任务处理端20因为故障死机或挂掉后,则不再向控制端10上报数据块的完成进度。当任务分配模块102在预设时长内未收到任务处理端20上报的数据块的完成进度时,可判定任务处理端20发生故障。任务分配模块102可将分配给该任务处理端20的数据块的数据信息以及数据块的完成进度发送给请求任务的任务处理端20。该请求任务的任务处理端20可为发送故障后又被重新启动的任务处理端20或其它任务处理端20。
任务处理端20还用于根据数据块的完成进度处理数据块。
具体的,任务处理端20可根据数据块的完成进度计算数据块中未处理的数据的起始位置,从该起始位置起计算数据块中的数据,并结合该起始位置前的数据的中间处理结果计算和/或存储该起始位置后的数据的中间处理结果。例如,数据块为数据表,数据表的完成进度为一万条,则任务处理端20可从该数据表的第一万零一条记录开始处理数据表中的数据。
上述基于分布式数据的并发处理系统,控制端10记录每一数据块的完成进度,当处理某一数据块的任务处理端20发生故障时,可将数据块分配给请求任务的任务处理端20,被分配数据块的任务处理端20根据数据块的完成进度处理数据块中还未处理的数据,不需要从头处理数据块中的数据,从而可提高分布式数据并发处理的速度。
在一个实施例中,作业的预设信息包括作业是否为周期性作业的信息。如图11所示,本实施例中,控制端10还包括清除模块104,用于若作业为周期性作业,则在作业对应的数据块都已处理完时,清除作业处理情况表中作业对应的记录,标记作业为未成功初始化状态,并通知初始化模块101获取作业对应的数据块信息。
本实施例中,若作业为周期性作业,则当作业已经处理完成时,清除作业处理情况表中作业对应的记录,标记作业为未成功初始化状态,并通知初始化模块101获取作业对应的数据块信息,可自动进入下一轮作业初始化过程,并处理作业对应的数据块,不需要用户反复提交作业,可方便用户的操作,同时也提高数据处理速度。
在一个实施例中,上述基于分布式数据的并发处理系统还包括展示端(图中未示出),用于展示提交的作业对应的数据块的分配情况信息和完成情况信息。具体的,分配情况包括数据块是否被分配、被分配处理数据块的任务处理端20所在服务器标识等信息。完成情况信息包括已经完成的数据量大小和/或已经完成数据量百分比等信息。
本实施例中,展示数据块的分配情况信息和完成情况信息可方便用户查看分布式数据的并发处理情况、分析并发处理性能,从而可提高用户操作便利性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序控制相关的硬件来完成的,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种基于分布式数据的并发处理方法,包括以下步骤:
控制端获取提交的作业的预设信息;
所述控制端检查所述作业是否已经成功初始化,若否,则所述控制端获取提交的作业对应的数据块信息,在获取所述作业对应的数据块信息后,在预设的作业处理情况表中存储所述作业对应的数据块信息,并在所述作业处理情况表中记录所述数据块为未分配状态,标记所述作业为已经成功初始化状态,若是,则等待任务处理端发送任务处理请求;
任务处理端向所述控制端发送任务处理请求;
所述控制端查找与所述任务处理端分布于同一服务器且还未分配的数据块,将查找到的数据块分配给所述任务处理端;
若未查找到与所述任务处理端分布于同一服务器且还未分配的数据块,则所述控制端统计正在被任务处理端处理的数据块最少的服务器,将该服务器上未分配的数据块分配给请求任务的任务处理端;
所述请求任务的任务处理端按照预设流程处理所述控制端分配的数据块。
2.根据权利要求1所述的基于分布式数据的并发处理方法,其特征在于,所述控制端查找与所述任务处理端分布于同一服务器的还未分配的数据块的步骤为:
所述控制端查找与所述任务处理端分布于同一服务器的还未分配的数据块中数据量最大的数据块。
3.根据权利要求1所述的基于分布式数据的并发处理方法,其特征在于,所述将该服务器上未分配的数据块分配给请求任务的任务处理端的步骤为:
将该服务器上数据量最大的数据块分配给所述请求任务的任务处理端。
4.根据权利要求1所述的基于分布式数据的并发处理方法,其特征在于,所述控制端查找与所述任务处理端分布于同一服务器且还未分配的数据块的步骤为:所述控制端在所述作业处理情况表中查找所述作业对应的数据块中与所述任务处理端分布于同一服务器且还未分配的数据块;
所述控制端统计正在被任务处理端处理的数据块最少的服务器,将该服务器上未分配的数据块分配给请求任务的任务处理端的步骤为:所述控制端根据所述作业处理情况表统计正在被任务处理端处理的数据块最少的服务器,将所述作业处理情况表中该服务器上未分配的数据块分配给所述请求任务的任务处理端;
所述方法还包括:
所述控制端分配数据块后,在所述作业处理情况表中记录所分配的数据块为已分配状态。
5.根据权利要求4所述的基于分布式数据的并发处理方法,其特征在于,所述方法还包括:
所述请求任务的任务处理端向所述控制端上报处理的数据块的完成进度;
所述控制端在所述作业处理情况表中记录所述处理的数据块的完成进度;
当处理某一数据块的任务处理端的处理中断后,所述控制端将处理中断的数据块分配给请求任务的任务处理端,并将所述处理中断的数据块的完成进度发送给所述请求任务的任务处理端,所述请求任务的任务处理端根据所述处理中断的数据块的完成进度处理所述处理中断的数据块。
6.根据权利要求5所述的基于分布式数据的并发处理方法,其特征在于,所述作业的预设信息包括作业是否为周期性作业的信息;
所述方法还包括:
若所述作业为周期性作业,则所述控制端在所述作业对应的数据块都已处理完时,清除所述作业处理情况表中所述作业对应的记录,标记所述作业为未成功初始化状态,进入所述控制端获取提交的作业对应的数据块信息的步骤。
7.一种基于分布式数据的并发处理系统,其特征在于,包括控制端和多个任务处理端,所述控制端包括初始化模块、任务分配模块,其中:
所述初始化模块用于获取提交的作业的预设信息,检查所述作业是否已经成功初始化,若否,则获取提交的作业对应的数据块信息,在预设的作业处理情况表中存储所述作业对应的数据块信息,并在所述作业处理情况表中记录所述数据块为未分配状态,标记所述作业为已经成功初始化状态;
所述任务处理端用于向所述控制端发送任务处理请求;
所述任务分配模块用于查找与所述任务处理端分布于同一服务器且还未分配的数据块,将查找到的数据块分配给所述任务处理端;
所述任务分配模块还用于若未查找到与所述任务处理端分布于同一服务器且还未分配的数据块,则统计正在被任务处理端处理的数据块最少的服务器,将该服务器上未分配的数据块分配给请求任务的任务处理端;
所述请求任务的任务处理端还用于按照预设流程处理所述控制端分配的数据块。
8.根据权利要求7所述的基于分布式数据的并发处理系统,其特征在于,所述任务分配模块用于查找与所述任务处理端分布于同一服务器的还未分配的数据块中数据量最大的数据块,将查找到的数据块分配给所述请求任务的任务处理端。
9.根据权利要求7所述的基于分布式数据的并发处理系统,其特征在于,所述任务分配模块还用于若未查找到与所述任务处理端分布于同一服务器且还未分配的数据块,则统计正在被任务处理端处理的数据块最少的服务器,将该服务器上数据量最大的数据块分配给所述请求任务的任务处理端。
10.根据权利要求7所述的基于分布式数据的并发处理系统,其特征在于,所述任务分配模块用于在所述作业处理情况表中查找所述作业对应的数据块中与所述任务处理端分布于同一服务器且还未分配的数据块;
所述任务分配模块还用于若未查找到与所述任务处理端分布于同一服务器且还未分配的数据块,则根据所述作业处理情况表统计正在被任务处理端处理的数据块最少的服务器,将所述作业处理情况表中该服务器上未分配的数据块分配给所述请求任务的任务处理端;
所述控制端还包括处理情况记录模块,用于在所述任务分配模块分配数据块后,在所述作业处理情况表中记录所分配的数据块为已分配状态。
11.根据权利要求10所述的基于分布式数据的并发处理系统,其特征在于,所述请求任务的任务处理端还用于向所述控制端上报处理的数据块的完成进度;
所述处理情况记录模块还用于在所述作业处理情况表中记录所述处理的数据块的完成进度;
所述任务分配模块还用于当处理某一数据块的任务处理端的处理中断后,将处理中断的数据块分配给请求任务的任务处理端,并将所述处理中断的数据块的完成进度发送给所述请求任务的任务处理端;
所述请求任务的任务处理端还用于根据所述处理中断的数据块的完成进度处理所述处理中断的数据块。
12.根据权利要求11所述的基于分布式数据的并发处理系统,其特征在于,所述作业的预设信息包括作业是否为周期性作业的信息;
所述控制端还包括:
清除模块,用于若所述作业为周期性作业,则在所述作业对应的数据块都已处理完时,清除所述作业处理情况表中所述作业对应的记录,标记所述作业为未成功初始化状态,并通知所述初始化模块获取所述作业对应的数据块信息。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210349311.XA CN103677752B (zh) | 2012-09-19 | 2012-09-19 | 基于分布式数据的并发处理方法和系统 |
PCT/CN2013/083281 WO2014044136A1 (zh) | 2012-09-19 | 2013-09-11 | 基于分布式数据的并发处理方法、系统和计算机存储介质 |
US14/615,715 US10009441B2 (en) | 2012-09-19 | 2015-02-06 | Distributed data-based concurrent processing method and system, and computer storage medium |
US15/985,147 US10200497B2 (en) | 2012-09-19 | 2018-05-21 | Distributed data-based concurrent processing method and system, and computer storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210349311.XA CN103677752B (zh) | 2012-09-19 | 2012-09-19 | 基于分布式数据的并发处理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677752A CN103677752A (zh) | 2014-03-26 |
CN103677752B true CN103677752B (zh) | 2017-02-08 |
Family
ID=50315433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210349311.XA Active CN103677752B (zh) | 2012-09-19 | 2012-09-19 | 基于分布式数据的并发处理方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10009441B2 (zh) |
CN (1) | CN103677752B (zh) |
WO (1) | WO2014044136A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US9612921B2 (en) * | 2013-03-01 | 2017-04-04 | Teradata Us, Inc. | Method and system for load balancing a distributed database providing object-level management and recovery |
CN104077182B (zh) * | 2014-06-30 | 2017-04-26 | 西安交通大学 | 一种同优先级任务调度策略 |
CN104917842A (zh) * | 2015-06-16 | 2015-09-16 | 上海斐讯数据通信技术有限公司 | 一种批量任务处理系统及方法 |
CN106445676B (zh) * | 2015-08-05 | 2019-10-22 | 杭州海康威视系统技术有限公司 | 一种分布式数据计算的任务分配方法和任务分配装置 |
CN107103009B (zh) * | 2016-02-23 | 2020-04-10 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
CN105959346A (zh) * | 2016-04-19 | 2016-09-21 | 中国银联股份有限公司 | 基于服务器集群的数据处理系统及方法 |
CN106844020A (zh) * | 2016-12-01 | 2017-06-13 | 明博教育科技股份有限公司 | 不同任务遍历大量共享数据的高效处理方法及系统 |
CN106682872A (zh) * | 2016-12-19 | 2017-05-17 | 北京锐安科技有限公司 | 一种任务派发方法及装置 |
CN107018075B (zh) * | 2017-04-06 | 2020-12-18 | 深圳市阿尔法智汇科技有限公司 | 一种综合数据处理服务器系统 |
CN110856045B (zh) * | 2019-09-30 | 2021-12-07 | 咪咕视讯科技有限公司 | 视频处理方法、电子设备和存储介质 |
CN112328392A (zh) * | 2020-10-27 | 2021-02-05 | 金蝶软件(中国)有限公司 | 一种数据处理方法及相关设备 |
CN115098537B (zh) * | 2021-10-19 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 事务执行方法、装置、计算设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5682507A (en) * | 1995-06-07 | 1997-10-28 | Tandem Computers, Incorporated | Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records |
CN101216782A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种金融数据实现etl加工的方法和系统 |
CN101520805A (zh) * | 2009-03-25 | 2009-09-02 | 中兴通讯股份有限公司 | 一种分布式文件系统及其文件处理方法 |
CN102156659A (zh) * | 2011-03-28 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 一种文件作业任务的调度方法及系统 |
CN102479225A (zh) * | 2010-11-26 | 2012-05-30 | 中国移动通信集团四川有限公司 | 一种分布式数据分析和处理方法及系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2955561B1 (ja) * | 1998-05-29 | 1999-10-04 | 株式会社ディジタル・ビジョン・ラボラトリーズ | ストリーム通信システム及びストリーム転送制御方法 |
US20010039497A1 (en) * | 2000-03-30 | 2001-11-08 | Hubbard Edward A. | System and method for monitizing network connected user bases utilizing distributed processing systems |
US20030037045A1 (en) * | 2001-05-21 | 2003-02-20 | Ian Melhado | Distributed computing environment for recognition of proteomics spectra |
US7373466B1 (en) * | 2004-04-07 | 2008-05-13 | Advanced Micro Devices, Inc. | Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer |
US8018945B2 (en) * | 2004-04-29 | 2011-09-13 | Interdigital Technology Corporation | Method and apparatus for forwarding non-consecutive data blocks in enhanced uplink transmissions |
US10997531B2 (en) * | 2007-09-11 | 2021-05-04 | Ciambella Ltd. | System, method and graphical user interface for workflow generation, deployment and/or execution |
EP2244515A1 (en) * | 2009-04-23 | 2010-10-27 | Panasonic Corporation | Logical channel prioritization procedure for generating multiple uplink transport blocks |
JP2011076304A (ja) * | 2009-09-30 | 2011-04-14 | Hitachi Ltd | ジョブ割当装置、ジョブ割当方法およびジョブ割当プログラム |
US8935469B2 (en) * | 2011-01-12 | 2015-01-13 | International Business Machines Corporation | Autonomic reclamation processing for tapes |
TWI451249B (zh) * | 2011-12-15 | 2014-09-01 | Phison Electronics Corp | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 |
US20130238851A1 (en) * | 2012-03-07 | 2013-09-12 | Netapp, Inc. | Hybrid storage aggregate block tracking |
AU2013240631B2 (en) * | 2012-03-26 | 2016-06-09 | Telefonaktiebolaget L M Ericsson (Publ) | Methods of selecting MIMO ranks and related devices |
-
2012
- 2012-09-19 CN CN201210349311.XA patent/CN103677752B/zh active Active
-
2013
- 2013-09-11 WO PCT/CN2013/083281 patent/WO2014044136A1/zh active Application Filing
-
2015
- 2015-02-06 US US14/615,715 patent/US10009441B2/en active Active
-
2018
- 2018-05-21 US US15/985,147 patent/US10200497B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5682507A (en) * | 1995-06-07 | 1997-10-28 | Tandem Computers, Incorporated | Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records |
CN101216782A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种金融数据实现etl加工的方法和系统 |
CN101520805A (zh) * | 2009-03-25 | 2009-09-02 | 中兴通讯股份有限公司 | 一种分布式文件系统及其文件处理方法 |
CN102479225A (zh) * | 2010-11-26 | 2012-05-30 | 中国移动通信集团四川有限公司 | 一种分布式数据分析和处理方法及系统 |
CN102156659A (zh) * | 2011-03-28 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 一种文件作业任务的调度方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US10009441B2 (en) | 2018-06-26 |
US10200497B2 (en) | 2019-02-05 |
WO2014044136A1 (zh) | 2014-03-27 |
CN103677752A (zh) | 2014-03-26 |
US20180270323A1 (en) | 2018-09-20 |
US20150156276A1 (en) | 2015-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677752B (zh) | 基于分布式数据的并发处理方法和系统 | |
US9135370B2 (en) | Method and apparatus of generating update parameters and displaying correlated keywords | |
CN102831120B (zh) | 一种数据处理方法及系统 | |
CN104601696B (zh) | 服务处理方法、服务调用系统、装置和系统 | |
CN104750690B (zh) | 一种查询处理方法、装置及系统 | |
CN103699618B (zh) | 数据报表的生成方法和系统 | |
WO2013078583A1 (zh) | 优化数据访问的方法及装置、优化数据存储的方法及装置 | |
CN103019651A (zh) | 复杂任务的并行处理方法和装置 | |
CN101771723A (zh) | 数据同步方法 | |
WO2022134471A1 (zh) | 区块链节点的管理方法、装置、计算机设备和存储介质 | |
CN107483381A (zh) | 关联账户的监控方法及装置 | |
CN106131244A (zh) | 一种报文传送方法及装置 | |
CN114443770A (zh) | 数据同步方法、装置、介质及电子设备 | |
CN103714144B (zh) | 一种信息检索装置和方法 | |
CN101778131A (zh) | 数据同步系统 | |
CN103729417B (zh) | 一种数据扫描的方法及装置 | |
CN101789963A (zh) | 数据同步系统 | |
CN111385294B (zh) | 数据处理方法、系统、计算机设备和存储介质 | |
CN111538588A (zh) | 分布式数据处理方法及相关装置 | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 | |
JP2001229058A (ja) | データベースサーバ処理方法 | |
CN111259062B (zh) | 一种能够保证分布式数据库全表查询语句结果集顺序的方法和装置 | |
CN111143177B (zh) | Ibm主机的rmf iii数据的收集方法、系统、装置及存储介质 | |
CN101320443A (zh) | 一种电子工单的处理方法及处理装置 | |
CN107885780A (zh) | 一种针对分布式查询执行的性能数据收集方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180926 Address after: 100089 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Patentee after: Tencent cloud computing (Beijing) limited liability company Address before: 518044 East 403 room, Sai Ge science and Technology Park, Futian District Zhenxing Road, Shenzhen, Guangdong, China, 2 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |
|
TR01 | Transfer of patent right |