[发明专利]账户并发处理方法及账户并发处理系统有效
申请号: | 200910164888.1 | 申请日: | 2009-08-07 |
公开(公告)号: | CN101989213A | 公开(公告)日: | 2011-03-23 |
发明(设计)人: | 于新林;楼方鑫 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06Q20/00 |
代理公司: | 上海开祺知识产权代理有限公司 31114 | 代理人: | 费开逵 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 账户 并发 处理 方法 系统 | ||
技术领域
本申请涉及网络领域,尤其涉及账户并发处理方法及账户并发处理系统。
背景技术
请参阅图1,其为现有账户处理系统的原理示意图。该账户处理系统包括账户处理中心11和若干客户端12。账户处理中心11可以通过专线连接客户端12,也可以通过网络(因特网、内部网)等连接至客户端12。客户端12可以是多个。客户端12也可以是独立终端,也可以为若干终端组成的局域网络。账户处理中心11至少包括服务器21和数据库22。数据库22用于存储账户信息及各种处理信息。服务器21用于对账户进行各种操作和管理。
以账户处理中心11为第三方支付平台为例,当客户端12向账户处理中心11发送指令,该指令是指将A账户中的资金向若干其它账户(以账户B1、B2、B3...Bn)支付金额分别为S1、S2、S3...Sn,现有的支付流程为:
首先,账户处理中心11接收到客户端12发送的支付操作;
接着,账户处理中心11先处理一次支付操作:
服务器21锁住A账户,判断A账户中的金额是否超过S1金额,若账户中的金额大于等于S1金额,则将A账户的余额扣除S1金额后,释放A账户的锁,再锁住B1账户,在B1账户中增加S1金额,操作完毕后释放B1账户的锁。
如此,账户处理中心11需要进行n次上述支付操作。
也就是说,为了避免账户并发处理而有可能影响账户内金额,需要保证在同一时刻只允许对账户进行一次操作,通常是通过对账户进行加锁来实现的。即,每一个对账户的操作,先判断能否获得这个账户的锁,若能,则说明对同一账户没有其它操作正在处理,当前能对该账户进行本操作。若不能,说明对同一账户有其它操作正在处理,需要等待。当等待的操作有多个时,就形成了等待进程队列。这个等待进程队列中每一个操作都需要对账户进行加锁和释放锁的操作,并且服务器只能串行处理该些操作,占用比较多的资源。特别是,当这样的账户(即该账户有等待进程队列)有多个或者账户的等待进程队列中需要处理的操作个数庞大时,就造成整个系统的处理效率低下,而且很容易造成系统的瘫痪。假设数据库的最大连接数是100个。也就是说,数据库能承受最大并发访问数据量为100个。当等待进程队列中有100个操作时,整个系统就不能接受新的账户操作请求,由此造成后续新账户操作的效率低,甚至容易造成整个系统瘫痪。
然而,由于存在一些突发事件而导致某个或某些账户的操作异常,比较常见的操作异常为对账户的操作暴增,使得账户的等待进程队列中需要处理的操作个数暴增,由此造成整个系统的处理效率降低。
这些突发事件有些是由于系统的不稳定或技术原因造成的,有些是由于人为造成的,比如,网上交易过程中商户都有本商户的信用等级,信用等级是购买者或其它用户对商户服务及其出售商品的满意度评价的体现,网上交易过程中无法真实感受到商品,因此信用等级对商户来说非常重要。以得到更高信用等级为直接目的,而进行的一些虚假交易,我们称之为信用炒作。当一些商户组成信用炒作团体时,这些商户相关的账户就可能出现频繁的操作,由于出现某时刻发生在这些账户上的操作特别大,使得系统需要消耗大量的资源来处理该些操作,由此也使其它账户的正常操作受到影响。
也就是说,现有的账户处理中心的账户处理操作存在以下的技术缺陷:
现有的支付流程需要对A账户进行频繁操作,每一次操作都需要锁住A账户,并在处理完毕后释放A账户。不仅造成服务器21的处理效率低,更为重要的是造成服务器21的处理能力急剧下降,甚至不能接收其它客户端发出的处理请求,严重的造成整个服务器21的瘫痪。
特别是,当接收到这类对账户进行批处理请求个数较多,或者这类对账户进行批处理请求中需要处理账户特别多时,对整个服务器21造成的运行压力非常大,容易造成服务器21请求处理的队列堵塞,容易造成请求处理的失败率增加。同时,也影响其它用户的体验。
发明内容
本申请的第一目的在于提供一种账户并发处理方法,以解决现有技术中由于突发事件引起同一账户上并行操作增加而导致整个系统的处理效率低下的技术问题。
本申请的第二目的在于提供一种账户并发处理系统,以解决现有技术中由于突发事件引起同一账户上并行操作增加而导致整个系统的处理效率低下的技术问题。
一种账户并发处理方法,用于账户处理中心处理账户操作,包括:
(1)将账户分成高并发账户和普通账户;
(2)当接收到某一账户处理操作请求时,先判断该账户是否是高并发账户,若是高并发账户则进行步骤(3),否则进行步骤(4);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910164888.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有自动拼接功能的数据库查询装置
- 下一篇:具有SATA传输接口的存储卡