数据处理方法和系统技术方案

技术编号:10478508 阅读:118 留言:0更新日期:2014-09-25 16:38
本申请公开了一种数据处理方法和系统,其中,该方法包括:确定客户端待处理的数据项的锁的状态为未锁定,其中,锁的状态保存在服务端上;请求将数据项对应的锁的状态更改为锁定;在数据项对应的锁的状态被更改为锁定之后,对数据项中的数据进行处理;在处理数据成功之后,请求将数据项对应的锁的状态更改为未锁定。通过本申请,解决了相关技术中采用二阶段提交协议进行数据处理导致的效率低的问题,提高了数据处理的效率。

【技术实现步骤摘要】
数据处理方法和系统
本申请涉及数据处理领域,具体而言,涉及数据处理方法和系统。
技术介绍
随着后台系统访问量的不断增加,数据存储系统中的数据处理技术越来越重要。 在相关技术中,对于数据处理有一种方法是采用二阶段提交协议,即对关键数据 进行更改之前先进行准备阶段,查询每个节点的状态,然后根据准备节点的状态,进入提交 阶段,来对数据进行更改。 本申请的专利技术人在研究和实践过程中发现,相关技术至少存在下列技术问题:相 关技术每次做数据更改都需要经过准备阶段和提交阶段的网络操作,同步的效率和性能不 高;由于在对多个无关的数据进行更改时,需要分别经过多个二阶段提交过程,无法并行处 理,即并行性差;必须要有一个节点用来准备和提交,容易产生瓶颈,并且系统不易扩展,这 些问题中的至少之一导致了相关技术中的数据同步处理效率低。 针对相关技术中的采用二阶段提交协议进行数据处理导致的效率低的问题,目前 尚未提出有效的解决办法。
技术实现思路
本申请提供了一种数据处理方法和系统,以解决相关技术中采用二阶段提交协议 进行数据处理导致的效率低的问题。 根据本申请的一个方面,提供了一种数据处理系统,该系统包括客户端和服务端, 其中:所述服务端与所述客户端相连,包括:保存模块,用于保存所述客户端待处理的数据 项对应的锁的状态;更改模块,用于更改所述锁的状态为锁定或未锁定;所述客户端包括: 确定模块,用于确定所述待处理的数据项对应的锁的状态为未锁定;第一请求模块,用于请 求将所述数据项对应的锁的状态更改为锁定;处理模块,用于在所述数据项对应的锁的状 态被更改为锁定之后,对所述数据项中的数据进行处理;第二请求模块,用于在处理所述数 据成功之后,请求将所述数据项对应的锁的状态更改为未锁定。 根据本申请的另一个方面,还提供了一种数据处理方法,该方法包括:确定客户端 待处理的数据项的锁的状态为未锁定,其中,所述锁的状态保存在服务端上;请求将所述数 据项对应的锁的状态更改为锁定;在所述数据项对应的锁的状态被更改为锁定之后,对所 述数据项中的数据进行处理;在处理所述数据成功之后,请求将所述数据项对应的锁的状 态更改为未锁定。 通过本申请,采用了确定客户端待处理的数据项的锁的状态为未锁定,其中,该锁 的状态保存在服务端上;请求将该数据项对应的锁的状态更改为锁定;在该数据项对应的 锁的状态被更改为锁定之后,对该数据项中的数据进行处理;在处理该数据成功之后,请求 将该数据项对应的锁的状态更改为未锁定。解决了相关技术中采用二阶段提交协议进行数 据处理导致的效率低的问题,提高了数据处理的效率。 【附图说明】 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申 请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。并且,对于本 领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的 附图。在附图中: 图1是根据本申请实施例的数据处理系统的系统结构框图; 图2是根据本申请实施例的数据处理系统的优选系统结构框图; 图3是根据本申请实施例的数据处理方法的流程示意图; 图4是根据本申请优选实施例的数据处理系统的系统框图; 图5是根据本申请优选实施例的位图的示意图。 【具体实施方式】 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本申请。 在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操 作的符号表示来描述本申请的各实施例。其中,计算机可以包括个人计算机、服务器、移动 终端等各种产品,在以下实施例中,使用了 CPU、单片机、DSP等具有处理芯片的设备均可以 称为计算机。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理 单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器 系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操 作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然 而,尽管在上述上下文中描述本申请,但它并不意味着限制性的,如本领域的技术人员所理 解的,后文所描述的动作和操作的各方面也可用硬件来实现。 转向附图,其中相同的参考标号指代相同的元素,本申请的原理被示为在合适的 计算环境中实现。以下描述基于所述的本申请的实施例,并且不应认为是关于此处未明确 描述的替换实施例而限制本申请。 优选地,本申请实施例可以提供一个其上存储有本申请实施例的机器可读媒体。 需要说明的是,任一适合存储设计关于本申请的指令的媒体都在本申请的范围以内。例如, 这样的媒体可以采用磁性媒体、光学媒体或半导体媒体的形式。 本实施例提供了一种数据处理系统,图1是根据本申请实施例的数据处理系统的 系统结构框图,如图1所示,该系统包括客户端10和服务端12,如图1所示,在该图1中,客 户端10可以是多个,服务端12可以是一个或者一组服务器,也可以是一种服务,该服务可 以由任何设备提供,例如,可以由服务器提供,或者也可以由多个客户端10中的一个或多 个来提供这种服务。 客户端可以是个人电脑(PC),也可以是需要对数据进行处理的任何一个终端,这 里的终端是相对于服务端而言的,需要从服务端获取到锁服务的任何一个设备或者该设备 上的软件或者一个功能模块均可以理解为是本实施例中的客户端10。 客户端与服务端之间的连接可以是有线连接,也可以是无线连接。可以预料到的, 客户端与服务端的任何物理的连接方式都不影响实施例的实现。客户端和服务端可能在同 一网络,或者在不同的网络,为了实现客户端和服务端之间的连接可能还需要其他的中间 设备,附图中示出的是客户端和服务端之间的连接关系,其余并未在附图中示出。 在以下实施例中,数据项所对应的可以是一个数据项目的名称,该数据项可以有 不同的值或者内容,这些值或者内容在本实施例中称为是该数据项中存储的数据。下面 通过一个例子来说明数据项和数据项中的数据的关系,该例子不应当理解为对数据项的限 定。例如:对应于一个相同用户的用户名信息。在数据存储系统中,该数据项的名称是用户 名信息,对于不同的用户该数据项的名称是一样的,均是用户名信息,但是,对于不同的用 户该数据项的值可以是不同的。例如,用户1的用户名信息这一数据项的值是Tom,而用 户2的用户名信息这一数据项的值是Jerry。 在本实施例中一个或多个客户端10均可以对数据存储系统中同一数据项中的数 据进行处理(例如,修改、更新、写入等处理)。 如图1所示,服务端12可以与一个或多个客户端10相连,该服务端12可以包括: 保存模块122和更改模块124,其中,保存模块122用于保存客户端10待处理的数据项对应 的锁的状态;更改模块124耦合至保存模块122,用于更改锁的状态为锁定或未锁定; 客户端10包括:确定模块102、第一请求模块104、处理模块106和第二请求模块 108,其中,确定模块102用于确定客户端10待处理的数据项对应的锁的状态本文档来自技高网...

【技术保护点】
一种数据处理系统,其特征在于,包括客户端和服务端,其中:所述服务端与所述客户端相连,包括:保存模块,用于保存所述客户端待处理的数据项对应的锁的状态;更改模块,用于更改所述锁的状态为锁定或未锁定;所述客户端包括:确定模块,用于确定所述待处理的数据项对应的锁的状态为未锁定;第一请求模块,用于请求将所述数据项对应的锁的状态更改为锁定;处理模块,用于在所述数据项对应的锁的状态被更改为锁定之后,对所述数据项中的数据进行处理;第二请求模块,用于在处理所述数据成功之后,请求将所述数据项对应的锁的状态更改为未锁定。

【技术特征摘要】
1. 一种数据处理系统,其特征在于,包括客户端和服务端,其中: 所述服务端与所述客户端相连,包括: 保存模块,用于保存所述客户端待处理的数据项对应的锁的状态; 更改模块,用于更改所述锁的状态为锁定或未锁定; 所述客户端包括: 确定模块,用于确定所述待处理的数据项对应的锁的状态为未锁定; 第一请求模块,用于请求将所述数据项对应的锁的状态更改为锁定; 处理模块,用于在所述数据项对应的锁的状态被更改为锁定之后,对所述数据项中的 数据进行处理; 第二请求模块,用于在处理所述数据成功之后,请求将所述数据项对应的锁的状态更 改为未锁定。2. 根据权利要求1所述的系统,其特征在于, 所述锁的状态包括:多个客户端分别对应的所述数据项的锁的状态;和/或,多个数据 项分别对应的锁的状态。3. 根据权利要求2所述的系统,其特征在于,所述锁的状态以位图的方式保存在所述 服务端,其中,所述位图中的每一位分别用于表示所述多个客户端中每个客户端对应的所 述数据项的锁的状态。4. 根据权利要求3所述的系统,其特征在于,在所述相同数据项的数量为多个的情况 下,所述锁的状态以所述位图的方式保存在所述服务端包括:所述锁的状态以多个所述位 图的方式保存在所述服务端,其中,每个所述位图用于表示所述多个客户端的同一个数据 项对应的锁的状态,或用于表示所述多个客户端中一个客户端中的多个数据项对应的锁的 状态。5. 根据权利要求2至4中任一项所述的系统,其特征在于,在所述多个客户端请求将所 述锁的状态更改为锁定的情况下, 所述第一请求模块用于根据预先确定的顺序请求将所述数据项对应的锁的状态更改 为锁定; 所述第二请求模块用于根据与所述顺序相反的顺序请求将所述数据项对应的锁的状 态更改为未锁定。6. 根据权利要求2至4中任一项所述的系统,其特征在于,所述保存模块还用于将所述 锁的状态保存在所述服务端的内存或共享内存中。7. 根据权利要求2至4中任一项所述的系统,其特征在于, 所述更改模块还用于在将所述锁的状态更改为锁定的情况下,记录所述锁的位置和所 述锁的状态更改为锁定的时间; 所述服务端还包括:判断模块,用于根据所述锁的状态更改为锁定的时间和当前时间, 判断所述锁的锁定状态是否超过预定时...

【专利技术属性】
技术研发人员:张春玮
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1