• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 13
    • 下载费用:30 金币  

    网都重庆时时彩: 一种数据处理方法和系统.pdf

    关 键 词:
    一种 数据处理 方法 系统
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201410115278.3

    申请日:

    2014.03.26

    公开号:

    CN103886079A

    公开日:

    2014.06.25

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20140326|||公开
    IPC分类号: G06F17/30 主分类号: G06F17/30
    申请人: 北京京东尚科信息技术有限公司; 北京京东世纪贸易有限公司
    发明人: 者文明
    地址: 100080 北京市海淀区苏州街20号2号楼2层
    优先权:
    专利代理机构: 北京德琦知识产权代理有限公司 11018 代理人: 牛峥;王丽琴
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201410115278.3

    授权公告号:

    ||||||

    法律状态公告日:

    2018.03.30|||2014.07.16|||2014.06.25

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种数据处理方法和系统,包括:数据写入阶段:接收客户端发送来的数据信息;将所述数据信息持久化到数据库;将所述数据信息中的待处理数据写入Redis缓存;数据处理阶段:从所述Redis缓存获取所述待处理数据并进行处理,将处理后的结果数据发送到消息队列;从所述消息队列中获取所述结果数据,并将其持久化到所述数据库。本发明采用Redis缓存保存待处理数据,实现了Redis缓存中的待处理数据的并发抢占和处理,处理后的结果数据通过消息队列实现了串行化的方式持久化到数据库中。本发明增强了数据的并发性处理,给客户带来良好的体验,避免了高并发情况下给数据库带来的瓶颈问题,避免数据库死锁的问题,确保了数据的一致性和完整性。

    权利要求书

    权利要求书
    1.  一种数据处理方法,包括数据写入阶段和数据处理阶段,其中:
    所述数据写入阶段包括:
    接收客户端发送来的数据信息;
    创建数据库连接,并开启数据库事务,将所述数据信息持久化到数据库;
    将所述数据信息中的待处理数据写入Redis缓存,之后提交数据库事务;
    所述数据处理阶段包括:
    从所述Redis缓存获取所述待处理数据,并对所述待处理数据进行处理,将处理后的结果数据发送到消息队列;
    监听所述消息队列,并从所述消息队列中获取所述结果数据,并将所接收的结果数据持久化到所述数据库;
    删除所述Redis缓存中的所述待处理数据。

    2.  根据权利要求1所述的数据处理方法,其特征在于,在所述数据写入阶段中:
    若所述数据信息持久化到数据库失败,则回滚所述数据库事务,并断开所述数据库连接。

    3.  根据权利要求1所述的数据处理方法,其特征在于,在所述数据处理阶段中:
    若所述结果数据持久化到所述数据库失败,则回滚所述数据库事务,且不删除所述Redis缓存中的所述待处理数据。

    4.  根据权利要求1所述的数据处理方法,其特征在于:
    所述Redis缓存中具有存储队列List,以及与所述List对应的已完成队列Complete List;
    在所述数据写入阶段中:
    将所述待处理数据写入Redis缓存时,是将所述待处理数据写入所述存储队列List中;
    在所述数据处理阶段中:
    从所述Redis缓存获取所述待处理数据,并对所述待处理数据进行处理时,是从所述存储队列List中取出所述待处理数据以进行处理,将处理后的结果数据转存到与所述List相对应的Complete List中。

    5.  根据权利要求4所述的数据处理方法,其特征在于:
    从所述存储队列List中取出所述待处理数据以进行处理,将处理后的结果数据转存到与所述List相对应的Complete List中的过程中,采用setnx原子操作对所述待处 理数据进行加锁处理。

    6.  根据权利要求1所述的数据处理方法,其特征在于:在所述数据写入阶段中,所述将所述数据信息持久化到数据库与所述将所述数据信息中的待处理数据写入Redis缓存,在同一个事务边界中完成。

    7.  根据权利要求1至6任一项所述的数据处理方法,其特征在于:所述数据信息为售后服务申请单数据。

    8.  一种数据处理系统,其特征在于,包括:
    数据库,用于进行所述数据信息和处理后的结果数据的存储;
    Redis缓存,用于保存所述数据信息中的待处理数据;
    第一服务???,用于接收客户端发送来的数据信息,创建数据库连接,并开启数据库事务,将所述数据信息持久化到所述数据库,将所述数据信息中的待处理数据写入所述Redis缓存,之后提交数据库事务;
    数据处理???,用于从所述Redis缓存获取所述待处理数据,并对所述待处理数据进行处理,将处理后的结果数据发送到消息队列;
    第二服务???,用于监听所述消息队列,并从所述消息队列中获取所述结果数据,并将所接收的结果数据持久化到所述数据库,之后删除所述Redis缓存中的所述待处理数据。

    9.  根据权利要求8所述的数据处理系统,其特征在于:
    所述Redis缓存中具有存储队列List,以及与所述List对应的已完成队列Complete List;
    所述第一服务??榻龃硎菪慈隦edis缓存时,是将所述待处理数据写入所述存储队列List中;
    所述数据处理??榇铀鯮edis缓存获取所述待处理数据,并对所述待处理数据进行处理时,是从所述存储队列List中取出所述待处理数据以进行处理,将处理后的结果数据转存到与所述List相对应的Complete List中。

    10.  根据权利要求8或9所述的并发数据处理系统,其特征在于:所述数据信息为售后服务申请单数据。

    说明书

    说明书一种数据处理方法和系统
    技术领域
    本发明涉及计算机技术领域,特别涉及一种高并发性能的数据处理方法和系统。
    背景技术
    售后服务是商业行为中非常重要的环节。无论是传统零售商,还是电商企业,都必须建立一套完善的售后服务体系,才能保障销售产品的品质和客户的合法权益,并且售后服务质量的好坏还直接影响到客户的购物体验。
    对于电商企业来讲,客户在电商网站购买商品,收货后如果发现存在质量、错误购买等问题,可以直接在该电商网站提交相关的售后服务申请,售后服务申请数据通过网络发送到该电商的售后服务系统中。电商网站的售后服务专员直接在售后服务系统中审核并处理该售后服务申请数据。
    在目前的电商企业中,由于售后服务专员的考核指标主要通过工作量进行衡量,进而为了能够提高其自身的考核指标,售后服务专员会在售后服务系统中争抢售后服务申请数据进行审核和处理。在售后服务系统中,售后服务申请数据的领取属于一种抢占模式(类似12306网站的抢票模式),这就要求售后服务系统的领取环节必须支持高并发处理。
    在现有技术中,对于OLTP(On-Line Transaction Processing,联机事务处理系统,也称为面向交易的处理系统)类应用系统,通常都采用全流程实时数据库交互的模式进行数据处理,如图1所示,其交互过程包括如下步骤:
    第1步、客户端向Web服务端发起请求,例如售后服务申请单领取请求;
    第2步、Web服务端接收到客户端发起的请求,并和数据库建立连接,向数据库发起数据库更新事务请求;
    第3步、数据库接收到数据库更新事务请求后,执行事务内的更新动作以更新对应的数据记录,比如售后服务申请单的领取状态、领取数量等,更新成功之后事务结束,同时返回给Web服务端事务执行成功标识;
    第4步、Web服务端接收到数据库返回的事务成功标识后,将数据处理结果返回给客户端,比如售后服务申请单最终领取成功数量等信息;
    第5步、客户端接收到服务端返回的信息后提示用户领取成功信息。
    现有技术中所采用的上述全流程实时数据库交互模式的缺陷表现在如下几个方面:
    1)因为全流程实时和数据库交互,进而对数据库形成强依赖。数据库的事务并发性能(TPS)有限,因此可导致OLTP类应用系统的并发性能存在瓶颈风险。而实践也表明无论如何进行查询SQL(Structured Query Language,结构化查询语言)、数据库配置等优化,都很难满足上述抢占式应用场景的高并发需求;
    2)在高并发的应用场景下,现有技术方案容易发生数据库死锁,如果死锁处理不好的话容易导致数据库崩溃,进而导致系统无法使用等严重后果;
    3)并发性能差,用户体验不好,往往在客户端发起领取请求后,要数秒之后才能返回结果。
    发明内容
    有鉴于此,本发明提供一种高并发数据处理方法和系统,以适用于解决系统中类似抢占模式的高并发应用。
    本发明的技术方案是这样实现的:
    一种数据处理方法,包括数据写入阶段和数据处理阶段,其中:
    所述数据写入阶段包括:
    接收客户端发送来的数据信息;
    创建数据库连接,并开启数据库事务,将所述数据信息持久化到数据库;
    将所述数据信息中的待处理数据写入Redis缓存,之后提交数据库事务;
    所述数据处理阶段包括:
    从所述Redis缓存获取所述待处理数据,并对所述待处理数据进行处理,将处理后的结果数据发送到消息队列;
    监听所述消息队列,并从所述消息队列中获取所述结果数据,并将所接收的结果数据持久化到所述数据库;
    删除所述Redis缓存中的所述待处理数据。
    进一步,在所述数据写入阶段中:
    若所述数据信息持久化到数据库失败,则回滚所述数据库事务,并断开所述数据库连接。
    进一步,在所述数据处理阶段中:
    若所述结果数据持久化到所述数据库失败,则回滚所述数据库事务,且不删除所 述Redis缓存中的所述待处理数据。
    进一步,所述Redis缓存中具有存储队列List,以及与所述List对应的已完成队列Complete List;
    在所述数据写入阶段中:
    将所述待处理数据写入Redis缓存时,是将所述待处理数据写入所述存储队列List中;
    在所述数据处理阶段中:
    从所述Redis缓存获取所述待处理数据,并对所述待处理数据进行处理时,是从所述存储队列List中取出所述待处理数据以进行处理,将处理后的结果数据转存到与所述List相对应的Complete List中。
    进一步,从所述存储队列List中取出所述待处理数据以进行处理,将处理后的结果数据转存到与所述List相对应的Complete List中的过程中,采用setnx原子操作对所述待处理数据进行加锁处理。
    进一步,在所述数据写入阶段中,所述将所述数据信息持久化到数据库与所述将所述数据信息中的待处理数据写入Redis缓存,在同一个事务边界中完成。
    进一步,所述数据信息为售后服务申请单数据。
    一种数据处理系统,包括:
    数据库,用于进行所述数据信息和处理后的结果数据的存储;
    Redis缓存,用于保存所述数据信息中的待处理数据;
    第一服务???,用于接收客户端发送来的数据信息,创建数据库连接,并开启数据库事务,将所述数据信息持久化到所述数据库,将所述数据信息中的待处理数据写入所述Redis缓存,之后提交数据库事务;
    数据处理???,用于从所述Redis缓存获取所述待处理数据,并对所述待处理数据进行处理,将处理后的结果数据发送到消息队列;
    第二服务???,用于监听所述消息队列,并从所述消息队列中获取所述结果数据,并将所接收的结果数据持久化到所述数据库,之后删除所述Redis缓存中的所述待处理数据。
    进一步,所述Redis缓存中具有存储队列List,以及与所述List对应的已完成队列Complete List;
    所述第一服务??榻龃硎菪慈隦edis缓存时,是将所述待处理数据写入所述存储队列List中;
    所述数据处理??榇铀鯮edis缓存获取所述待处理数据,并对所述待处理数据 进行处理时,是从所述存储队列List中取出所述待处理数据以进行处理,将处理后的结果数据转存到与所述List相对应的Complete List中。
    进一步,所述数据信息为售后服务申请单数据。
    从上述方案可以看出,本发明的数据处理方法和系统,采用Redis缓存保存数据信息中的待处理数据,利用Redis缓存对高并发访问的良好支持,实现了Redis缓存中的待处理数据的并发抢占和处理,将处理后的结果数据发送到消息队列,并通过消息队列以串行化的方式持久化到数据库中,在保证数据一致性和完整性的情况下实现了结果数据在数据库中的存储。对于整个的数据处理过程来说,一方面增强了数据的并发性处理,能够较快的完成数据的处理,不需要客户较长时间的等待,给客户带来良好的体验,另一方面,也避免了高并发情况下给数据库带来的瓶颈问题,避免数据库死锁的问题,也确保了数据的一致性和完整性。
    附图说明
    图1为现有的全流程实时数据库交互模式进行数据处理的示意图;
    图2为本发明的数据处理方法的流程示意图;
    图3为本发明的数据处理方法的实施例意图;
    图4为本发明中Redis缓存中的数据存储结构示意图;
    图5为本发明的数据处理系统的实施例结构示意图。
    具体实施方式
    为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
    如图2所示,本发明提供的数据处理方法包括数据写入阶段和数据处理阶段,其中:
    所述数据写入阶段包括:
    步骤1、接收客户端发送来的数据信息;
    步骤2、创建数据库连接,并开启数据库事务,将所述数据信息持久化到数据库;
    步骤3、将所述数据信息中的待处理数据写入Redis缓存,之后提交数据库事务;
    所述数据处理阶段包括:
    步骤4、从所述Redis缓存获取所述待处理数据,并对所述待处理数据进行处理,将处理后的结果数据发送到消息队列(MQ);
    步骤5、监听所述消息队列,并从所述消息队列中获取所述结果数据,并将所接收的结果数据持久化到所述数据库;
    步骤6、删除所述Redis缓存中的所述待处理数据。
    在所述数据写入阶段中,若步骤2中所述数据信息持久化到数据库失败,则回滚所述数据库事务,并断开所述数据库连接。此处的数据库回滚指的是该处整个数据持久化事务回滚,回滚的事务不会有任何数据持久化到数据库。
    在所述数据写入阶段中,步骤2的将所述数据信息持久化到数据库与步骤3的将所述数据信息中的待处理数据写入Redis缓存,是在同一个事务边界中完成的,进而保证存储到数据库中和存储到Redis缓存中的数据保持一致。
    在所述数据处理阶段中,若步骤5中所述结果数据持久化到所述数据库失败,则回滚所述数据库事务,且不删除所述Redis缓存中的所述待处理数据。
    本发明中,所采用的Redis是一个key-value存储系统,支持多种存储类型,其中包括List(存储队列)类型,并且支持多种操作,例如push/pop、add/remove以及取交集并集和差集等,这些操作都是原子性的。并且,在此基础上,redis支持了各种不同方式的排序。Redis的数据都是缓存在内存中的。关于Redis,为本领域已有技术,不在此赘述。
    本发明所述方法的实施例中,Redis缓存中具有至少1个List(存储队列),以及与所述List对应的Complete List(已完成队列)。步骤2中,将所述待处理数据写入Redis缓存时,是将所述待处理数据写入所述存储队列List中;步骤4中,从所述Redis缓存获取所述待处理数据,并对所述待处理数据进行处理时,是从所述存储队列List中取出所述待处理数据以进行处理,将处理后的结果数据转存到与所述List相对应的Complete List中。从所述存储队列List中取出所述待处理数据以进行处理,将处理后的结果数据转存到与所述List相对应的Complete List中的过程中,采用setnx原子操作对所述待处理数据进行加锁处理,进而保证高并发下的线程安全。
    本发明公开的数据处理方法,适用于高并发的数据处理,例如抢占模式的售后服务申请数据的处理,进而作为一个具体实施例,本发明的上述数据处理方法中,所述待处理数据为售后服务申请单数据。
    以下以电商的网上售后服务申请单的数据处理过程为例,并结合图3对本发明的数据处理方法进行具体说明,该实施例包括以下过程。
    步骤a、电商接收客户端发送来的售后服务申请单数据,之后执行步骤b。
    在本步骤a之前,客户从电商购买所需要的商品,当发现其所购买的商品出现质量问题或者需要相关的售后服务时,通过客户端向电商发送售后服务申请单,以申请相应的售后服务。其中,客户端例如客户电脑,或者客户电脑中所安装的相应软件,或者客户电脑所登录的电商网页,或者客户移动终端所安装的相应软件,或者客户移动终端所登陆的点上网页等。
    步骤b、创建数据库连接,并开启数据库事务,将售后服务申请单数据持久化到数据库,之后执行步骤c。
    其中,数据库为事先已经创建好的数据库,该数据库用于存储售后服务申请单数据以及与所述售后服务申请单数据相对应的经过电商客服处理后的售后服务数据等。本步骤b中,将售后服务申请单数据持久化到数据库中,目的是为了在电商网站完成服务申请单数据的存储。
    步骤c、判断将售后服务申请单数据持久化到数据库是否成功,如果成功则执行步骤d,否则执行步骤e。
    在网站运营的过程中,可能因为所存在的各种问题,例如传输数据丢失,而造成的数据持久化失败的可能,设置本步骤c的目的是当出现失败的情况时,能够进行相应的处理,以防止无法完成售后服务申请单的处理的可能。
    步骤d、将所述售后服务申请单数据中的待处理数据写入Redis缓存,之后提交数据库事务,之后执行步骤f。
    本步骤d中,售后服务申请单数据中的待处理数据是指,进行该售后服务申请的相应处理是所需要用到的数据。对于售后服务申请单来说,其中包含了大量的信息,这些信息在数据库中的存储例如分为多个字段进行存储,字段内容例如相关的商品信息、提交日期信息、客户在申请单中填写的描述信息、用于标识售后服务申请的处理进展的信息等。在电商客服针对该售后服务申请进行相应的处理时,并不需要该售后服务申请单数据中的所有信息,仅需要其中一部分信息即可完成相应的售后服务流程,因此不必要将所有的售后服务申请单数据全部写入Redis缓存,进而节省了售后服务申请单数据所占用的Redis缓存空间,能够使Redis缓存同时存储更多的其他售后服务申请单的相关数据。
    步骤d中,在所述的提交数据库事务中的事务是指数据写入的事务,本领域中,凡是持久化到数据库的业务逻辑都需要依赖于数据库自身的事务来确保数据的一致性和完整性,数据写入事务提交之后,客户端所提交的数据才真正的持久化到了数据库中。
    这里需要强调的是,步骤b到步骤d的过程中,将售后服务申请单数据持久化到数据库以及将所述售后服务申请单数据中的待处理数据写入Redis缓存,这两个过程是在同一个事务边界中完成的,进而确保了数据库和Redis缓存中的数据的一致性。
    步骤e、回滚所述数据库事务,并断开所述数据库连接,并向客户端发出售后服务申请单数据存储失败提示信息。
    经过本步骤e,可使得数据库返回到其创建连接之前的状态,防止售后服务申请单数据持久化到数据库失败而可能对数据库存储信息造成的破坏。向客户端发出售后服务申请单数据存储失败提示信息,能够使得客户得知其售后服务申请单上传失败,以重新进行上传。
    这里需要注意的是数据的写入顺序非常关键,必须先确保售后服务申请单数据持久化到数据库成功,然后再将待处理数据写入到Redis缓存,这样才能保证数据库和Redis缓存中数据的一致性。如果顺序反过来,就可能出现Redis缓存写成功,但持久化过程中出现异常导致数据库事务回滚的问题,这样的结果就是数据库中没有该售后服务申请单数据,而Redis缓存中已经存有该售后服务申请单的待处理数据了,因为Redis缓存不会和数据库事务一起回滚。
    经过上述步骤a至步骤e的过程,便完成了售后服务申请单数据的写入。
    步骤f、从Redis缓存获取待处理数据,并对待处理数据进行处理,将处理后的结果数据发送到消息队列(MQ),之后执行步骤g。
    本步骤f主要通过电商的售后服务专员来完成,售后服务专员通过电商网站的售后服务系统获取Redis缓存中的待处理数据,并对待处理数据进行审核和处理。当大量的售后服务申请单数据经过步骤a至步骤e进入电商网站的数据库和Redis缓存中后,售后服务专员仅获取Redis缓存中的待处理数据,不从数据库中争抢售后服务申请单数据,可避免由于数据库并发性能有限的瓶颈;另外,Redis缓存的读取/写入速度要比数据库的读取/写入速度快得多,在同时处理大量售后服务申请单数据的情况下,因为仅从Redis缓存中争抢售后服务申请单数据,与传统的仅从数据库进行抢单相比,本发明的方法也极大的加快了读取/写入速度;同时,由于是从Redis缓存获取待处理数据,所以本发明的方法不易发生数据库死锁。
    本发明实施例中,如图4所示,待处理数据在Redis缓存中采用List(存储队列)进行存储,List支持排序,并且支持单独操作List中的某个具体数据;在Redis缓存中,与List对应,还具有Complete List(已完成队列)。在步骤d中,将待处理数据写入Redis缓存时,根据具体的应用逻辑(服务单领取时需要处理的逻辑, 例如更新服务单状态等)定义不同的List,并将待处理数据写入到对应的List中。在步骤f中,从Redis缓存获取待处理数据(data),并对待处理数据进行处理时,是直接从Redis缓存中对应的List中Get(获?。┒杂Φ腣alue(值),在内存中进行逻辑处理后将该Value转移到对应的Complete List中,这样可以避免在高并发下的重复处理。上述中,应用逻辑指的是具体的业务逻辑,可以根据不同的业务逻辑定义不同的数据结构,比如在售后服务单的实施例中,因为售后服务单信息写入到数据库中之后,处理数据的业务逻辑是服务单领取,服务单领取业务要求先进先出,需要按照时间顺序领取,进而需采用队列(List)形式。关于Redis缓存以及其中的List以及相关操作等内容为已公开技术,本领域技术人员可通过相关技术文档获得,此处不再赘述。
    此外,从Redis缓存中获取待处理数据并将对应数据移动到Complete List的整个处理过程,利用Redis中的setnx原子操作加锁,进而保证高并发下的线程安全。
    步骤g、监听消息队列,并从消息队列中获取结果数据,并将所接收的结果数据持久化到所述数据库,之后执行步骤h。
    本发明中,所述消息队列为基于JMS(Java消息服务)的消息总线,进行异步处理的一种实现方式。本发明中,经过步骤f将处理后的结果数据发送到消息队列,在步骤g中,利用消息队列,实现了数据库更新的异步操作,使得Redis缓存中高并发情况下进行数据处理获得的结果数据,能够以串行化的方式持久化到数据库中,一方面确保了数据的一致性和完整性,另一方面避免了数据库死锁的问题,也可回避数据库并发性能差,用户体验不好的问题。
    步骤h、判断结果数据持久化到所述数据库是否成功,如果成功则执行步骤i,否则执行j。
    步骤i、删除所述Redis缓存中的所述待处理数据。
    步骤j、回滚所述数据库事务,且不删除所述Redis缓存中的所述待处理数据。
    从上述过程可以看出,本发明实施例利用Redis缓存保存售后服务申请单数据中的待处理数据,利用Redis缓存对高并发访问的良好支持,实现Redis缓存中的待处理数据的并发抢占和处理,之后将处理后的结果数据发送到消息队列,并通过消息队列以串行化的方式持久化到数据库中,在保证数据一致性和完整性的情况下实现了结果数据在数据库中的存储。在整个的数据处理过程来说,一方面增强了数据的并发性处理,能够较快的完成数据的处理,不需要客户较长时间的等待,给客户带来良好的体验,另一方面,也避免了高并发情况下给数据库带来的 瓶颈问题,避免数据库死锁的问题,也确保了数据的一致性和完整性。
    基于上述数据处理方法,本发明同时提供了一种数据处理系统,如图5所示,其包括,数据库1、Redis缓存2、第一服务???、数据处理???和第二服务???。其中,数据库1,用于进行所述数据信息和处理后的结果数据的存储。Redis缓存2,用于保存所述数据信息中的待处理数据。第一服务???,用于接收客户端发送来的数据信息,创建数据库连接,并开启数据库事务,将所述数据信息持久化到所述数据库1,将所述数据信息中的待处理数据写入所述Redis缓存2,之后提交数据库事务。数据处理???,用于从所述Redis缓存2获取所述待处理数据,并对所述待处理数据进行处理,将处理后的结果数据发送到消息队列。第二服务???,用于监听所述消息队列,并从所述消息队列中获取所述结果数据,并将所接收的结果数据持久化到所述数据库1,之后删除所述Redis缓存2中的所述待处理数据。
    本发明提供的上述数据处理方法和系统,采用Redis缓存保存数据信息中的待处理数据,利用Redis缓存对高并发访问的良好支持,实现了Redis缓存中的待处理数据的并发抢占和处理,将处理后的结果数据发送到消息队列,并通过消息队列以串行化的方式持久化到数据库中,在保证数据一致性和完整性的情况下实现了结果数据在数据库中的存储。对于整个的数据处理过程来说,一方面增强了数据的并发性处理,能够较快的完成数据的处理,不需要客户较长时间的等待,给客户带来良好的体验,另一方面,也避免了高并发情况下给数据库带来的瓶颈问题,避免数据库死锁的问题,也确保了数据的一致性和完整性。
    以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明?;さ姆段е??!  ∧谌堇醋宰ɡ鴚ww.www.4mum.com.cn转载请标明出处

    关于本文
    本文标题:一种数据处理方法和系统.pdf
    链接地址://www.4mum.com.cn/p-6126390.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 万达彩票苹果 港澳堵王 浙江快乐12精准计划 天津快乐10分钟开奖走势图 福彩开奖直播现场入口 任九14万奖金 内蒙古时时彩玩法 开饮品加盟店赚钱吗 新疆18选7开奖号 极速11选5娱乐平台 上海快3开奖结果走势 280组选的关系 野外捕鱼 做牛轧糖 赚钱吗 22选5胆拖中奖规则 山西11选5走势图表