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

文档序号:8922448阅读:来源:国知局
据量,以此类推。针对与该线程标识为3的线程对应 的每个卖家标识都确定了第二数据量后,则可确定各第二数据量的和值,作为确定的携带 该线程标识为3的线程对应数据标识的基础数据的数据量。
[0050] 当然,还可根据线程与数据标识的对应关系,建立数据量对应表,如表1所示。
[0052] 表 1
[0053] 通过上述表1,可方便的确定基础数据的总量以及携带每个线程对应的数据标识 的基础数据的数据量。
[0054] 在上述确定线程与数据标识的对应关系的方法的场景(如果一个数据标识对所有 线程的数量取余的值为该线程的线程标识,则该线程与该数据标识对应)下,本申请实施例 图1所示的步骤S103中,调整每个线程与数据标识的对应关系的方法可包括两种,第一种 是调整线程的数量,即,增加或减少线程的数量,第二种是调整数据标识。下面对这两种调 整每个线程与数据标识的对应关系的方法进行详细说明。
[0055] 图2为本申请实施例提供的第一种调整每个线程与数据标识的对应关系的方法, 具体包括以下步骤:
[0056] S201 :调整线程的数量。
[0057] 也即,增加若干个线程或减少若干个线程。其中,调整线程的数量后,在任意两个 分布式服务器上调整后的线程的数量的差值的绝对值仍不大于第一预设阈值,也就是说, 调整线程数量的一个原则是:每个分布式服务器上的线程的数量是近似相等的。
[0058] 例如,一个分布式处理系统中有10个分布式服务器,初始时共预置128个线程,其 中的8个分布式服务器各预设13个线程,另外两个分布式服务器各预设12个线程,这128 个线程分别以线程标识0~127进行标识。
[0059] 对于一个线程来说,如果某个数据标识对线程的数量128取余的值等于该线程的 线程标识,则该数据标识与该线程对应。假设以基础数据中携带的卖家标识为数据标识,如 果一个基础数据中携带的卖家标识为131,其对线程总数128取余的值为3,则该卖家标识 与线程标识为3的线程对应。
[0060] 如果预置的这128个线程中存在携带该线程对应的卖家标识的基础数据的数据 量减步骤S101确定的商值的差值的绝对值大于第二预设阈值的线程,则可调整线程的数 量。
[0061] 例如,可在只有12个线程的两个分布式服务器上各增加1个线程,这样,10个分布 式服务器上就都有13个线程,共130个线程。
[0062] S202:根据调整后线程的数量,重新确定基础数据的总量除调整后所有线程的数 量的商值。
[0063] 调整了线程的数量后,则可重新确定调整后理论上每个线程对应的基础数据的数 据量。假设基础数据的总量为Y,调整后的线程的数量为x',则重新确定的商值为
^
[0064] S203:根据调整后线程的数量,重新为调整后的每个线程设定线程标识,并根据重 新设定的线程标识,确定每个线程与数据标识的对应关系。
[0065] 继续沿用上例,由于调整后共有130个线程,因此可将这130个线程重新以线程标 识0~129进行标识。重新设定了每个线程的标识后,每个线程与卖家标识的对应关系的 确定方法仍不变,即,仍然是如果一个卖家标识对调整后的线程数量取余的值等于调整后 一个线程的线程标识,则该卖家标识与该线程对应。
[0066] 但是,由于线程的数量发生了变化,因此,卖家标识与数据的对应关系就发生了改 变。仍以卖家标识131为例进行说明,当共有128个线程时,该卖家标识131对线程数量 128取余的值为3,因此卖家标识131与线程标识为3的线程对应,调整前各卖家标识与线 程标识的对应关系如表2所示。

[0068] 表 2
[0069] 其中,上述表2是以预置的线程数量为128个为例进行说明的。
[0070] 将线程的数量由128调整为130后,卖家标识131对调整后的线程的数量130取 余的值就变成了 1,因此,该卖家标识131对应的线程是线程标识为1的线程。调整线程的 数量后,各卖家标识与线程标识的对应关系如表3所示。
[0072] 表 3
[0073] 上述表3是以将预置的线程数量由128个调整为130个为例进行说明的。由此可 以看出,调整了线程的数量后,基于同样的方法确定出的线程与数据标识的对应关系也就 发生了改变。
[0074] S204:针对调整后的每个线程,根据重新确定的每个线程与数据标识的对应关系, 确定携带该线程对应的数据标识的基础数据的数据量。
[0075] 在本申请实施例中,通过调整线程的数量对线程与数据标识的对应关系进行了调 整后,则可针对调整后的每个线程,重新确定调整后该线程实际对应的基础数据的实际数 据量。
[0076] S205:判断是否存在重新确定的数据量减重新确定的商值的差值的绝对值大于第 二预设阈值的线程,若是,则返回步骤S201,否则,执行步骤S206。
[0077] S206 :调整结束。
[0078] 也即,调整线程的数量后,如果仍然存在调整后对应的实际数据量(由步骤S204 确定)减调整后每个线程对应的平均数据量
(由步骤S202确定)的差值的绝对值大于第 二预设阈值的线程,则重新调整线程的数量,直至调整后携带每个线程对应的数据标识的 基础数据的数据量减重新确定的商值的差值的绝对值均不大于第二预设阈值为止。
[0079] 具体的,在调整线程的数量时,可预设一个步进值,每次调整时可在当前线程的数 量的基础上,增加或减少该步进值的线程。例如,该步进值设定为1,则第一次调整可增加1 个线程,若调整失败(即,步骤S205的判断结果为是),则第二次再增加1个线程,直至调整 成功为止。
[0080] 进一步的,考虑到实际应用中每个分布式服务器由于自身性能的限制而导致可预 置的线程数量有限,因此,可预设一个最大数量,在调整线程的数量时,调整的线程的数量 不大于预设的该最大数量。另一方面,线程的数量越少,处理待处理数据的效率也就越低, 因此,为了保证处理待处理数据的效率,还可预设一个最小数量,在调整线程的数量时,调 整的线程的数量不小于预设的该最小数量。也即,在图2所示的步骤S201中,调整的线程 的数量不大于预设的最大数量,且不小于预设的最小数量。
[0081] 图3为本申请实施例提供的第二种调整每个线程与数据标识的对应关系的方法, 具体包括以下步骤:
[0082] S301 :针对每个线程,在所有基础数据中,选择出未被选择过的、且数据量相加的 和值减该商值的差值的绝对值不大于第二预设阈值的各基础数据。
[0083] 在本申请实施例提供的第二种调整对应关系的方法中,是以不改变线程的数量的 条件下,改变线程与数据标识的对应关系的,可针对每个线程,根据步骤S101确定出的理 论上每个线程对应的基础数据的平均数据量,从所有的基础数据中选择出未被选择过的、 且数据量相加的和值与该理论上的平均数据量近似相等的各基础数据。
[0084] S302:将该线程对应的数据标识调整为选择出的各基础数据中携带的数据标识。
[0085] 针对一个线程选择出数据量相加的和值与该理论上的平均数据量近似相等的各 基础数据后,则可将该线程对应的数据标识调整为选择出的各基础数据中携带的数据标 识。
[0086] 进一步的,为了不改变现行的确定线程与数据标识对应关系的方法(S卩,如果一个 数据标识对所有线程的数量取余的值为该线程的线程标识,则该线程与该数据标识对应), 步骤S302中在将某个线程对应的数据标识调整为选择出的各基础数据中携带的数据标识 时,可对选择出的各基础数据中携带的数据标识进行调整。具体的,可调整选择出的各基础 数据中携带的数据标识,调整后的各数据标识各不相同,且对所有线程的数量取余的值为 该线程的线程标识。当然,调整了基础数据中携带的数据标识后,所有携带原来的数据标识 (即,调整前的数据标识)的数据(如,待处理数据)中携带的数据标识也会相应变为调整后的 数据标识。也即,虽然各线程与数据标识的对应关系发生了改变,导致各线程与基础数据的 对应关系发生了改变,但是基础数据与待处理数据之间的对应关系却是未发生改变的。
[0087] 例如,一个分布式处理系统中有10个分布式服务器,初始时共预置128个线程,其 中的8个分布式服务器各预设13个线程,另外两个分布式服务器各预设12个线程,这128 个线程分别以线程标识0~127进行标识。
[0088] 假设以基础数据中携带的卖家标识为数据标识,则假设针对线程标识为1的线 程,
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1