Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TASK PROCESSING METHOD, SYSTEM, TERMINAL, AND COMPUTER READABLE STORAGE MEDIUM
Document Type and Number:
WIPO Patent Application WO/2018/196154
Kind Code:
A1
Abstract:
A task processing method, a system, a terminal, and a computer readable storage medium, the method comprising: before executing a task, one or a plurality of servers sends a first temporary directory creation request to a distributed application program coordination service zookeeper; zookeeper selects a server, and sends to the selected server information comprising the agreement to create a first temporary directory, the selected server being a first server; the first server creates in zookeeper a first temporary directory corresponding uniquely to the task; and the first server executes the task corresponding to the first temporary directory. The present method can ensure that there will not be repeat execution of the same task due to deviations of the time on the servers.

Inventors:
FAN FAHUI (CN)
FANG YIBO (CN)
WU SHAOTANG (CN)
CHEN PENG (CN)
Application Number:
PCT/CN2017/090314
Publication Date:
November 01, 2018
Filing Date:
June 27, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
PING AN TECH SHENZHEN CO LTD (CN)
International Classes:
H04L29/08; G06F11/00
Foreign References:
CN103744724A2014-04-23
CN105100259A2015-11-25
CN103916481A2014-07-09
CN106059843A2016-10-26
Attorney, Agent or Firm:
SHENZHEN ZHONGYI PATENT AND TRADEMARK OFFICE (CN)
Download PDF:
Claims:
权利要求书

[权利要求 1] 一种任务处理方法, 其特征在于, 包括:

在一个或多个服务器执行任务之前, 向分布式应用程序协调服务 zook eeper发送第一临吋目录创建请求;

所述 zookeeper选择一个服务器, 向被选择的服务器发送包含同意创 建第一临吋目录的信息, 所述被选择的服务器为第一服务器; 所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第 一临吋目录;

所述第一服务器执行所述第一临吋目录对应的任务。

[权利要求 2] 如权利要求 1所述的任务处理方法, 其特征在于, 在所述第一服务器 在所述 zookeeper创建一个与所述任务唯一对应的第一临吋目录之后 , 包括:

所述第一服务器发送 TCP心跳至所述 zookeeper, 以使所述 zookeeper判 断所述第一服务器是否能够正常通信;

在所述 zookeeper判断出所述第一服务器不能够正常通信吋, 刪除所 述第一服务器创建的第一临吋目录。

[权利要求 3] 如权利要求 1所述的任务处理方法, 其特征在于, 在所述第一服务器 在所述 zookeeper创建一个与所述任务唯一对应的第一临吋目录之后 , 包括:

第二服务器向所述第一临吋目录注册监听事件, 以监听所述第一临吋 目录是否被刪除;

在所述第一临吋目录被刪除吋, 所述第二服务器向所述 zookeeper发 送第二临吋目录创建请求;

若接收到所述 zookeeper发送的包含同意创建第二临吋目录的信息, 所述第二服务器创建与所述任务对应的第二临吋目录, 并执行所述任 务。

[权利要求 4] 如权利要求 3所述的任务处理方法, 其特征在于, 所述第二服务器创 建与所述任务对应的第二临吋目录, 并执行所述任务, 包括: 所述第二服务器创建与所述任务对应的第二临吋目录; 所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所 述第一临吋目录对应的任务的执行进度及完成度; 在所述 zookeeper记录所述第一服务器执行所述第一临吋目录对应的 任务的执行进度及完成度吋, 所述第二服务器根据所述 zookeeper记 录的任务的执行进度及完成度继续执行所述任务。

[权利要求 5] 如权利要求 3所述的任务处理方法, 其特征在于, 所述第二服务器创 建与所述任务对应的第二临吋目录, 并执行所述任务, 包括: 所述第二服务器创建与所述任务对应的第二临吋目录;

所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所 述第一临吋目录对应的任务的执行进度及完成度; 在所述 zookeeper记录所述第一服务器执行所述第一临吋目录对应的 任务的执行进度及完成度吋, 所述第二服务器判断所述任务是否与数 据库有关;

在所述任务与数据库有关吋, 所述第二服务器获取所述数据库中与所 述任务有关的信息;

所述第二服务器根据获取的所述数据库中与所述任务有关的信息验证 所述 zookeeper记录的任务的执行进度及完成度是否准确;

在所述第二服务器验证出所述 zookeeper记录的任务的执行进度及完 成度准确吋, 根据所述 zookeeper记录的任务的执行进度及完成度继 续执行所述任务; 在所述第二服务器验证出所述 zookeeper记录的任 务的执行进度及完成度不准确吋, 校正所述 zookeeper记录的任务的 执行进度及完成度, 并根据校正后的所述 zookeeper记录的任务的执 行进度及完成度继续执行所述任务。

[权利要求 6] —种任务处理系统, 其特征在于, 包括: 一个或多个服务器、 zookee per, 其中, 所述一个或多个服务器包括第一服务器;

所述一个或多个服务器用于在执行任务之前, 向分布式应用程序协调 服务 zookeeper发送第一临吋目录创建请求; 所述 zookeeper用于选择一个服务器, 向被选择的服务器发送包含同 意创建第一临吋目录的信息, 所述被选择的服务器为第一服务器; 所述第一服务器用于在所述 zookeeper创建一个与所述任务唯一对应 的第一临吋目录, 并执行所述第一临吋目录对应的任务。

[权利要求 7] 如权利要求 6所述的任务处理系统, 其特征在于,

所述第一服务器还用于发送 TCP心跳至所述 zookeeper, 以使所述 zook eeper判断所述第一服务器是否能够正常通信;

所述 zookeeper还用于在判断出所述第一服务器不能够正常通信吋, 刪除所述第一服务器创建的第一临吋目录。

[权利要求 8] 如权利要求 6所述的任务处理系统, 其特征在于, 所述任务处理系统 包括第二服务器;

所述第二服务器用于向所述第一临吋目录注册监听事件, 以监听所述 第一临吋目录是否被刪除;

在所述第一临吋目录被刪除吋, 所述第二服务器向所述 zookeeper发 送第二临吋目录创建请求;

若接收到所述 zookeeper发送的包含同意创建第二临吋目录的信息, 所述第二服务器创建与所述任务对应的第二临吋目录, 并执行所述任 务。

[权利要求 9] 如权利要求 8所述的任务处理系统, 其特征在于, 所述第二服务器创 建与所述任务对应的第二临吋目录, 并执行所述任务, 包括: 所述第二服务器创建与所述任务对应的第二临吋目录;

所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所 述第一临吋目录对应的任务的执行进度及完成度; 在所述 zookeeper记录所述第一服务器执行所述第一临吋目录对应的 任务的执行进度及完成度吋, 所述第二服务器根据所述 zookeeper记 录的任务的执行进度及完成度继续执行所述任务。

[权利要求 10] 如权利要求 8所述的任务处理系统, 其特征在于, 所述第二服务器创 建与所述任务对应的第二临吋目录, 并执行所述任务, 包括: 所述第二服务器创建与所述任务对应的第二临吋目录; 所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所 述第一临吋目录对应的任务的执行进度及完成度; 在所述 zookeeper记录所述第一服务器执行所述第一临吋目录对应的 任务的执行进度及完成度吋, 所述第二服务器判断所述任务是否与数 据库有关;

在所述任务与数据库有关吋, 所述第二服务器获取所述数据库中与所 述任务有关的信息;

所述第二服务器根据获取的所述数据库中与所述任务有关的信息验证 所述 zookeeper记录的任务的执行进度及完成度是否准确;

在所述第二服务器验证出所述 zookeeper记录的任务的执行进度及完 成度准确吋, 根据所述 zookeeper记录的任务的执行进度及完成度继 续执行所述任务; 在所述第二服务器验证出所述 zookeeper记录的任 务的执行进度及完成度不准确吋, 校正所述 zookeeper记录的任务的 执行进度及完成度, 并根据校正后的所述 zookeeper记录的任务的执 行进度及完成度继续执行所述任务。

[权利要求 11] 一种终端, 其特征在于, 所述终端包括: 处理器、 存储器及任务处理 系统, 所述任务处理系统存储于所述存储器中, 包括至少一个计算机 可读指令, 该至少一个计算机可读指令可被所述处理器执行, 以实现 以下操作:

在一个或多个服务器执行任务之前, 向分布式应用程序协调服务 zook eeper发送第一临吋目录创建请求;

所述 zookeeper选择一个服务器, 向被选择的服务器发送包含同意创 建第一临吋目录的信息, 所述被选择的服务器为第一服务器; 所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第 一临吋目录;

所述第一服务器执行所述第一临吋目录对应的任务。

[权利要求 12] 如权利要求 11所述的终端, 其特征在于, 所述至少一个计算机可读指 令还可被所述处理器执行, 以实现以下操作:

在所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的 第一临吋目录之后, 所述第一服务器发送 TCP心跳至所述 zookeeper, 以使所述 zookeeper判断所述第一服务器是否能够正常通信; 在所述 zookeeper判断出所述第一服务器不能够正常通信吋, 刪除所 述第一服务器创建的第一临吋目录。

[权利要求 13] 如权利要求 11所述的终端, 其特征在于, 所述至少一个计算机可读指 令还可被所述处理器执行, 以实现以下操作:

在所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的 第一临吋目录之后, 第二服务器向所述第一临吋目录注册监听事件, 以监听所述第一临吋目录是否被刪除;

在所述第一临吋目录被刪除吋, 所述第二服务器向所述 zookeeper发 送第二临吋目录创建请求;

若接收到所述 zookeeper发送的包含同意创建第二临吋目录的信息, 所述第二服务器创建与所述任务对应的第二临吋目录, 并执行所述任 务。

[权利要求 14] 如权利要求 13所述的终端, 其特征在于, 所述第二服务器创建与所述 任务对应的第二临吋目录, 并执行所述任务, 包括:

所述第二服务器创建与所述任务对应的第二临吋目录;

所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所 述第一临吋目录对应的任务的执行进度及完成度; 在所述 zookeeper记录所述第一服务器执行所述第一临吋目录对应的 任务的执行进度及完成度吋, 所述第二服务器根据所述 zookeeper记 录的任务的执行进度及完成度继续执行所述任务。

[权利要求 15] 如权利要求 13所述的终端, 其特征在于, 所述第二服务器创建与所述 任务对应的第二临吋目录, 并执行所述任务, 包括:

所述第二服务器创建与所述任务对应的第二临吋目录;

所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所 述第一临吋目录对应的任务的执行进度及完成度;

在所述 zookeeper记录所述第一服务器执行所述第一临吋目录对应的 任务的执行进度及完成度吋, 所述第二服务器判断所述任务是否与数 据库有关;

在所述任务与数据库有关吋, 所述第二服务器获取所述数据库中与所 述任务有关的信息;

所述第二服务器根据获取的所述数据库中与所述任务有关的信息验证 所述 zookeeper记录的任务的执行进度及完成度是否准确;

在所述第二服务器验证出所述 zookeeper记录的任务的执行进度及完 成度准确吋, 根据所述 zookeeper记录的任务的执行进度及完成度继 续执行所述任务; 在所述第二服务器验证出所述 zookeeper记录的任 务的执行进度及完成度不准确吋, 校正所述 zookeeper记录的任务的 执行进度及完成度, 并根据校正后的所述 zookeeper记录的任务的执 行进度及完成度继续执行所述任务。

[权利要求 16] —种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质存 储有至少一个可被处理器执行以实现以下操作的计算机可读指令: 在一个或多个服务器执行任务之前, 向分布式应用程序协调服务 zook eeper发送第一临吋目录创建请求;

所述 zookeeper选择一个服务器, 向被选择的服务器发送包含同意创 建第一临吋目录的信息, 所述被选择的服务器为第一服务器; 所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第 一临吋目录;

所述第一服务器执行所述第一临吋目录对应的任务。

[权利要求 17] 如权利要求 16所述计算机可读存储介质, 其特征在于, 所述计算机可 读存储介质存储有至少一个可被处理器执行以实现以下操作的计算机 可读指令:

在所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的 第一临吋目录之后, 所述第一服务器发送 TCP心跳至所述 zookeeper, 以使所述 zookeeper判断所述第一服务器是否能够正常通信;

在所述 zookeeper判断出所述第一服务器不能够正常通信吋, 刪除所 述第一服务器创建的第一临吋目录。

[权利要求 18] 如权利要求 16所述的计算机可读存储介质, 其特征在于, 所述计算机 可读存储介质存储有至少一个可被处理器执行以实现以下操作的计算 机可读指令:

在所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的 第一临吋目录之后, 第二服务器向所述第一临吋目录注册监听事件, 以监听所述第一临吋目录是否被刪除;

在所述第一临吋目录被刪除吋, 所述第二服务器向所述 zookeeper发 送第二临吋目录创建请求;

若接收到所述 zookeeper发送的包含同意创建第二临吋目录的信息, 所述第二服务器创建与所述任务对应的第二临吋目录, 并执行所述任 务。

[权利要求 19] 如权利要求 18所述的计算机可读存储介质, 其特征在于, 所述第二服 务器创建与所述任务对应的第二临吋目录, 并执行所述任务, 包括: 所述第二服务器创建与所述任务对应的第二临吋目录;

所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所 述第一临吋目录对应的任务的执行进度及完成度; 在所述 zookeeper记录所述第一服务器执行所述第一临吋目录对应的 任务的执行进度及完成度吋, 所述第二服务器根据所述 zookeeper记 录的任务的执行进度及完成度继续执行所述任务。

[权利要求 20] 如权利要求 18所述的计算机可读存储介质, 其特征在于, 所述第二服 务器创建与所述任务对应的第二临吋目录, 并执行所述任务, 包括: 所述第二服务器创建与所述任务对应的第二临吋目录;

所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所 述第一临吋目录对应的任务的执行进度及完成度; 在所述 zookeeper记录所述第一服务器执行所述第一临吋目录对应的 任务的执行进度及完成度吋, 所述第二服务器判断所述任务是否与数 据库有关;

在所述任务与数据库有关吋, 所述第二服务器获取所述数据库中与所 述任务有关的信息;

所述第二服务器根据获取的所述数据库中与所述任务有关的信息验证 所述 zookeeper记录的任务的执行进度及完成度是否准确;

在所述第二服务器验证出所述 zookeeper记录的任务的执行进度及完 成度准确吋, 根据所述 zookeeper记录的任务的执行进度及完成度继 续执行所述任务; 在所述第二服务器验证出所述 zookeeper记录的任 务的执行进度及完成度不准确吋, 校正所述 zookeeper记录的任务的 执行进度及完成度, 并根据校正后的所述 zookeeper记录的任务的执 行进度及完成度继续执行所述任务。

Description:
任务处理方法、 系统、 终端及计算机可读存储介质 技术领域

[0001] 本发明属于通信技术领域, 尤其涉及一种任务处理方法、 系统、 终端及计算机 可读存储介质。

背景技术

[0002] 目前, 消费信贷自助服务 ([CFS_SS], SS) 系统为了防止定吋任务 (JOB) 被 多台服务器重复执行, 通常会向数据库插入一条记录, 比如, 插入一个任务的 过期吋间。 当服务器执行任务之前, 会先到数据库査询该任务的过期吋间是否 有效, 若有效, 则表示有服务器在执行该任务, 若无效则表明没有服务器在执 行这个任务, 即该任务可以执行。 该方法的缺点是, 当不同服务器的吋间存在 偏差吋, 可能会造成多个服务器同吋执行同一个任务的 情况, 从而导致服务器 出现故障。

技术问题

[0003] 有鉴于此, 本发明实施例提供了任务处理方法、 系统、 终端及计算机可读存储 介质, 以解决现有技术中当不同服务器的吋间存在偏 差吋, 可能会造成多个服 务器同吋执行同一个任务的情况, 从而导致服务器出现故障的问题。

问题的解决方案

技术解决方案

[0004] 本发明实施例的第一方面提供了一种任务处理 方法, 包括:

[0005] 在一个或多个服务器执行任务之前, 向分布式应用程序协调服务 zookeeper发送 第一临吋目录创建请求;

[0006] 所述 zookeeper选择一个服务器, 向被选择的服务器发送包含同意创建第一临吋 目录的信息, 所述被选择的服务器为第一服务器;

[0007] 所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第一临 吋目录

[0008] 所述第一服务器执行所述第一临吋目录对应的 任务。 [0009] 本发明实施例的第二方面提供了一种任务处理 系统, 包括: 一个或多个服务器 、 zookeeper, 其中, 所述一个或多个服务器包括第一服务器;

[0010] 所述一个或多个服务器用于在执行任务之前, 向分布式应用程序协调服务 zook eeper发送第一临吋目录创建请求;

[0011] 所述 zookeeper用于选择一个服务器, 向被选择的服务器发送包含同意创建第一 临吋目录的信息, 所述被选择的服务器为第一服务器;

[0012] 所述第一服务器用于在所述 zookeeper创建一个与所述任务唯一对应的第一临 吋 目录, 并执行所述第一临吋目录对应的任务。

[0013] 本发明实施例的第三方面提供了一种终端, 所述终端包括: 处理器、 存储器及 任务处理系统, 所述任务处理系统存储于所述存储器中, 包括至少一个计算机 可读指令, 该至少一个计算机可读指令可被所述处理器执 行, 以实现以下操作

[0014] 在一个或多个服务器执行任务之前, 向分布式应用程序协调服务 zookeeper发送 第一临吋目录创建请求;

[0015] 所述 zookeeper选择一个服务器, 向被选择的服务器发送包含同意创建第一临吋 目录的信息, 所述被选择的服务器为第一服务器;

[0016] 所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第一临 吋目录

[0017] 所述第一服务器执行所述第一临吋目录对应的 任务。

[0018] 本发明实施例的第四方面提供了一种计算机可 读存储介质, 所述计算机可读存 储介质存储有至少一个可被处理器执行以实现 以下操作的计算机可读指令:

[0019] 在一个或多个服务器执行任务之前, 向分布式应用程序协调服务 zookeeper发送 第一临吋目录创建请求;

[0020] 所述 zookeeper选择一个服务器, 向被选择的服务器发送包含同意创建第一临吋 目录的信息, 所述被选择的服务器为第一服务器;

[0021] 所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第一临 吋目录

[0022] 所述第一服务器执行所述第一临吋目录对应的 任务。 发明的有益效果

有益效果

[0023] 本发明实施例与现有技术相比存在的有益效果 是: 由于只有一台服务器的任务 会在 zookeeper创建临吋目录成功, 且临吋目录都是在 zookeeper上创建, 因此, 服务器本身的吋间存在偏差吋也不会影响 zookeeper的吋间, 从而保证同一个任 务不会因为服务器本身的吋间存在偏差而导致 重复执行。

对附图的简要说明

附图说明

[0024] 为了更清楚地说明本发明实施例中的技术方案 , 下面将对实施例或现有技术描 述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是 本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性 的前提下, 还可以根据这些附图获得其他的附图。

[0025] 图 1是本发明实施例提供的一种任务处理方法的 法流程图;

[0026] 图 2是本发明实施例提供的一种任务处理系统的 构示意图。

本发明的实施方式

[0027] 以下描述中, 为了说明而不是为了限定, 提出了诸如特定系统结构、 技术之类 的具体细节, 以便透彻理解本发明实施例。 然而, 本领域的技术人员应当清楚 , 在没有这些具体细节的其它实施例中也可以实 现本发明。 在其它情况中, 省 略对众所周知的系统、 装置、 电路以及方法的详细说明, 以免不必要的细节妨 碍本发明的描述。

[0028] 为了说明本发明所述的技术方案, 下面通过具体实施例来进行说明。

[0029] 图 1示出了本发明实施例提供的一种任务处理方 的方法流程图, 详述如下: [0030] 步骤 Sl l, 在一个或多个服务器执行任务之前, 向分布式应用程序协调服务 zoo keeper发送第一临吋目录创建请求。

[0031] 其中, zookeeper是一个分布式的、 幵放源码的分布式应用程序协调服务。

[0032] 步骤 S12, 所述 zookeeper选择一个服务器, 向被选择的服务器发送包含同意创 建第一临吋目录的信息, 所述被选择的服务器为第一服务器。

[0033] 当只有一个服务器向 zookeeper发送第一临吋目录创建请求吋, 该 zookeeper选择 该服务器作为第一服务器, 并同意所述第一服务器创建第一临吋目录。

[0034] 当有多个服务器向 zookeeper发送第一临吋目录创建请求吋, zookeeper只会同意 其中一个服务器创建第一临吋目录。 可选地, zookeeper根据接收到第一临吋目 录创建请求的先后顺序选择同意哪一个服务器 创建第一临吋目录, 比如, 只同 意最先发送第一临吋目录创建请求的服务器创 建第一临吋目录。 当然, zookeepe r也可根据服务器的优先权选择优先权最高的 务器创建第一临吋目录。 其中, 服务器的优先权可根据服务器完成任务的情况 设定, 比如, 统计一段吋间内各 个服务器完成任务的情况, 若服务器能够完整完成一个任务而不出现故障 , 则 该服务器对应的权值增大, 当权值增大到一定值, 则将该服务器的优先级提高 一个等级。 同理, 若服务器在执行一个任务过程中出现故障而中 断任务的执行 , 则减小该服务器对应的权重, 当权值减小到一定值, 则将该服务器的优先级 降低一个等级。

[0035] 步骤 S13, 所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第 一临吋目录。

[0036] 其中, 第一临吋目录也可以称作临吋节点, 是一种数据存储方式, 有点像文件 夹, 在一个临吋目录下可以再创建子临吋目录, 也可以记录数据。 需要指出的 是, 临吋目录的名称与任务对应, 一个任务对应一个临吋目录的名称, 而临吋 目录的名称与服务器的代码有关, 当不同服务器的代码相同吋, 该不同服务器 为同一个任务创建的临吋目录的名称是相同的 。

[0037] 其中, 第一临吋目录记录的数据包括: 创建所述第一临吋目录的服务器的 IP地 址, 以便于用户获知是哪一个服务器创建第一临吋 目录。 可选地, 所述第一临 吋目录记录的数据还包括: 该第一临吋目录的创建吋间等。

[0038] 步骤 S14, 所述第一服务器执行所述第一临吋目录对应的 任务。

[0039] 具体地, 当第一服务器成功在 zookeeper创建第一临吋目录后, 该第一服务器具 备执行该第一临吋目录对应的任务的资格。

[0040] 由于只有一台服务器的任务会在 zookeeper创建临吋目录成功, 且临吋目录都是 在 zookeeper上创建, 因此, 服务器本身的吋间存在偏差吋也不会影响 zookeeper 的吋间, 从而保证同一个任务不会因为服务器本身的吋 间存在偏差而导致重复 执行。

[0041] 可选地, 在所述步骤 S13之后, 包括:

[0042] Al、 所述第一服务器发送 TCP心跳至所述 zookeeper, 以使所述 zookeeper判断 所述第一服务器是否能够正常通信。 具体地, 第一服务器定吋向 zookeeper发送 T CP心跳, 若该 zookeeper接收到第一服务器发送的 TCP心跳, 则判定该第一服务 器还能正常通信, 否则, 若在超出预设吋长阈值还没有接收到该第一服 务器发 送的 TCP心跳, 则判定该第一服务器失去联系, 不能正常通信 (当第二服务器发 生故障吋, 该第二服务器不能与 zookeeper正常通信, 发生的故障例如硬件故障 、 内存溢出、 网络问题等) 。

[0043] A2、 在所述 zookeeper判断出所述第一服务器不能够正常通信 吋, 刪除所述第 一服务器创建的第一临吋目录。 可选地, 在 A2之后, 所述 zookeeper将刪除记录 存入对应的日志, 以便于后续査找。 其中, 刪除记录包括刪除的第一临吋目录 的信息 (如名称、 创建的服务器的 IP、 刪除吋间等) 。

[0044] 可选地, 在所述步骤 S13之后, 包括:

[0045] Bl、 第二服务器向所述第一临吋目录注册监听事件 , 以监听所述第一临吋目录 是否被刪除。 需要指出的是, 该第二服务器为与第一服务器不同的服务器, 该" 第一"、 "第二"仅用于区分不同的服务器, 并无先后顺序之分。 另外, 该第二服 务器的个数可以为 1个, 也可以为多个。

[0046] B2、 在所述第一临吋目录被刪除吋, 所述第二服务器向所述 zookeeper发送第 二临吋目录创建请求。 当第二服务器 (一个或多个服务器) 监测到第一服务器 在 zookeeper创建的第一临吋目录被刪除后, 则向 zookeeper发送第二临吋目录创 建请求。

[0047] B3、 若接收到所述 zookeeper发送的包含同意创建第二临吋目录的信 息, 所述 第二服务器创建与所述任务对应的第二临吋目 录, 并执行所述任务。 所述 zookee per若接收到多个第二临吋目录创建请求, 则同样只选择其中一个服务器作为创 建第二临吋目录的第二服务器, 并向选择的第二服务器返回包含同意创建第二 临吋目录的信息, 第二服务器接收到信息后向所述 zookeeper创建与中断的任务 对应的第二临吋目录, 并执行该任务。 需要指出是, 当第二服务器的代码与第 一服务器的代码相同吋, 由于其还是执行同一个任务, 因此其创建的第二临吋 目录的名称与第一临吋目录的名称相同, 这是因为服务器代码控制不同的定吋 任务对应的临吋目录名称不同, 不同的定吋任务监听的目录是不同的。

[0048] 可选地, 为了节省资源, 则第二服务器从任务中断的地方幵始执行, 对应地, 所述第二服务器创建与所述任务对应的第二临 吋目录, 并执行所述任务, 包括

[0049] Cl、 所述第二服务器创建与所述任务对应的第二临 吋目录。

[0050] C2、 所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所述第 一临吋目录对应的任务的执行进度及完成度。 其中, 这里的执行进度主要是指 任务的当前执行程度, 完成度是指对任务的完成情况, 例如, 假设一个任务有 多个子任务, 则任务的执行进度对应子任务的完成个数, 完成度对应每个子任 务的完成情况, 例如, 哪个子任务已执行完成, 哪个子任务没有执行完成的描 述等。

[0051] C3、 在所述 zookeeper记录所述第一服务器执行所述第一临吋 目录对应的任务 的执行进度及完成度吋, 所述第二服务器根据所述 zookeeper记录的任务的执行 进度及完成度继续执行所述任务。 具体地, 第二服务器根据 zookeeper记录的任 务的执行进度及完成度査找任务的中断点, 再从中断点继续执行。 由于直接从 任务的中断点幵始执行, 因此, 节省了重新幵始执行任务的吋间, 也节省了第 二服务器重新执行任务所耗费的资源。

[0052] 可选地, 为了能够准确判断任务的执行进度及完成度, 所述第二服务器创建与 所述任务对应的第二临吋目录, 并执行所述任务, 包括:

[0053] Dl、 所述第二服务器创建与所述任务对应的第二临 吋目录。

[0054] D2、 所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所述第 一临吋目录对应的任务的执行进度及完成度。

[0055] D3、 在所述 zookeeper记录所述第一服务器执行所述第一临吋 目录对应的任务 的执行进度及完成度吋, 所述第二服务器判断所述任务是否与数据库有 关。 具 体地, 当任务涉及修改 (包括新增或刪除或修改) 数据库的数据吋, 判定任务 与数据库有关。

[0056] D4、 在所述任务与数据库有关吋, 所述第二服务器获取所述数据库中与所述任 务有关的信息。 其中, 与任务有关的信息包括数据库记录的任务的执 行进度及 完成度, 当然, 还可以包括数据库中被修改的数据的信息 (如被修改的数据的 位置, 是否被修改完成的描述等) 。

[0057] D5、 所述第二服务器根据获取的所述数据库中与所 述任务有关的信息验证所述 zookeeper记录的任务的执行进度及完成度是否准 确。 具体地, 当获取的数据库 中与任务有关的信息仅为任务的执行进度及完 成度吋, 则将数据库获取的任务 的执行进度及完成度与 zookeeper记录的任务的执行进度及完成度比较, 若两者 完全相同, 则判定 zookeeper记录的任务的执行进度及完成度是准确 的, 否则, 判定 zookeeper记录的任务的执行进度及完成度是不准 确的。

[0058] 当获取的数据库中与任务有关的信息包括任务 的执行进度及完成度, 也包括数 据库中被修改的数据的信息吋, 则首先根据数据库中被修改的数据的信息验证 数据库中与任务有关的信息包括任务的执行进 度及完成度是否准确, 若准确, 则继续将数据库获取的任务的执行进度及完成 度与 zookeeper记录的任务的执行 进度及完成度比较, 以进一步验证 zookeeper记录的任务的执行进度及完成度是 否准确。

[0059] D6、 在所述第二服务器验证出所述 zookeeper记录的任务的执行进度及完成度 准确吋, 根据所述 zookeeper记录的任务的执行进度及完成度继续执 行所述任务 。 在所述第二服务器验证出所述 zookeeper记录的任务的执行进度及完成度不准 确吋, 校正所述 zookeeper记录的任务的执行进度及完成度, 并根据校正后的所 述 zookeeper记录的任务的执行进度及完成度继续执 行所述任务。

[0060] 由于对 zookeeper记录的任务的执行进度及完成度进行校 验, 因此, 确保任务的 执行进度及完成度是准确的, 进而确保任务的中断点是准确的, 从而提高继续 执行任务的幵始点的精确性。

[0061] 本发明实施例中, 由于 zookeeper保证并发只有唯一一台服务器执行任务 , 且当 服务器故障吋也能保证其他服务器接管任务继 续执行, 因此, 不会出现多个服 务器同吋执行同一个任务的情况, 从而减少了由于同吋执行同一个任务导致的 服务器故障。

[0062] 应理解, 上述实施例中各步骤的序号的大小并不意味着 执行顺序的先后, 各过 程的执行顺序应以其功能和内在逻辑确定, 而不应对本发明实施例的实施过程 构成任何限定。

[0063] 对应于上文实施例所述的任务处理方法, 图 2示出了本发明实施例提供的一种 任务处理系统的结构示意图, 为了便于说明, 仅示出了与本发明实施例相关的 部分。

[0064] 参照图 2, 该系统 2包括: 一个或多个服务器 21、 zookeeper 22, 其中, 所述一 个或多个服务器包括第一服务器 211。

[0065] 所述一个或多个服务器 21用于在执行任务之前, 向分布式应用程序协调服务 zo okeeper发送第一临吋目录创建请求。

[0066] 所述 zookeeper 22用于选择一个服务器, 向被选择的服务器发送包含同意创建 第一临吋目录的信息, 所述被选择的服务器为第一服务器。

[0067] 当只有一个服务器向 zookeeper 22发送第一临吋目录创建请求吋, 该 zookeeper 选择该服务器作为第一服务器, 并同意所述第一服务器创建第一临吋目录。

[0068] 当有多个服务器向 zookeeper 22发送第一临吋目录创建请求吋, zookeeper 22只 会同意其中一个服务器创建第一临吋目录。 可选地, zookeeper 22根据接收到第 一临吋目录创建请求的先后顺序选择同意哪一 个服务器创建第一临吋目录, 比 如, 只同意最先发送第一临吋目录创建请求的服务 器创建第一临吋目录。 当然 , zookeeper 22也可根据服务器的优先权选择优先权最高的 务器创建第一临吋 目录。 其中, 服务器的优先权可根据服务器完成任务的情况 设定, 比如, 统计 一段吋间内各个服务器完成任务的情况, 若服务器能够完整完成一个任务而不 出现故障, 则该服务器对应的权值增大, 当权值增大到一定值, 则将该服务器 的优先级提高一个等级。 同理, 若服务器在执行一个任务过程中出现故障而中 断任务的执行, 则减小该服务器对应的权重, 当权值减小到一定值, 则将该服 务器的优先级降低一个等级。

[0069] 所述第一服务器 211用于在所述 zookeeper 22创建一个与所述任务唯一对应的第 一临吋目录, 并执行所述第一临吋目录对应的任务。

[0070] 其中, 第一临吋目录记录的数据包括: 创建所述第一临吋目录的服务器的 IP地 址, 以便于用户获知是哪一个服务器创建第一临吋 目录。 可选地, 所述第一临 吋目录记录的数据还包括: 该第一临吋目录的创建吋间等。

[0071] 可选地, 所述第一服务器 211还用于发送 TCP心跳至所述 ZOO k eeper 22, 以使所 述 ZOO k eeper 22判断所述第一服务器 211是否能够正常通信。 具体地, 第一服务器 211定吋向 zookeeper 22发送 TCP心跳, 若该 zookeeper 22接收到第一服务器 211发 送的 TCP心跳, 则判定该第一服务器 211还能正常通信, 否则, 若在超出预设吋 长阈值还没有接收到该第一服务器 211发送的 TCP心跳, 则判定该第一服务器 211 失去联系, 不能正常通信 (当第二服务器发生故障吋, 该第二服务器不能与 zook eep er 22正常通信, 发生的故障例如硬件故障、 内存溢出、 网络问题等) 。

[0072] 所述 zookeeper 22还用于在判断出所述第一服务器 211不能够正常通信吋, 刪除 所述第一服务器 211创建的第一临吋目录。

[0073] 可选地, 所述 zookeeper 22还用于将刪除记录存入对应的日志, 以便于后续査 找。 其中, 刪除记录包括刪除的第一临吋目录的信息 (如名称、 创建的服务器 的 IP、 刪除吋间等) 。

[0074] 可选地, 所述任务处理系统包括第二服务器。

[0075] 所述第二服务器用于向所述第一临吋目录注册 监听事件, 以监听所述第一临吋 目录是否被刪除。 需要指出的是, 该第二服务器为与第一服务器 211不同的服务 器, 该"第一"、 "第二"仅用于区分不同的服务器, 并无先后顺序之分。 另外, 该 第二服务器的个数可以为 1个, 也可以为多个。

[0076] 在所述第一临吋目录被刪除吋, 所述第二服务器向所述 zookeeper 22发送第二 临吋目录创建请求。

[0077] 若接收到所述 zookeeper 22发送的包含同意创建第二临吋目录的信息, 所述第 二服务器创建与所述任务对应的第二临吋目录 , 并执行所述任务。 当第二服务 器的代码与第一服务器 211的代码相同吋, 由于其还是执行同一个任务, 因此其 创建的第二临吋目录的名称与第一临吋目录的 名称相同, 这是因为服务器代码 控制不同的定吋任务对应的临吋目录名称不同 , 不同的定吋任务监听的目录是 不同的。

[0078] 可选地, 为了节省资源, 则第二服务器从任务中断的地方幵始执行, 对应所述 第二服务器创建与所述任务对应的第二临吋目 录, 并执行所述任务, 包括: [0079] 所述第二服务器创建与所述任务对应的第二临 吋目录。

[0080] 所述第二服务器判断所述 zookeeper 22是否记录所述第一服务器 211执行所述第 一临吋目录对应的任务的执行进度及完成度。 其中, 这里的执行进度主要是指 任务的当前执行程度, 完成度是指对任务的完成情况, 例如, 假设一个任务有 多个子任务, 则任务的执行进度对应子任务的完成个数, 完成度对应每个子任 务的完成情况, 例如, 哪个子任务已执行完成, 哪个子任务没有执行完成的描 述等。

[0081] 在所述 zookeeper 22记录所述第一服务器 211执行所述第一临吋目录对应的任务 的执行进度及完成度吋, 所述第二服务器根据所述 zookeeper 22记录的任务的执 行进度及完成度继续执行所述任务。

[0082] 可选地, 为了能够准确判断任务的执行进度及完成度, 所述第二服务器创建与 所述任务对应的第二临吋目录, 并执行所述任务, 包括:

[0083] 所述第二服务器创建与所述任务对应的第二临 吋目录。

[0084] 所述第二服务器判断所述 zookeeper 22是否记录所述第一服务器 211执行所述第 一临吋目录对应的任务的执行进度及完成度。

[0085] 在所述 zookeeper 22记录所述第一服务器 211执行所述第一临吋目录对应的任务 的执行进度及完成度吋, 所述第二服务器判断所述任务是否与数据库有 关。 具 体地, 当任务涉及修改 (包括新增或刪除或修改) 数据库的数据吋, 判定任务 与数据库有关。

[0086] 在所述任务与数据库有关吋, 所述第二服务器获取所述数据库中与所述任务 有 关的信息。 其中, 与任务有关的信息包括数据库记录的任务的执 行进度及完成 度, 当然, 还可以包括数据库中被修改的数据的信息 (如被修改的数据的位置 , 是否被修改完成的描述等) 。

[0087] 所述第二服务器根据获取的所述数据库中与所 述任务有关的信息验证所述 zook eeper 22记录的任务的执行进度及完成度是否准确。 具体地, 当获取的数据库中 与任务有关的信息仅为任务的执行进度及完成 度吋, 则将数据库获取的任务的 执行进度及完成度与 zookeeper 22记录的任务的执行进度及完成度比较, 若两者 完全相同, 则判定 zookeeper记录的任务的执行进度及完成度是准确 的, 否则, 判定 zookeeper 22记录的任务的执行进度及完成度是不准确的 当获取的数据库 中与任务有关的信息包括任务的执行进度及完 成度, 也包括数据库中被修改的 数据的信息吋, 则首先根据数据库中被修改的数据的信息验证 数据库中与任务 有关的信息包括任务的执行进度及完成度是否 准确, 若准确, 则继续将数据库 获取的任务的执行进度及完成度与 zookeeper 22记录的任务的执行进度及完成度 比较, 以进一步验证 zookeeper 22记录的任务的执行进度及完成度是否准确。

[0088] 在所述第二服务器验证出所述 zookeeper 22记录的任务的执行进度及完成度准 确吋, 根据所述 zookeeper 22记录的任务的执行进度及完成度继续执行所 任务 。 在所述第二服务器验证出所述 zookeeper 22记录的任务的执行进度及完成度不 准确吋, 校正所述 Z ook ee p er 22记录的任务的执行进度及完成度, 并根据校正后 的所述 zookeeper 22记录的任务的执行进度及完成度继续执行所 任务。

[0089] 本发明实施例中, 由于 zookeeper保证并发只有唯一一台服务器执行任务 , 且当 服务器故障吋也能保证其他服务器接管任务继 续执行, 因此, 不会出现多个服 务器同吋执行同一个任务的情况, 从而减少了由于同吋执行同一个任务导致的 服务器故障。

[0090] 本发明另一实施例提供了一种终端, 所述终端包括: 处理器、 存储器及任务处 理系统, 所述任务处理系统存储于所述存储器中, 包括至少一个计算机可读指 令, 该至少一个计算机可读指令可被所述处理器执 行, 以实现以下操作:

[0091] 在一个或多个服务器执行任务之前, 向分布式应用程序协调服务 zookeeper发送 第一临吋目录创建请求;

[0092] 所述 zookeeper选择一个服务器, 向被选择的服务器发送包含同意创建第一临吋 目录的信息, 所述被选择的服务器为第一服务器;

[0093] 所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第一临 吋目录

[0094] 所述第一服务器执行所述第一临吋目录对应的 任务。 [0095] 可选地, 所述至少一个计算机可读指令还可被所述处理 器执行, 以实现以下操 作:

[0096] 在所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第一临 吋目 录之后, 所述第一服务器发送 TCP心跳至所述 zookeeper, 以使所述 zookeeper判 断所述第一服务器是否能够正常通信;

[0097] 在所述 zookeeper判断出所述第一服务器不能够正常通信 吋, 刪除所述第一服务 器创建的第一临吋目录。

[0098] 可选地, 所述至少一个计算机可读指令还可被所述处理 器执行, 以实现以下操 作:

[0099] 在所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第一临 吋目 录之后, 第二服务器向所述第一临吋目录注册监听事件 , 以监听所述第一临吋 目录是否被刪除;

[0100] 在所述第一临吋目录被刪除吋, 所述第二服务器向所述 zookeeper发送第二临吋 目录创建请求;

[0101] 若接收到所述 zookeeper发送的包含同意创建第二临吋目录的信 息, 所述第二服 务器创建与所述任务对应的第二临吋目录, 并执行所述任务。

[0102] 可选地, 所述第二服务器创建与所述任务对应的第二临 吋目录, 并执行所述任 务, 包括:

[0103] 所述第二服务器创建与所述任务对应的第二临 吋目录;

[0104] 所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所述第一 临吋 目录对应的任务的执行进度及完成度;

[0105] 在所述 zookeeper记录所述第一服务器执行所述第一临吋 目录对应的任务的执行 进度及完成度吋, 所述第二服务器根据所述 zookeeper记录的任务的执行进度及 完成度继续执行所述任务。

[0106] 可选地, 所述第二服务器创建与所述任务对应的第二临 吋目录, 并执行所述任 务, 包括:

[0107] 所述第二服务器创建与所述任务对应的第二临 吋目录;

[0108] 所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所述第一 临吋 目录对应的任务的执行进度及完成度;

[0109] 在所述 zookeeper记录所述第一服务器执行所述第一临吋 目录对应的任务的执行 进度及完成度吋, 所述第二服务器判断所述任务是否与数据库有 关;

[0110] 在所述任务与数据库有关吋, 所述第二服务器获取所述数据库中与所述任务 有 关的信息;

[0111] 所述第二服务器根据获取的所述数据库中与所 述任务有关的信息验证所述 zook eeper记录的任务的执行进度及完成度是否准确

[0112] 在所述第二服务器验证出所述 zookeeper记录的任务的执行进度及完成度准确吋

, 根据所述 zookeeper记录的任务的执行进度及完成度继续执 行所述任务; 在所 述第二服务器验证出所述 zookeeper记录的任务的执行进度及完成度不准确 吋, 校正所述 zookeeper记录的任务的执行进度及完成度, 并根据校正后的所述 zookee per记录的任务的执行进度及完成度继续执行所 述任务。

[0113] 本发明的另一实施例提供了一种计算机可读存 储介质, 所述计算机可读存储介 质存储有至少一个可被处理器执行以实现以下 操作的计算机可读指令:

[0114] 在一个或多个服务器执行任务之前, 向分布式应用程序协调服务 zookeeper发送 第一临吋目录创建请求;

[0115] 所述 zookeeper选择一个服务器, 向被选择的服务器发送包含同意创建第一临吋 目录的信息, 所述被选择的服务器为第一服务器;

[0116] 所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第一临 吋目录

[0117] 所述第一服务器执行所述第一临吋目录对应的 任务。

[0118] 可选地, 所述计算机可读存储介质存储有至少一个可被 处理器执行以实现以下 操作的计算机可读指令:

[0119] 在所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第一临 吋目 录之后, 所述第一服务器发送 TCP心跳至所述 zookeeper, 以使所述 zookeeper判 断所述第一服务器是否能够正常通信;

[0120] 在所述 zookeeper判断出所述第一服务器不能够正常通信 吋, 刪除所述第一服务 器创建的第一临吋目录。 [0121] 可选地, 所述计算机可读存储介质存储有至少一个可被 处理器执行以实现以下 操作的计算机可读指令:

[0122] 在所述第一服务器在所述 zookeeper创建一个与所述任务唯一对应的第一临 吋目 录之后, 第二服务器向所述第一临吋目录注册监听事件 , 以监听所述第一临吋 目录是否被刪除;

[0123] 在所述第一临吋目录被刪除吋, 所述第二服务器向所述 zookeeper发送第二临吋 目录创建请求;

[0124] 若接收到所述 zookeeper发送的包含同意创建第二临吋目录的信 息, 所述第二服 务器创建与所述任务对应的第二临吋目录, 并执行所述任务。

[0125] 可选地, 所述第二服务器创建与所述任务对应的第二临 吋目录, 并执行所述任 务, 包括:

[0126] 所述第二服务器创建与所述任务对应的第二临 吋目录;

[0127] 所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所述第一 临吋 目录对应的任务的执行进度及完成度;

[0128] 在所述 zookeeper记录所述第一服务器执行所述第一临吋 目录对应的任务的执行 进度及完成度吋, 所述第二服务器根据所述 zookeeper记录的任务的执行进度及 完成度继续执行所述任务。

[0129] 可选地, 所述第二服务器创建与所述任务对应的第二临 吋目录, 并执行所述任 务, 包括:

[0130] 所述第二服务器创建与所述任务对应的第二临 吋目录;

[0131] 所述第二服务器判断所述 zookeeper是否记录所述第一服务器执行所述第一 临吋 目录对应的任务的执行进度及完成度;

[0132] 在所述 zookeeper记录所述第一服务器执行所述第一临吋 目录对应的任务的执行 进度及完成度吋, 所述第二服务器判断所述任务是否与数据库有 关;

[0133] 在所述任务与数据库有关吋, 所述第二服务器获取所述数据库中与所述任务 有 关的信息;

[0134] 所述第二服务器根据获取的所述数据库中与所 述任务有关的信息验证所述 zook eeper记录的任务的执行进度及完成度是否准确 [0135] 在所述第二服务器验证出所述 zookeeper记录的任务的执行进度及完成度准确吋 , 根据所述 zookeeper记录的任务的执行进度及完成度继续执 行所述任务; 在所 述第二服务器验证出所述 zookeeper记录的任务的执行进度及完成度不准确 吋, 校正所述 zookeeper记录的任务的执行进度及完成度, 并根据校正后的所述 zookee per记录的任务的执行进度及完成度继续执行所 述任务。

[0136] 所属领域的技术人员可以清楚地了解到, 为了描述的方便和简洁, 仅以上述各 功能单元、 模块的划分进行举例说明, 实际应用中, 可以根据需要而将上述功 能分配由不同的功能单元、 模块完成, 即将所述装置的内部结构划分成不同的 功能单元或模块, 以完成以上描述的全部或者部分功能。 实施例中的各功能单 元、 模块可以集成在一个处理单元中, 也可以是各个单元单独物理存在, 也可 以两个或两个以上单元集成在一个单元中, 上述集成的单元既可以采用硬件的 形式实现, 也可以采用软件功能单元的形式实现。 另外, 各功能单元、 模块的 具体名称也只是为了便于相互区分, 并不用于限制本申请的保护范围。 上述系 统中单元、 模块的具体工作过程, 可以参考前述方法实施例中的对应过程, 在 此不再赘述。

[0137] 在上述实施例中, 对各个实施例的描述都各有侧重, 某个实施例中没有详述或 记载的部分, 可以参见其它实施例的相关描述。

[0138] 本领域普通技术人员可以意识到, 结合本文中所公幵的实施例描述的各示例的 单元及算法步骤, 能够以电子硬件、 或者计算机软件和电子硬件的结合来实现 。 这些功能究竟以硬件还是软件方式来执行, 取决于技术方案的特定应用和设 计约束条件。 专业技术人员可以对每个特定的应用来使用不 同方法来实现所描 述的功能, 但是这种实现不应认为超出本发明的范围。

[0139] 在本发明所提供的实施例中, 应该理解到, 所揭露的装置和方法, 可以通过其 它的方式实现。 例如, 以上所描述的系统实施例仅仅是示意性的, 例如, 所述 模块或单元的划分, 仅仅为一种逻辑功能划分, 实际实现吋可以有另外的划分 方式, 例如多个单元或组件可以结合或者可以集成到 另一个系统, 或一些特征 可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦合或 通讯连接可以是通过一些接口, 装置或单元的间接耦合或通讯连接, 可以是电 性, 机械或其它的形式。

[0140] 所述作为分离部件说明的单元可以是或者也可 以不是物理上分幵的, 作为单元 显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者也可 以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或者全部 单元 来实现本实施例方案的目的。

[0141] 另外, 在本发明各个实施例中的各功能单元可以集成 在一个处理单元中, 也可 以是各个单元单独物理存在, 也可以两个或两个以上单元集成在一个单元中 。 上述集成的单元既可以采用硬件的形式实现, 也可以采用软件功能单元的形式 实现。

[0142] 所述集成的单元如果以软件功能单元的形式实 现并作为独立的产品销售或使用 吋, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本发明实施 例的技术方案本质上或者说对现有技术做出贡 献的部分或者该技术方案的全部 或部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介 质中, 包括若干指令用以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网络设备等) 或处理器 (processor) 执行本发明实施例各个实施例所述方法 的全部或部分步骤。 而前述的存储介质包括: U盘、 移动硬盘、 只读存储器 (R 0M, Read-Only Memory) 、 随机存取存储器 (RAM, Random Access Memory ) 、 磁碟或者光盘等各种可以存储程序代码的介质 。

以上所述实施例仅用以说明本发明的技术方案 , 而非对其限制; 尽管参照前述 实施例对本发明进行了详细的说明, 本领域的普通技术人员应当理解: 其依然 可以对前述各实施例所记载的技术方案进行修 改, 或者对其中部分技术特征进 行等同替换; 而这些修改或者替换, 并不使相应技术方案的本质脱离本发明各 实施例技术方案的精神和范围, 均应包含在本发明的保护范围之内。