数据处理方法和装置、客户端、服务器与流程

文档序号:16532611发布日期:2019-01-05 10:53阅读:151来源:国知局
数据处理方法和装置、客户端、服务器与流程

本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法和装置、客户端、服务器。



背景技术:

随着互联网的迅速发展,各类数据成爆发式涌现和增长。区块链技术因其自身的去中心化、不可篡改、分布式等特点,目前已成为许多技术领域中的重点关注和研究的方向。

在相关技术中,数据处理系统可以包括客户端和区块链服务器。所述区块链服务器可以作为一个区块链节点加入区块链网络。在实际的业务中,客户端需要对所述区块链服务器进行频繁的读写操作,例如从所述区块链服务器中读取区块数据;或者,将状态数据写入所述区块链服务器。所述状态数据可以用于表示区块链中成员的状态,例如可以为成员账户的资产余额等。上述相关技术中,客户端针对区块链服务器的读写操作是比较频繁的,给区块链服务器造成了较大的访问压力,降低了数据处理系统的数据处理速度。



技术实现要素:

本说明书实施例的目的是提供一种数据处理方法和装置、客户端、服务器,以加快数据处理速度。

为实现上述目的,本说明书实施例提供一种数据处理方法,包括:根据待处理数据的数据属性,从多个协调服务器中选取目标协调服务器;所述多个协调服务器分别隶属于多个服务器集群;向所述目标协调服务器发送数据处理请求,以便于所述目标协调服务器隶属的服务器集群能够优先处理所述数据处理请求;所述数据处理请求指向所述待处理数据。

为实现上述目的,本说明书实施例提供一种数据处理装置,包括:选取单元,用于根据待处理数据的数据属性,从多个协调服务器中选取目标协调服务器;所述多个协调服务器分别隶属于多个服务器集群;发送单元,用于向所述目标协调服务器发送数据处理请求,以便于所述目标协调服务器隶属的服务器集群能够优先处理所述数据处理请求;所述数据处理请求指向所述待处理数据。

为实现上述目的,本说明书实施例提供一种客户端,包括:存储器,用于存储计算机指令;处理器,用于执行所述计算机指令实现以下步骤:根据待处理数据的数据属性,从多个协调服务器中选取目标协调服务器;所述多个协调服务器分别隶属于多个服务器集群;向所述目标协调服务器发送数据处理请求,以便于所述目标协调服务器隶属的服务器集群能够优先处理所述数据处理请求;所述数据处理请求指向所述待处理数据。

为实现上述目的,本说明书实施例提供一种数据处理方法,应用于第一协调服务器;所述方法包括:接收客户端发来的区块数据读取请求;所述区块数据读取请求中携带有待读取的区块数据的位置值;在所述位置值不满足位置值判断条件时,向第二协调服务器发送所述位置值;接收所述第二协调服务器发来的所述位置值指向的区块数据;向所述客户端发送所述区块数据。

为实现上述目的,本说明书实施例提供一种数据处理装置,应用于第一协调服务器;所述数据处理装置包括:第一接收单元,用于接收客户端发来的区块数据读取请求;所述区块数据读取请求中携带有待读取的区块数据的位置值;第一发送单元,用于在所述位置值不满足位置值判断条件时,向第二协调服务器发送所述位置值;第二接收单元,用于接收所述第二协调服务器发来的所述位置值指向的区块数据;第二发送单元,用于向所述客户端发送所述区块数据。

为实现上述目的,本说明书实施例提供一种第一协调服务器,包括:存储器,用于存储计算机指令;处理器,用于执行所述计算机指令实现以下步骤:接收客户端发来的区块数据读取请求;所述区块数据读取请求中携带有待读取的区块数据的位置值;在所述位置值不满足位置值判断条件时,向第二协调服务器发送所述位置值;接收所述第二协调服务器发来的所述位置值指向的区块数据;向所述客户端发送所述区块数据。

为实现上述目的,本说明书实施例提供一种数据处理方法,应用于第一协调服务器;所述方法包括:接收客户端发来的区块数据读取请求;所述区块数据读取请求中携带有待读取的区块数据的位置值;在所述位置值满足位置值判断条件时,获取所述位置值指向的区块数据;向所述客户端发送所述区块数据。

为实现上述目的,本说明书实施例提供一种数据处理装置,应用于第一协调服务器;所述数据处理装置包括:接收单元,用于接收客户端发来的区块数据读取请求;所述区块数据读取请求中携带有待读取的区块数据的位置值;获取单元,用于在所述位置值满足位置值判断条件时,获取所述位置值指向的区块数据;发送单元,用于向所述客户端发送所述区块数据。

为实现上述目的,本说明书实施例提供一种第一协调服务器,包括:存储器,用于存储计算机指令;处理器,用于执行所述计算机指令实现以下步骤:接收客户端发来的区块数据读取请求;所述区块数据读取请求中携带有待读取的区块数据的位置值;在所述位置值满足位置值判断条件时,获取所述位置值指向的区块数据;向所述客户端发送所述区块数据。

由以上本说明书实施例提供的技术方案可见,本说明书实施例中,所述客户端可以根据待处理数据的数据属性,从多个协调服务器中选取目标协调服务器;可以向所述目标协调服务器发送数据处理请求,以便于所述目标协调服务器隶属的服务器集群能够优先处理所述数据处理请求。这样所述客户端可以根据待处理数据的数据属性的不同,向不同的协调服务器发送数据处理请求;实现了多个服务器集群的负载均衡,从而加快了数据处理处理的速度。

附图说明

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

图1为本说明书实施例一种数据处理系统的结构示意图;

图2为本说明书实施例一种数据处理方法的流程图;

图3为本说明书实施例一种区块数据读取方法的流程图;

图4为本说明书实施例一种区块数据读取方法的流程图;

图5为本说明书实施例一种交易数据读取方法的流程图;

图6为本说明书实施例一种数据处理方法的流程图;

图7为本说明书实施例一种数据处理方法的流程图;

图8为本说明书实施例一种数据处理装置的结构示意图;

图9为本说明书实施例一种客户端的结构示意图;

图10为本说明书实施例一种数据处理装置的结构示意图;

图11为本说明书实施例一种第一协调服务器的结构示意图;

图12为本说明书实施例一种数据处理装置的结构示意图。

具体实施方式

下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

为了便于本领域技术人员理解本说明书实施例的技术方案,下面先对本说明书实施例的技术术语进行说明。

区块链(blockchain),是一种按照时间先后顺序,将多个区块数据以链式结构进行组织,并以密码学算法保证安全、可追溯、且不可篡改的分布式账本。所述区块链可以包括公有区块链、联合区块链(也称为联盟区块链)、和私有区块链等。

多个用户个体、群体、或机构之间可以基于区块链技术建立区块链,从而加入所述区块链并成为其中的成员。成员之间的交易数据可以存储至所述区块链中的区块数据(block)。每个区块数据能够记录所述区块链中的成员在特定时间区间内产生的至少一个交易数据,具体可以包括区块头(header)和区块体(body)等。

区块链可以对应有多个状态数据。每个状态数据可以对应有成员标识;该状态数据可以用于描述该成员标识的状态。例如,所述成员标识可以包括成员账户,所述状态数据可以包括成员账户的资产余额。当然,此处的成员账户和资产余额仅为示例,实际上所述成员标识和所述状态数据还可以分别为其它的数据。

区块链可以包括多个区块数据。区块链中的每个区块数据可以具有位置值。不同区块数据所具有的位置值是不同的。所述位置值可以用于表示区块数据在所述区块链中的位置。根据所述位置值可以从所述区块链中获得区块数据。此外,位置值还可以与区块数据的创建时刻具有关联关系。具体地,创建时刻较早的区块数据,其位置值较小;创建时刻较晚的区块数据,其位置值较大。所述位置值可以包括区块高度。当然,所述位置值还可以包括其它任意能够推导出区块数据的位置的数据。

区块链可以基于区块链网络来实现。所述区块链网络可以包括p2p网络(peer-to-peernetwork)等。所述区块链网络可以包括多个区块链节点。每个区块链节点可以存储所述区块链中的全部区块数据或部分区块数据。每个区块链节点可以为一个服务器,还可以为包括多个服务器的分布式服务器集群。

分布式服务器集群,可以包括协调服务器和多个任务服务器。所述协调服务器可以负责任务的分配与管理。所述任务服务器可以负责任务的处理。所述分布式服务器集群可以作为一个整体对外提供业务服务。所述分布式服务器集群具体可以基于mpp(massivelyparallelprocessing)架构技术来实现。当然,所述分布式服务器集群还可以基于其它架构技术来实现,本说明书实施例对此并不做具体限定。

请参阅图1。本说明书实施例提供一种数据处理系统。

在本实施例中,所述数据处理系统可以包括区块链平台。所述区块链平台可以作为区块链网络中的一个区块链节点。所述区块链平台可以包括至少两个服务器集群。所述至少两个服务器集群可以包括第一服务器集群和第二服务器集群。所述第一服务器集群可以包括第一协调服务器和多个第一任务服务器。所述第二服务器集群可以包括第二协调服务器和多个第二任务服务器。相较于第一任务服务器,第二任务服务器可以具有较好的硬件配置和/或软件配置。因而相较于所述第一服务器集群,所述第二服务器集群可以具有较大的数据处理能力。

在本实施例中,所述第一服务器集群和所述第二服务器集群可以分别存储有区块链中的至少一个区块数据。所述第一服务器集群和所述第二服务器集群中的区块数据,可以认为是所述区块链平台存储的区块数据。此外,如前所述,所述区块链平台可以作为区块链网络中的一个区块链节点。如此,所述第一服务器集群和所述第二服务器集群中的区块数据,还可以认为是该区块链节点存储的区块数据。所述第一服务器集群和所述第二服务器集群中的区块数据可以不同。所述第一服务器集群和所述第二服务器集群中区块数据的数量之和,可以小于或等于所述区块链中区块数据的数量。

以下介绍在所述第一服务器集群中区块数据的存储方式。为了便于描述,这里可以将所述第一服务器集群中的区块数据形成的集合作为区块数据集合。在所述第一服务器集群中,所述区块数据集合中的区块数据可以依据第一特定规则被分布存储于各个第一任务服务器。所述第一特定规则可以根据实际需要灵活设定。例如,所述第一服务器集群可以包括n个第一任务服务器。每个第一任务服务器可以具有第一服务器标识。这里第一服务器标识可以用于标识第一任务服务器,例如可以为第一任务服务器的ip地址、mac地址、或编号等。所述n个第一任务服务器的第一服务器标识可以分别为a0、a1、a2、....、a(n-1)。那么,在所述区块数据集合中位置值除以n的余数为0的区块数据,可以被存储于第一服务器标识为a0的第一任务服务器;在所述区块数据集合中位置值除以n的余数为1的区块数据,可以被存储于第一服务器标识为a1的第一任务服务器;依次类推,在所述区块数据集合中位置值除以n的余数为n-1的区块数据,可以被存储于第一服务器标识为a(n-1)的第一任务服务器。在所述第一服务器集群中,所述第一协调服务器可以存储有位置值配置数据。所述位置值配置数据可以包括至少一个位置值。在所述位置值配置数据中每个位置值可以对应有第一服务器标识;该位置值指向的区块数据可以被存储于该第一服务器标识所标识的第一任务服务器。在所述第二服务器集群中区块数据的存储方式,可以与所述第一服务器集群相类似。

需要说明的是,如前所述,所述第一服务器集群和所述第二服务器集群中的区块数据,可以认为是所述区块链平台存储的区块数据。区块数据在生成以后通常是不能够被改变的。针对区块数据的操作通常仅包括读操作(例如读取区块数据、读取区块数据中的交易数据等)。读操作占用的性能资源(例如cpu、内存、外存等)较少。为了给所述第二服务器集群留取较多的性能资源以处理其它类型的数据,可以将所述区块链平台中创建时间较早的大量区块数据存储于所述第一服务器集群;可以将所述区块链平台中创建时间较晚的少量区块数据存储于所述第二服务器集群。具体地,如前所述,相较于所述第一服务器集群,所述第二服务器集群可以具有较大的数据处理能力。如此,所述区块链平台新增加的区块数据,可以来自所述第二服务器集群,例如来自所述第二服务器集群中的第二协调服务器和/或第二任务服务器。所述区块链平台新增加的区块数据,可以首先被存储于所述第二服务器集群,例如依据第一特定规则被存储于所述第二服务器集群中的第二任务服务器。这样所述第二协调服务器可以每间隔第一预设时间间隔,将各个第二任务服务器中满足位置值判断条件的区块数据,迁移至所述第一服务器集群。具体地,所述第二协调服务器可以从各个第二任务服务器中获取满足位置值判断条件的区块数据;可以向所述第一协调服务器发送获取的区块数据。所述第一协调服务器可以接收区块数据;可以依据第一特定规则将接收的区块数据存储至第一任务服务器。这里第一预设时间间隔的大小可以根据实际需要灵活设定,例如可以为5个小时、1天、或2天等。位置值判断条件可以根据实际需要灵活设定。例如,所述位置值判断条件可以包括:位置值与最大位置值之间的差值大于或等于第一预设阈值。所述最大位置值可以为创建时刻最晚的区块数据所具有的位置值。所述第一预设阈值例如可以为1000、1052、或1070等。另举一例,所述位置值判断条件还可以包括:位置值小于或等于第二预设阈值。

在本实施例中,所述第二服务器集群还可以存储有区块链的状态数据。具体地,区块链的状态数据是能够发生变动的。针对状态数据的操作可以包括读操作和写操作。为了加快针对状态数据的处理速度,可以将区块链的状态数据存储于所述第二服务器集群。

以下介绍在所述第二服务器集群中状态数据的存储方式。为了便于描述,这里可以将所述区块链的各个状态数据形成的集合作为状态数据集合。在所述第二服务器集群中,所述状态数据集合中的状态数据可以依据第二特定规则被分布存储于各个第二任务服务器。所述第二特定规则可以根据实际需要灵活设定。例如,所述第二服务器集群可以包括n个第二任务服务器。每个第二任务服务器可以具有第二服务器标识。这里第二服务器标识可以用于标识第二任务服务器,例如可以为第二任务服务器的ip地址、mac地址、或编号等。所述n个第二任务服务器的第二服务器标识可以分别为b0、b1、b2、....、b(n-1)。那么,在所述状态数据集合中成员标识除以n的余数为0的状态数据,可以被存储于第二服务器标识为b0的第二任务服务器;在所述状态数据集合中成员标识除以n的余数为1的状态数据,可以被存储于第二服务器标识为b1的第二任务服务器;依次类推,在所述区块数据集合中成员标识除以n的余数为n-1的状态数据,可以被存储于第二服务器标识为b(n-1)的第二任务服务器。在所述第二服务器集群中,所述第二协调服务器可以存储有成员标识配置数据。所述成员标识配置数据可以包括至少一个成员标识。在所述成员标识配置数据中每个成员标识可以对应有第二服务器标识;该成员标识对应的状态数据可以被存储于该第二服务器标识所标识的第二任务服务器。

在本实施例的一个实施方式中,所述第一服务器集群中的第一协调服务器还可以存储有第一编码值配置数据。所述第二服务器集群中的第二协调服务器还可以存储有第二编码值配置数据。所述第一编码值配置数据和所述第二编码值配置数据均可以包括至少一个编码值。在所述第一编码值配置数据和所述第二编码值配置数据中每个编码值可以对应有位置值。所述第一编码值配置数据和所述第二编码值配置数据中各个编码值对应的位置值的数量的和,可以小于或等于所述区块链平台中区块数据的数量。其中,所述编码值可以为区块数据的编码值、或交易数据的编码值。区块数据的编码值可以用于标识区块数据,具体可以与该区块数据的位置值相对应。交易数据的编码值可以用于标识交易数据,具体可以与包含有该交易数据的区块数据的位置值相对应。所述编码值可以包括哈希值。所述哈希值可以基于哈希算法计算得到。所述哈希算法可以包括sha-1、sha-224、sha-256、sha-512等。此外,在所述第一编码值配置数据和所述第二编码值配置数据中的编码值为交易数据的编码值时,在所述第一编码值配置数据和所述第二编码值配置数据中每个编码值还可以对应有偏移量;该偏移量可以用于表示该编码值对应的交易数据在区块数据中的偏移位置,便于从区块数据中快速地获取到交易数据。

需要说明的是,如前所述,所述区块链平台新增加的区块数据,可以首先被存储于所述第二服务器集群。如此,所述区块链平台中新增加的区块数据所对应的编码值,可以首先被加入所述第二编码值配置数据。新增加的区块数据所对应的编码值可以为该区块数据的编码值、或该区块数据中交易数据的编码值。这样所述第二协调服务器可以每间隔第二预设时间间隔,将所述第二编码值配置数据中满足编码值判断条件的编码值,迁移至所述第一协调服务器。具体地,所述第二协调服务器可以从所述第二编码值配置数据中获取满足编码值判断条件的编码值;可以向所述第一协调服务器发送获取的编码值。所述第一协调服务器可以接收编码值;可以将接收的编码值加入所述第一编码值配置数据。这里第二预设时间间隔的大小可以根据实际需要灵活设定,例如可以为10个小时、5天、或10天等。编码值判断条件可以根据实际需要灵活设定。例如,所述编码值判断条件可以包括:编码值小于或等于第三预设阈值。

在本实施例中,所述数据处理系统还可以包括客户端。所述客户端可以为业务服务器、或包括多个业务服务器的服务器集群等。所述客户端可以根据待处理数据的数据属性,从多个协调服务器中选取目标协调服务器;可以向所述目标协调服务器发送数据处理请求,以便于所述目标协调服务器隶属的服务器集群能够优先处理所述数据处理请求。

请参阅图2。本说明书实施例提供一种数据处理方法。所述数据处理方法以客户端为执行主体,可以包括以下步骤。

步骤s10:根据待处理数据的数据属性,从多个协调服务器中选取目标协调服务器。

在本实施例中,所述数据属性可以用于表示所述待处理数据是否能够发生变动。所述待处理数据可以包括以下至少一种:区块数据、状态数据、交易数据。其中,区块数据的数据属性用于表示区块数据不能够发生变动;状态数据的数据属性用于表示状态数据能够发生变动;交易数据的数据属性用于表示交易数据不能够发生变动。

在本实施例中,所述多个协调服务器可以包括第一协调服务器和第二协调服务器。关于所述第一协调服务器和所述第二协调服务器的介绍可以参见前述实施例。具体地,在所述数据属性表示所述待处理数据不能够发生变动时,所述客户端可以选取第一协调服务器作为目标协调服务器。在所述数据属性表示所述待处理数据能够发生变动时,所述客户端可以选取第二协调服务器作为目标协调服务器。

步骤s12:向所述目标协调服务器发送数据处理请求,以便于所述目标协调服务器隶属的服务器集群能够优先处理所述数据处理请求。

在本实施例中,所述数据处理请求可以包括以下至少一种:区块数据读取请求、状态数据读取请求、状态数据写请求、交易数据读取请求。其中,所述区块数据读取请求中可以携带有待读取的区块数据的位置值或待读取的区块数据的编码值;所述状态数据读取请求中可以携带有成员标识;所述状态数据写请求中可以携带有成员标识和所述待处理数据;所述交易数据读取请求中可以携带有待读取的交易数据的编码值。

在本实施例中,所述数据处理请求可以指向所述待处理数据。具体地,在所述数据处理请求为区块数据读取请求时,所述待处理数据可以理解为待读取的区块数据。在所述数据处理请求为状态数据读取请求时,所述待处理数据可以理解为待读取的状态数据。在所述数据处理请求为状态数据写请求时,所述待处理数据可以理解为待写入的状态数据。在所述数据处理请求为交易数据读取请求时,所述待处理数据可以理解为待读取的交易数据。

在本实施例中,所述目标协调服务器隶属的服务器集群优先处理所述数据处理请求,可以理解为:在所述目标协调服务器隶属的服务器集群能够单独处理所述数据处理请求时,所述目标协调服务器隶属的服务器集群单独实现对所述数据处理请求的处理;在所述目标协调服务器隶属的服务器集群不能够单独处理所述数据处理请求时,所述目标协调服务器可以与其它协调服务器进行通信,从而所述目标协调服务器隶属的服务器集群和所述其它协调服务器隶属的服务器集群共同实现所述数据处理请求的处理。

以下通过几个实施方式,详细介绍本实施例的具体实现。

请参阅图3。在本实施例的一个实施方式中,所述待处理数据可以为待读取的区块数据。所述客户端可以选取第一协调服务器作为目标协调服务器;可以向所述第一协调服务器发送区块数据读取请求。所述区块数据读取请求中可以携带有待读取的区块数据的位置值。所述第一协调服务器可以接收区块数据读取请求;可以判断所述位置值是否满足位置值判断条件。

在所述位置值满足位置值判断条件时,所述第一协调服务器便认为所述位置值指向的区块数据被存储于自身所在的服务器集群;可以获取所述位置值指向的区块数据;可以向所述客户端发送获取的区块数据。所述客户端可以接收区块数据。具体地,所述第一协调服务器可以基于位置值配置数据,获取所述位置值对应的第一服务器标识;可以向获取的第一服务器标识所标识的第一任务服务器发送所述位置值。获取的第一服务器标识所标识的第一任务服务器可以接收位置值;可以从本地获取所述位置值指向的区块数据;可以向所述第一协调服务器发送区块数据。所述第一协调服务器可以接收区块数据。关于所述位置值配置数据的介绍可以参见前述实施例。

在所述位置值不满足位置值判断条件时,所述第一协调服务器便认为所述位置值指向的区块数据被存储于第二服务器集群;可以向所述第二协调服务器发送所述位置值。所述第二协调服务器可以接收位置值;可以获取所述位置值指向的区块数据;可以向所述第一协调服务器发送区块数据。所述第一协调服务器可以接收区块数据;可以向所述客户端发送区块数据。所述客户端可以接收区块数据。所述第二协调服务器获取所述位置值指向的区块数据的过程,可以与所述第一协调服务器获取所述位置值指向的区块数据的过程,相类似。二者可以参照解释。

在本实施例的一个实施方式中,所述待处理数据可以为待读取的状态数据。所述客户端可以选取第二协调服务器作为目标协调服务器;可以向所述第二协调服务器发送状态数据读取请求。所述状态数据读取请求中可以携带有成员标识。所述第二协调服务器可以接收所述状态数据读取请求;可以基于成员标识配置数据,获取所述成员标识对应的第二服务器标识;可以向获取的第二服务器标识所标识的第二任务服务器发送所述成员标识。获取的第二服务器标识所标识的第二任务服务器可以接收成员标识;可以从本地获取所述成员标识对应的状态数据;可以向所述第二协调服务器发送状态数据。所述第二协调服务器可以接收状态数据;可以向所述客户端发送状态数据。所述客户端可以接收状态数据。关于所述成员标识配置数据的介绍可以参见前述实施例。

在本实施例的一个实施方式中,所述待处理数据可以为待写入的状态数据。所述客户端可以选取第二协调服务器作为目标协调服务器;可以向所述第二协调服务器发送状态数据写请求。所述状态数据写请求中可以携带有成员标识和待写入的状态数据。所述第二协调服务器可以接收所述状态数据写请求;可以基于成员标识配置数据,获取所述成员标识对应的第二服务器标识;可以向获取的第二服务器标识所标识的第二任务服务器发送所述成员标识和所述待写入的状态数据。获取的第二服务器标识所标识的第二任务服务器可以接收成员标识和待写入的状态数据;可以将所述待写入的状态数据作为所述成员标识对应的状态数据进行存储;可以向所述第二协调服务器发送应答信息。所述第二协调服务器可以接收应答信息;可以向所述客户端发送应答信息。所述客户端可以接收应答信息。

请参阅图4。在本实施例的一个实施方式中,所述待处理数据可以为待读取的区块数据。所述客户端可以选取第一协调服务器作为目标协调服务器;可以向所述第一协调服务器发送区块数据读取请求。所述区块数据读取请求中可以携带有待读取的区块数据的编码值。所述第一协调服务器可以接收区块数据读取请求;可以将所述编码值在第一编码值配置数据中进行匹配。

在在第一编码值配置数据中匹配到所述编码值时,所述第一协调服务器可以基于所述第一编码值配置数据,获取所述编码值对应的位置值;可以判断所述位置值是否满足位置值判断条件。在所述位置值满足位置值判断条件时,所述第一协调服务器便认为所述位置值指向的区块数据被存储于自身所在的服务器集群;可以获取所述位置值指向的区块数据;可以向所述客户端发送区块数据。所述客户端可以接收区块数据。在所述位置值不满足位置值判断条件时,所述第一协调服务器便认为所述位置值指向的区块数据被存储于第二服务器集群;可以向所述第二协调服务器发送所述位置值。所述第二协调服务器可以接收所述位置值;可以获取所述位置值指向的区块数据;可以向所述第一协调服务器发送区块数据。所述第一协调服务器可以接收区块数据;可以向所述客户端发送区块数据。所述客户端可以接收区块数据。其中,所述第一协调服务器和所述第二协调服务器获取位置值指向的区块数据的过程,可以参见前述实施方式。在第一编码值配置数据中匹配到所述编码值可以理解为:在第一编码值配置数据中查找到所述编码值。

在在第一编码值配置数据中没有匹配到所述编码值时,所述第一协调服务器便认为能够从第二编码值配置数据中匹配到所述编码值;可以向所述第二协调服务器发送所述编码值。所述第二协调服务器可以接收所述编码值;可以基于第二编码值配置数据,获取所述编码值对应的位置值;可以判断所述位置值是否满足位置值判断条件。在所述位置值不满足位置值判断条件时,所述第二协调服务器便认为所述位置值指向的区块数据被存储于自身所在的服务器集群;可以获取所述位置值指向的区块数据;可以向所述第一协调服务器发送区块数据。所述第一协调服务器可以接收区块数据;可以向所述客户端发送区块数据。所述客户端可以接收区块数据。在所述位置值满足位置值判断条件时,所述第二协调服务器便认为所述位置值指向的区块数据被存储于第一服务器集群;可以向所述第一协调服务器发送所述位置值。所述第一协调服务器可以接收所述位置值;可以获取所述位置值指向的区块数据;可以向所述客户端发送区块数据。所述客户端可以接收区块数据。其中,在第一编码值配置数据中没有匹配到所述编码值可以理解为:在第一编码值配置数据中没有查找到所述编码值。

请参阅图5。在本实施例的一个实施方式中,所述待处理数据可以为待读取的交易数据。所述客户端可以选取第一协调服务器作为目标协调服务器;可以向所述第一协调服务器发送交易数据读取请求。所述交易数据读取请求中可以携带有待读取的交易数据的编码值。所述第一协调服务器可以接收交易数据读取请求;可以将所述编码值在第一编码值配置数据中进行匹配。

在在第一编码值配置数据中匹配到所述编码值时,所述第一协调服务器可以基于所述第一编码值配置数据,获取所述编码值对应的位置值;可以判断所述位置值是否满足位置值判断条件。在所述位置值满足位置值判断条件时,所述第一协调服务器便认为所述位置值指向的区块数据被存储于自身所在的服务器集群;可以获取所述位置值指向的区块数据;可以从区块数据中获取所述编码值指向的交易数据;可以向所述客户端发送交易数据。所述客户端可以接收交易数据。在所述位置值不满足位置值判断条件时,所述第一协调服务器便认为所述位置值指向的区块数据被存储于第二服务器集群;可以向所述第二协调服务器发送所述位置值。所述第二协调服务器可以接收所述位置值;可以获取所述位置值指向的区块数据;可以向所述第一协调服务器发送区块数据。所述第一协调服务器可以接收区块数据;可以从区块数据中获取所述编码值指向的交易数据;可以向所述客户端发送交易数据。所述客户端可以接收交易数据。

在在第一编码值配置数据中没有匹配到所述编码值时,所述第一协调服务器便认为能够从第二编码值配置数据中匹配到所述编码值;可以向所述第二协调服务器发送所述编码值。所述第二协调服务器可以接收所述编码值;可以基于第二编码值配置数据,获取所述编码值对应的位置值;可以判断所述位置值是否满足位置值判断条件。在所述位置值不满足位置值判断条件时,所述第二协调服务器便认为所述位置值指向的区块数据被存储于自身所在的服务器集群;可以获取所述位置值指向的区块数据;可以向所述第一协调服务器发送区块数据。所述第一协调服务器可以接收区块数据;可以从区块数据中获取所述编码值指向的交易数据;可以向所述客户端发送交易数据。所述客户端可以接收交易数据。在所述位置值满足位置值判断条件时,所述第二协调服务器便认为所述位置值指向的区块数据被存储于第一服务器集群;可以向所述第一协调服务器发送所述位置值。所述第一协调服务器可以接收所述位置值;可以获取所述位置值指向的区块数据;可以从区块数据中获取所述编码值指向的交易数据;可以向所述客户端发送交易数据。所述客户端可以接收交易数据。

此外,如前所述,在所述第一编码值配置数据和所述第二编码值配置数据中的编码值为交易数据的编码值时,在所述第一编码值配置数据和所述第二编码值配置数据中每个编码值还可以对应有偏移量。如此,所述第一协调服务器可以基于所述第一编码值配置数据,获取编码值对应的位置值和偏移量;进而可以基于偏移量,从区块数据中获取编码值指向的交易数据。或者,所述第二协调服务器可以基于所述第二编码值配置数据,获取编码值对应的位置值和偏移量;可以向所述第一协调服务器发送偏移量。进而所述第一协调服务器可以基于偏移量,从区块数据中获取编码值指向的交易数据。

在本实施例中,所述客户端可以根据待处理数据的数据属性,从多个协调服务器中选取目标协调服务器;可以向所述目标协调服务器发送数据处理请求,以便于所述目标协调服务器隶属的服务器集群能够优先处理所述数据处理请求。这样所述客户端可以根据待处理数据的数据属性的不同,向不同的协调服务器发送数据处理请求;实现了服务器集群的负载均衡,从而加快了对数据处理请求的处理速度。

请参阅图6。本说明书实施例还提供另一种数据处理方法。所述数据处理方法以第一协调服务器为执行主体,可以包括以下步骤。

步骤s20:接收客户端发来的区块数据读取请求。

在本实施例中,客户端可以向所述第一协调服务器发送区块数据读取请求。所述区块数据读取请求中可以携带有待读取的区块数据的位置值。所述第一协调服务器可以接收区块数据读取请求。

步骤s22:在所述位置值不满足位置值判断条件时,向第二协调服务器发送所述位置值。

在本实施例中,所述第一协调服务器可以接收区块数据读取请求;可以判断所述位置值是否满足位置值判断条件;在所述位置值不满足位置值判断条件时,可以向第二协调服务器发送所述位置值。

步骤s24:接收所述第二协调服务器发来的所述位置值指向的区块数据。

在本实施例中,所述第二协调服务器可以接收位置值;可以获取所述位置值指向的区块数据;可以向所述第一协调服务器发送区块数据。所述第一协调服务器可以接收区块数据。其中,所述第二协调服务器获取位置值指向的区块数据的过程,可以参见前述实施例。

步骤s26:向所述客户端发送所述区块数据。

在本实施例的一个实施方式中,所述第一协调服务器在所述位置值满足位置值判断条件时,可以获取所述位置值指向的区块数据;可以向所述客户端发送所述区块数据。

在本实施例中,所述第一协调服务器可以接收客户端发来的区块数据读取请求;可以在所述位置值不满足位置值判断条件时,向第二协调服务器发送所述位置值;可以接收所述第二协调服务器发来的所述位置值指向的区块数据;可以向所述客户端发送所述区块数据。这样所述第一协调服务器便实现了在接收到区块数据读取请求以后,向客户端反馈区块数据。

请参阅图7。本说明书实施例还提供另一种数据处理方法。所述数据处理方法以第一协调服务器为执行主体,可以包括以下步骤。

步骤s30:接收客户端发来的区块数据读取请求。

在本实施例中,客户端可以向所述第一协调服务器发送区块数据读取请求。所述区块数据读取请求中可以携带有待读取的区块数据的位置值。所述第一协调服务器可以接收区块数据读取请求。

步骤s32:在所述位置值满足位置值判断条件时,获取所述位置值指向的区块数据。

在本实施例中,所述第一协调服务器可以接收区块数据读取请求;可以判断所述位置值是否满足位置值判断条件;在所述位置值满足位置值判断条件时,可以获取所述位置值指向的区块数据。所述第一协调服务器获取位置值指向的区块数据的过程,可以参见前述实施例。

步骤s34:向所述客户端发送所述区块数据。

在本实施例的一个实施方式中,所述第一协调服务器在所述位置值不满足位置值判断条件时,可以向第二协调服务器发送所述位置值;可以接收所述第二协调服务器发来的所述位置值指向的区块数据;可以向所述客户端发送所述区块数据。

在本实施例中,所述第一协调服务器可以接收客户端发来的区块数据读取请求;可以在所述位置值满足位置值判断条件时,获取所述位置值指向的区块数据;可以向所述客户端发送所述区块数据。这样所述第一协调服务器便实现了在接收到区块数据读取请求以后,向客户端反馈区块数据。

请参阅图8。本说明书实施例还提供一种数据处理装置,应用于客户端。所述数据处理装置可以包括以下单元。

选取单元40,用于根据待处理数据的数据属性,从多个协调服务器中选取目标协调服务器;所述多个协调服务器分别隶属于多个服务器集群;

发送单元42,用于向所述目标协调服务器发送数据处理请求,以便于所述目标协调服务器隶属的服务器集群能够优先处理所述数据处理请求;所述数据处理请求指向所述待处理数据。

请参阅图9。本说明书实施例还提供一种客户端。所述客户端可以包括存储器和处理器。

在本实施例中,所述存储器包括但不限于动态随机存取存储器(dynamicrandomaccessmemory,dram)和静态随机存取存储器(staticrandomaccessmemory,sram)等。所述存储器可以用于存储计算机指令。

在本实施例中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以用于执行所述计算机指令实现以下步骤:根据待处理数据的数据属性,从多个协调服务器中选取目标协调服务器;所述多个协调服务器分别隶属于多个服务器集群;向所述目标协调服务器发送数据处理请求,以便于所述目标协调服务器隶属的服务器集群能够优先处理所述数据处理请求;所述数据处理请求指向所述待处理数据。

请参阅图10。本说明书实施例还提供另一种数据处理装置,应用于第一协调服务器。所述数据处理装置可以包括以下单元。

第一接收单元50,用于接收客户端发来的区块数据读取请求;所述区块数据读取请求中携带有待读取的区块数据的位置值;

第一发送单元52,用于在所述位置值不满足位置值判断条件时,向第二协调服务器发送所述位置值;

第二接收单元54,用于接收所述第二协调服务器发来的所述位置值指向的区块数据;

第二发送单元56,用于向所述客户端发送所述区块数据。

请参阅图11。本说明书实施例还提供一种第一协调服务器。所述第一协调服务器可以包括存储器和处理器。

在本实施例中,所述存储器包括但不限于动态随机存取存储器(dynamicrandomaccessmemory,dram)和静态随机存取存储器(staticrandomaccessmemory,sram)等。所述存储器可以用于存储计算机指令。

在本实施例中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以用于执行所述计算机指令实现以下步骤:接收客户端发来的区块数据读取请求;所述区块数据读取请求中携带有待读取的区块数据的位置值;在所述位置值不满足位置值判断条件时,向第二协调服务器发送所述位置值;接收所述第二协调服务器发来的所述位置值指向的区块数据;向所述客户端发送所述区块数据。

请参阅图12。本说明书实施例还提供另一种数据处理装置,应用于第一协调服务器。所述数据处理装置可以包括以下单元。

接收单元60,用于接收客户端发来的区块数据读取请求;所述区块数据读取请求中携带有待读取的区块数据的位置值;

获取单元62,用于在所述位置值满足位置值判断条件时,获取所述位置值指向的区块数据;

发送单元64,用于向所述客户端发送所述区块数据。

请参阅图11。本说明书实施例还提供一种第一协调服务器。所述第一协调服务器可以包括存储器和处理器。

在本实施例中,所述存储器包括但不限于动态随机存取存储器(dynamicrandomaccessmemory,dram)和静态随机存取存储器(staticrandomaccessmemory,sram)等。所述存储器可以用于存储计算机指令。

在本实施例中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以用于执行所述计算机指令实现以下步骤:接收客户端发来的区块数据读取请求;所述区块数据读取请求中携带有待读取的区块数据的位置值;在所述位置值满足位置值判断条件时,获取所述位置值指向的区块数据;向所述客户端发送所述区块数据。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其对于数据处理装置实施例、客户端实施例、和服务器实施例而言,由于其基本相似于数据处理方法实施例,所以描述的比较简单,相关之处参见数据处理方法实施例的部分说明即可。

此外,可以理解的是,所属领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到本说明书文件中列举的部分或全部实施例之间可以组合,这些组合也在本说明书公开和保护的范围内。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。

本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1