一种数据处理的方法及装置的制造方法_2

文档序号:8922448阅读:来源:国知局
明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申 请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0025] 图1为本申请实施例提供的数据处理的过程;
[0026] 图2为本申请实施例提供的第一种调整每个线程与数据标识的对应关系的方法;
[0027] 图3为本申请实施例提供的第二种调整每个线程与数据标识的对应关系的方法;
[0028] 图4为本申请实施例提供的数据处理的装置结构示意图。
【具体实施方式】
[0029] 为了均衡分布式处理系统中各分布式服务器存储的基础数据的数据量,本申请实 施例中可根据理论上每个线程对应的基础数据的平均数据量,将每个线程对应的基础数据 的数据量调整至近似于该平均数据量,再通过每个线程处理待处理数据。
[0030]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及 相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一 部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0031] 图1为本申请实施例提供的数据处理的过程,具体包括以下步骤:
[0032] S101 :确定基础数据的总量除预置的线程的数量的商值。
[0033] 在本申请实施例中,可在分布式处理系统的每个分布式服务器上预置若干个线 程,用于处理待处理数据,其中,在任意两个分布式服务器上预置的线程的数量的差值的绝 对值不大于第一预设阈值,也即,|队-%| <m,其中,队为在第i个分布式服务器上预置的 线程的数量,%为在第j个分布式服务器上预置的线程的数量,m为第一预设阈值,该第一 预设阈值例如可以设定为1,使得在任意两个分布式服务器上预置的线程的数量是近似相 等的。
[0034] 其中,线程在处理待处理数据时,需要基于待处理数据对应的基础数据进行处理。 本申请实施例中基础数据和待处理数据中均携带有数据标识,如果一个待处理数据携带的 数据标识与一个基础数据携带的数据标识相同,则该基础数据为该待处理数据对应的基础 数据。还可预设每个线程与数据标识的对应关系,则一个线程只处理携带与该线程对应的 数据标识的待处理数据。
[0035] 在本申请实施例中,可预先确定所有基础数据的总量(总数据量)除预置的线程的 数量的商值,该商值即为理论上每个线程所对应的基础数据的平均数据量。假设共预置了 x个线程,基础数据的总量为Y,则基础数据的总量除线程的数量的商值为?
d卩,每个线程 所对应的基础数据的平均数据量为
[0036] S102:针对每个线程,确定携带该线程对应的数据标识的基础数据的数据量。
[0037] 在本申请实施例中,可根据预设的每个线程与数据标识的对应关系,针对每个线 程,确定携带该线程对应的数据标识的基础数据的数据量,确定的该数据量即为实际该线 程对应的基础数据的实际数据量。其中,一个线程可以与多个数据标识对应,但一个数据标 识只对应一个线程。
[0038] 需要说明的是,上述步骤S101和S102的执行顺序不分先后。
[0039] S103:当存在确定的数据量减该商值的差值的绝对值大于第二预设阈值的线程 时,调整每个线程与数据标识的对应关系,使调整后携带每个线程对应的数据标识的基础 数据的数据量减该商值的差值的绝对值不大于第二预设阈值。
[0040] 在本申请实施例中,如果步骤S102确定的某个线程对应的基础数据的数据量减 步骤S101确定的商值的差值的绝对值大于第二预设阈值,也即,如果存在某个线程对应的 基础数据的实际数据量减理论上的平均数据量的差值的绝对值大于第二预设阈值,则说明 存在各线程对应的基础数据的实际数据量不均衡的情况,会导致某些分布式服务器的内存 浪费,某些分布式服务器的内存溢出,因此,可调整每个线程与数据标识的对应关系,使调 整后每个线程对应的基础数据的实际数据量与理论上的平均数据量近似相等,也即,调整 后每个线程对应的基础数据的实际数据量近似相等。
[0041] S104:针对每个线程,通过该线程,对携带调整后该线程对应的数据标识的待处理 数据进行处理。
[0042]调整了各线程与数据标识的对应关系后,则可根据调整后每个线程对应的数据标 识,针对每个线程,通过该线程对携带调整后该线程对应的数据标识的待处理数据进行处 理。具体的,在接收到一个待处理数据时,可根据调整后每个线程对应的数据标识,确定该 待处理数据中携带的数据标识对应的线程,并将该待处理数据发送给确定的该线程所在的 分布式服务器,使该分布式服务器通过该线程处理该待处理数据。其中,一个线程在处理一 个待处理数据时,先从自身所在的分布式服务器的内存中查找该待处理数据对应的基础数 据(携带的数据标识与该待处理数据携带的数据标识相同的基础数据),若查找到,则基于 查找到的基础数据处理该待处理数据,否则,从数据库中读取该待处理数据对应的基础数 据,并基于读取的基础数据处理该待处理数据,将读取的基础数据保存在自身所在的分布 式服务器的内存中。
[0043] 通过上述方法,由于调整后每个线程对应的基础数据的数据量都近似相等,而且 在各分布式服务器上预置的线程的数量也近似相等,因此,各线程读取并存储在自身所在 分布式服务器的内存中的基础数据的数据量也是近似相等的,可有效均衡各分布式服务器 的内存中存储基础数据的数据量,避免了某些分布式服务器存储的数据量较小而浪费存储 资源,以及某些分布式服务器存储的数据量较大而造成内存溢出的问题。
[0044] 具体的,可在分布式处理系统中预置分发器,由该分发器执行如图1所示的方法, 由该分发器接收待处理数据,确定接收到的待处理数据中携带的数据标识,并根据调整后 的每个线程与数据标识的对应关系,确定接收到的待处理数据中携带的数据标识对应的线 程,再将接收到的待处理数据发送确定的线程所在的分布式服务器上,使该分布式服务器 通过该确定的线程处理该待处理数据。当然,也可由分布式处理系统以外的设备执行如图1 所示的方法,例如,在对物流订单信息进行预测处理时,分布式处理系统中的各分布式服务 器是从数据库中读取物流订单信息的,因此,可由数据库执行如图1所示的方法,即,由数 据库调整各线程与数据标识的对应关系,并针对每个线程,将携带调整后与该线程对应的 数据标识的物流订单信息提供给该线程。
[0045] 在本申请实施例中,图1所示的数据处理方法可应用于物流订单处理场景,S卩,本 申请实施例所述的基础数据是对卖家的历史物流操作记录进行统计得到的(如,基础数据 可以为:卖家在订单产生后的T时间内发货的概率、使用某物流机构的概率等),所述的基 础数据中携带的数据标识可以是卖家标识,所述的待处理数据可以是物流订单。
[0046] 在实际应用场景中,线程与数据标识的对应关系一般是通过以下方法确定的:针 对每个线程,如果一个数据标识对所有线程的数量取余的值为该线程的线程标识,则该线 程与该数据标识对应。
[0047] 在这种应用场景下,图1所示的步骤S101中确定基础数据的总量除预置的线程的 数量的商值的方法可以为:分别针对每个数据标识,确定携带该数据标识的所有基础数据 的第一数据量,确定各第一数据量的和值除预置的线程的数量的商值。步骤S102中确定携 带一个线程对应的数据标识的基础数据的数据量的方法可以为:根据线程与数据标识的对 应关系,确定该线程对应的每个数据标识,针对确定该线程对应的每个数据标识,分别确定 携带该数据标识的所有基础数据的第二数据量,确定各第二数据量的和值,作为确定的携 带该线程对应的数据标识的基础数据的数据量。
[0048] 例如,假设数据标识为卖家标识,卖家标识为0、1、2、3以此类推,假设预置的线程 的数量为128个,则在确定基础数据的总量除预置的线程的数量的商值时,可针对卖家标 识0,确定所有携带该卖家标识0的基础数据的第一数据量,针对卖家标识1,确定所有携带 该卖家标识1的基础数据的第一数据量,以此类推。针对每个卖家标识确定了第一数据量 后,则可确定各第一数据量的和值,再确定该和值与线程的数量128的商值。
[0049] 在确定携带某个线程对应的数据标识的基础数据的数据量时,对于线程标识为3 的线程来说,卖家标识3、131、259、……、3+128Xn与该线程标识为3的线程对应,其中n 为正整数,因此,可针对卖家标识3,确定携带卖家标识3的基础数据的第二数据量,确定携 带卖家标识131的基础数据的第二数
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1