数据处理方法、装置和服务器制造方法及图纸

技术编号:16038129 阅读:29 留言:0更新日期:2017-08-19 19:57
本申请实施例提供了一种数据处理方法、装置和服务器;该方法包括:获取针对指定数据库分片的访问请求;确定当前是否存在所述数据库分片的请求队列,如果存在,则将所述访问请求添加至所述请求队列;在满足预设的第一触发条件时,将所述请求队列中指定范围内的访问请求出队,并作为一个事务提交至所述数据库分片。本申请实施例可有效降低对数据库的操作次数,提高系统的吞吐量。

【技术实现步骤摘要】
数据处理方法、装置和服务器
本申请涉及数据处理
,尤其是涉及一种数据处理方法、装置和服务器。
技术介绍
互联网的迅猛发展,不断地改变着人们的工作和生活方式。随着人们对网络的依赖越发强烈,不同行业、不同类的网站(例如门户网站、电子商务平台等)竞相上线。随着线上业务的快速发展,网站时常会面临高并发访问或海量数据流的情况。目前,面对高并发访问和海量数据流的问题,人们往往会想到通过异步处理的方式来解决。然而,这种异步处理方式也存在一些问题。异步处理方式下,异步队列中的写入请求一般是按照时间先后顺序添加的。在高并发场景下,例如数据库的高并发写入的场景,当从异步队列中拉取一批写入请求进行批量提交时,由于目前很多数据库都是采用分库分表设计的,而每一批待提交的写入请求的目的地往往不会是同一个数据库分片(例如一批写入请求有100个,其中30个写入请求的目的可能是数据库分片1,40个写入请求的目的可能是数据库分片2,剩下30个写入请求的目的可能是数据库分片3),这样批量的写入请求就不能一次性提交,仍然需要多次提交,因而影响了系统的吞吐能力。
技术实现思路
本申请实施例的目的在于提供一种数据处理方法、装置和服务器,以提高系统的吞吐能力。为达到上述目的,一方面,本申请实施例提供了一种数据处理方法,包括:获取针对指定数据库分片的访问请求;确定当前是否存在所述数据库分片的请求队列,如果存在,则将所述访问请求添加至所述请求队列;在满足预设的第一触发条件时,将所述请求队列中指定范围内的访问请求出队,并作为一个事务提交至所述数据库分片。另一方面,本申请实施例还提供了一种数据处理装置,包括:访问获取模块,用于获取针对指定数据库分片的访问请求;队列确认模块,用于确定当前是否存在所述数据库分片的请求队列,如果存在,则将所述访问请求添加至所述请求队列;访问提交模块,用于在满足预设的第一触发条件时,将所述请求队列中指定范围内的访问请求出队,并作为一个事务提交至所述数据库分片。另一方面,本申请实施例还提供一种服务器,包括:处理器,存储器,用于存储数据处理装置,所述数据处理装置被所述处理器处理时,执行如下步骤:获取针对指定数据库分片的访问请求;确定当前是否存在所述数据库分片的请求队列,如果存在,则将所述访问请求添加至所述请求队列;在满足预设的第一触发条件时,将所述请求队列中指定范围内的访问请求出队,并作为一个事务提交至所述数据库分片。本申请实施例可将针对同一个数据库分片的访问请求缓存到同一个请求队列中;在满足预设的触发条件时,将请求队列中指定范围内的访问请求出队;由于请求队列中的访问请求的目的地是同一个数据库分片,从而可以将请求队列中指定范围内的访问请求,作为一个事务提交至对应的数据库分片。因而,本申请实施例可有效降低了对数据库的操作次数,提高了系统的吞吐量。附图说明此处所说明的附图用来提供对本申请实施例的进一步理解,构成本申请实施例的一部分,并不构成对本申请实施例的限定。在附图中:图1为本申请一实施例的数据处理方法的流程图;图2为本申请另一实施例的数据处理方法的流程图;图3为本申请一实施例的数据库分片的请求队列示意图;图4为本申请一实施例的通信发起方的响应队列示意图;图5为本申请一实施例的应用场景示意图;图6为本申请一实施例的数据处理装置的结构框图;图7为本申请一实施例的服务器的结构框图;图8为本申请一实施例的分布式集群服务器的场景示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本申请实施例做进一步详细说明。在此,本申请实施例的示意性实施例及其说明用于解释本申请实施例,但并不作为对本申请实施例的限定。下面结合附图,对本申请实施例的具体实施方式作进一步的详细说明。参考图1所示,本申请实施例的数据处理方法包括以下步骤:S101、接收通信发起方发送的针对指定数据库分片的访问请求。本申请实施方式的执行主体可以为一个服务器。本申请的一个实施方式中,通信发起方可以为具有运算和通信交互功能的电子设备,例如业务服务器等;本申请的另一个实施方式中,通信发起方也可以为运行于该电子设备中,为数据处理和通信交互提供支持的软体,例如应用的服务端等。本申请的一个实施方式中,通信发起方并不具体限定其数量,可以为一个,也可以为多个,或者为由若干个组成的集群。本申请的一个实施方式中,数据库分片是指将整个数据库按照预设的分片规则划分成多个分库,每分库称为一个数据库分片。本申请的一个实施方式中,通信发起方可以接收或生成访问请求,并确定所述访问请求针对指定数据库分片,然后对外提供针对指定数据库分片的访问请求。其中,所述接收访问请求,例如可以是接收用户发起的访问请求,比如电子支付平台的转账系统接收用户提交的转账请求等。所述生成访问请求可以是根据预设的业务处理逻辑而生成的访问请求,例如网购平台的订单系统在用户提交订单后,生成一个订单写入请求等。本申请的一个实施方式中,所述通信发起方可以根据数据库分片的分片规则,来确定所述访问请求针对指定数据库分片。在一个示例性实施方式中,各个数据库分片可以是基于用户标识(userID)哈希(Hash)取模方式进行划分的,即对用户标识进行哈希取模运算,得到哈希值,然后将该用户的数据划分至与该哈希值对应的数据库分片,例如哈希值为2,则将该用户的数据划分至0002数据库分片。这样,每个数据库分片与哈希值形成映射关系。对应的,所述通信发起方确定所述访问请求针对指定数据库分片可以包括:首先对访问请求所包含的用户标识进行哈希取模运算,得到哈希值;然后根据预设的数据库分片与哈希值的映射关系,确定所述访问请求针对指定数据库分片。在另一个示例性实施方式中,各个数据库分片可以是基于用户标识的标识分段进行划分的。例如将用户标识的1~1000标识分段对应数据库分片01,1001~2000标识分段对应数据库分片02,以此类推。这样,每个数据库分片与标识分段形成映射关系。对应的,所述通信发起方确定所述访问请求针对指定数据库分片可以包括:首先确定访问请求所包含的用户标识所属的标识分段;然后根据预设的数据库分片与标识分段的映射关系,确定所述访问请求针对指定数据库分片。当然,数据库分片的划分规则有很多,以上仅是举例说明,在本申请其他实施方式中,也可以采用其他的数据库分片的划分规则划分数据库。对应的,所述通信发起方可根据相应的分片规则来确定访问请求针对指定数据库分片。本申请的一个实施方式中,所述访问请求可以为写请求,也可以为读请求等。由于通常情况下,不同的业务系统使用的数据库也不同,因此,本申请实施方式中,同一个请求队列中的访问请求一般是相同类型的访问请求,例如都是同一抽奖活动中的中奖结果写请求,或都是同一电子优惠券发放活动中的电子优惠券获取请求等。S102、确定当前是否存在所述数据库分片的请求队列;如果当前不存在所述数据库分片的请求队列,则执行步骤S103及其后续步骤,否则,执行步骤S104及其后续步骤。本申请的一个实施方式中,为便于后续可批量提交访问请求,并有利降低对数据库的操作次数,针对指定数据库分片的访问请求可添加至对应的数据库分片的请求队列中。如图3所示,例如当确定一个访问请求的目的地是数据库分片1时,应当首先判断当前本文档来自技高网...
数据处理方法、装置和服务器

【技术保护点】
一种数据处理方法,其特征在于,包括:获取针对指定数据库分片的访问请求;确定当前是否存在所述数据库分片的请求队列,如果存在,则将所述访问请求添加至所述请求队列;在满足预设的第一触发条件时,将所述请求队列中指定范围内的访问请求出队,并作为一个事务提交至所述数据库分片。

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:获取针对指定数据库分片的访问请求;确定当前是否存在所述数据库分片的请求队列,如果存在,则将所述访问请求添加至所述请求队列;在满足预设的第一触发条件时,将所述请求队列中指定范围内的访问请求出队,并作为一个事务提交至所述数据库分片。2.根据权利要求1所述的方法,其特征在于,所述获取针对指定数据库分片的访问请求,包括:接收通信发起方发送的针对指定数据库分片的访问请求。3.根据权利要求1所述的方法,其特征在于,所述获取针对指定数据库分片的访问请求,包括:接收访问请求,并根据数据库的分片规则确定所述访问请求所针对的数据库分片。4.根据权利要求1至3任意一项所述的方法,其特征在于,所述访问请求包括以下中的任意一种:写请求;读请求。5.根据权利要求1所述的方法,其特征在于,还包括:如果当前不存在所述数据库分片的请求队列,则为所述数据库分片的创建一个请求队列,并将所述访问请求添加至所述请求队列。6.根据权利要求1所述的方法,其特征在于,所述满足预设的第一触发条件包括以下中的一种:所述请求队列中的访问请求的数量达到预设阈值;所述请求队列达到预设的元素出队周期;所述请求队列中的访问请求的数量达到预设的阈值,或者所述请求队列达到预设的元素出队周期。7.根据权利要求1所述的方法,其特征在于,当存在多个通信发起方时,在所述将所述请求队列中指定范围内的访问请求出队,并作为一个事务提交所述数据库分片之后,还包括:接收所述数据库分片针对所述事务返回的处理结果,并据此确定对应访问请求的访问响应;确定每个访问响应所对应的通信发起方;确定...

【专利技术属性】
技术研发人员:刘禹轩
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1