CN101989213B - 账户并发处理方法及账户并发处理系统 - Google Patents

账户并发处理方法及账户并发处理系统 Download PDF

Info

Publication number
CN101989213B
CN101989213B CN200910164888.1A CN200910164888A CN101989213B CN 101989213 B CN101989213 B CN 101989213B CN 200910164888 A CN200910164888 A CN 200910164888A CN 101989213 B CN101989213 B CN 101989213B
Authority
CN
China
Prior art keywords
account
locked
concurrent
current operation
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200910164888.1A
Other languages
English (en)
Other versions
CN101989213A (zh
Inventor
于新林
楼方鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN200910164888.1A priority Critical patent/CN101989213B/zh
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to PCT/US2010/041905 priority patent/WO2011016957A1/en
Priority to US12/918,033 priority patent/US8788374B2/en
Priority to EP10806814.9A priority patent/EP2462569A4/en
Priority to JP2012523626A priority patent/JP5698235B2/ja
Publication of CN101989213A publication Critical patent/CN101989213A/zh
Priority to HK11104067.7A priority patent/HK1149822A1/zh
Priority to US14/298,060 priority patent/US20140289104A1/en
Application granted granted Critical
Publication of CN101989213B publication Critical patent/CN101989213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/227Payment schemes or models characterised in that multiple accounts are available, e.g. to the payer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting

Abstract

一种账户并发处理方法,用于账户处理中心处理账户操作请求,包括:(1)将账户分成高并发账户和普通账户;(2)当接收到某一账户处理操作请求时,先判断该账户是否是高并发账户,若是高并发账户则进行步骤(3),否则进行步骤(4);(3)若账户被锁定,则将当前操作进入等待进程队列等待,直到执行当前操作;(4)进一步判断账户有没有被锁定,若账户已被锁定,则直接报错后返回,否则执行当前操作。通过这种方式可以对高并发账户提供更优质的服务,而对于普通账户,一旦某天普通账户上发生了大量的并发,通过报错可以有效的控制并发量,防止这类账户对系统造成危害。

Description

账户并发处理方法及账户并发处理系统
技术领域
本申请涉及网络领域,尤其涉及账户并发处理方法及账户并发处理系统。
背景技术
请参阅图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);
(3)若账户被锁定,则将当前操作进入等待进程队列等待,直到执行当前操作;
(4)进一步判断账户有没有被锁定,若账户已被锁定,则直接报错后返回,否则执行当前操作。
步骤(4)还包括,当账户已被锁定时,延时预先设定的时间后再次判断当前操作是否被执行,若否,则直接报错后返回。
较优地,步骤(1)进一步包括:A1:根据高并发账户所占总账户数的百分比来设定高并发账户的数量Q;A2:统计预先设定的周期内各账户对应的本账户进行操作的操作数,并按照操作数依次进行排序;A3:取操作数高的前Q位账户做为高并发账户。并且,步骤(1)最好还包括,将所有高并发账户的账户号保存在内存中。
步骤(2)还包括通过将账户号和预先保存在内存中的所有高并发账户的账户号进行对比,如有相同,则该账户为高并发账户,否则,该账户为普通账户。
执行当前操作进一步包括:锁住账户;执行对账户的操作;执行完毕后,释放该账户对应的锁。
一种账户并发处理系统,包括账户处理中心,该账户处理中心进一步包括:
高并发账户库:用于存储所有高并发账户信息;
账户性质判断单元:用于接收到某一账户处理操作请求时,根据高并发账户库去判断该账户是否是高并发账户;
高并发账户处理单元:用于进一步判断账户有没有被锁定,若账户被锁定,则将当前操作进入等待进程队列等待,直到执行当前操作,否则直接执行当前操作;
普通账户处理单元:用于进一步判断账户有没有被锁定,若账户已被锁定,则直接报错后返回,否则执行当前操作。
所述高并发账户处理单元进一步包括:
高并发账户锁定判断子单元,用于判断该高并发账户当前是否被锁;
执行操作子单元,用于锁住账户,再执行对账户的操作,后释放该账户对应的锁。
所述普通账户处理单元进一步包括:
普通账户锁定判断子单元,用于判断该账户当前是否被锁;
执行操作子单元,用于锁住账户,再执行对账户的操作,后释放该账户对应的锁;
锁定处理子单元,用于该账户被锁后接收到对该账户的操作,采用直接报错后返回的处理。
一种账户并发处理方法,用于账户处理中心处理客户端发送的账户操作请求,包括:
(1)账户处理中心将账户分成若干种类型账户,每一种类型设置对应的账户被锁定后的处理操作;
(2)当接收到客户端发送的某一账户处理操作请求时,先确定该账户所属的类型;
(3)账户处理中心进一步判断账户有没有被锁定,若账户被锁定,就按照该账户所属类型对应的账户被锁定后的处理操作流程进行操作,否则执行当前操作。
步骤(1)中每一种类型设置对应的账户被锁定后的处理操作进一步包括:
A1:账户被锁定后,判断M的次数是否为零,若是,则直接报错后返回,若否,过等待时间T后判断账户是否被锁定,如果被锁定,则M的次数减一,再进行步骤A1,如果未被锁定,则执行当前操作,
其中,M为每一种类型设定的对应的等待次数,M的范围可以为0至无限大。
与现有技术相比,本申请具有以下优点:
对于一个普通的账户,在账户上发生的业务是有规律的,在一段时间内有个固定的模式。以某个商务平台为例,一个普通的买家一天的交易量是有限的,每天不会发生太多的交易,也就是这个账户上的交易并发性不是很大,如果某天在这个账户上发生了大量的交易,很可能就是一些非法业务。而对于大的卖家,则在其上就可能有大量的并发,会有很多买家买这个卖家的商品,从而产生大的并发交易。根据以上特点,申请人把账户分为两类,高并发账户和普通账户。对于高并发账户,当账户余额发生变化,在锁定账户时如果发现账户已经被锁,那么一直等待而不报错返回。而对于普通账户发生余额变动,在锁定账户时如果发现账户被锁,直接报错返回,通过这种方式我们可以对高并发账户提供更优质的服务,而对于普通客户,这样一旦某天普通账户上发生了大量的并发,通过报错可以有效的控制并发量,防止这类账户对系统造成危害。
另外,本申请还可以对普通账户进行操作请求时,若该账户已被锁定时,延时预先设定的时间后再次判断当前操作是否被执行,若否,则直接报错后返回。这种延时处理,能够降低普通账户可能存在的并发处理的报错率。
附图说明
图1为现有账户处理系统的原理示意图;
图2为本申请的一种账户处理中心的原理结构示意图;
图3为账户处理方法的一种流程示意图;
图4为账户处理方法的另一种流程示意图。
具体实施方式
以下结合附图,具体说明本申请。
请参阅图1和图2,其为本申请的一种账户并发处理系统的原理结构示意图。它包括账户处理中心11和客户端12。客户端12提出对账户处理中心11上的某个账户或某些账户的操作请求,并接收账户处理中心11返回的处理结果。
该账户处理中心11进一步包括服务器31和数据库32。数据库32用于存储账户信息及各种处理信息。服务器31用于对账户进行各种操作和管理。在本申请中,数据库32除了包括用于存储账户信息的账户存储单元321、用来存储账户处理操作记录信息的账户操作记录存储单元322之外,还包括:
高并发账户库323:用于存储所有高并发账户信息。高并发账户信息主要是指能唯一识别高并发账户的账户号。本申请可以按照各种规则来设定本中心的高并发账户,比如,可以将重点账户设定为高并发账户。也可以将账户一定时间段内进行操作的操作数从高到低排序,取操作数高的若干账户作为高并发账户。
服务器31进一步包括账户性质判断单元311、高并发账户处理单元312和普通账户处理单元313。
账户性质判断单元311:用于接收到某一账户处理操作请求时,根据高并发账户库去判断该账户是否是高并发账户,如果是,就触发高并发账户处理单元312,如果否,则触发普通账户处理单元313。
高并发账户处理单元312:用于进一步判断账户有没有被锁定,若账户被锁定,则将当前操作进入等待进程队列等待,直到执行当前操作,否则直接执行当前操作。
高并发账户处理单元312进一步包括:
高并发账户锁定判断子单元3121,用于判断该高并发账户当前是否被锁;
等待进程队列管理子单元3122,用于管理等待进程队列的操作,管理等待进程队列包括对该些操作的进程如何进行处理的,比如按照先来先处理的原则,或者采用优先级处理的原则等。有些系统自带有这个管理子单元3122,此时申请人就无需自设定该管理子单元。
执行操作子单元3123,用于锁住账户,再执行对账户的操作,后释放该账户对应的锁。
普通账户处理单元313:用于进一步判断账户有没有被锁定,若账户已被锁定,则直接报错后返回,否则执行当前操作。普通账户处理单元313进一步包括:
普通账户锁定判断子单元3131,用于判断该账户当前是否被锁;
执行操作子单元3132,用于锁住账户,再执行对账户的操作,后释放该账户对应的锁;
锁定处理子单元3133,用于该账户被锁后接收到对该账户的操作,采用直接报错后返回的处理。
普通账户处理单元313还包括延时子单元3134,用于当账户已被锁定时,延时预先设定的时间后再次判断当前操作是否被执行,若否,则直接报错后返回。
上述公开的是单元仅仅是指逻辑上的单元,通常是用软件来实现的,但本申请并不排除用硬件来实现。
请参阅图3,其为一种账户并发处理方法的流程图。它用于账户处理中心处理账户操作,包括:
S110:将账户分成高并发账户和普通账户。在本实例中,现有的账户处理中心11已存在非常多的账户,由此额外设置一高并发账户库323,用以保存高并发账户信息。判断某一账户是高并发账户还是普通账户,只需要查找高并发账户库323即可获知。这种方式,无需要对现有的账户信息进行修改,减少对原有系统稳定性的影响。还有一种方式是,对账户设定一性质属性项,每一账户在性质属性项中保存本账户的属性:高并发账户还是普通账户。这种方式也是可以的,但是需要对现有账户进行修改,比较费时间。
将账户分为高并发账户和普通账户,可以通过以下步骤完成:
A1:根据高并发账户所占总账户数的百分比来设定高并发账户的数量Q;
A2:统计预先设定的周期内(如一周内)各账户进行操作的操作数,并按照操作数依次进行排序;
A3:取操作数高的前Q位账户做为高并发账户,并将高并发账户信息保存在高并发账户库323中。
并且,定周期根据操作数来更新高并发账户库323中的高并发账户信息。通过这种方式,能将本来操作数比较多的账户找出来。
为了提高后续处理的效率,可以将高并发账户库323中的所有高并发账户的账户号保存在服务器31的内存中。
S120:当接收到某一账户处理操作请求时,先判断该账户是否是高并发账户,若是高并发账户则进行步骤S130,否则进行步骤S140。
本申请是通过以下步骤判断该账户是否是高并发账户的:
将账户号和预先保存在内存或高并发账户库323中的所有高并发账户的账户号进行对比,如相同,则该账户为高并发账户,否则,该账户为普通账户。
S130:判断账户是否被锁定,若是,则将当前操作进入等待进程队列等待,直到执行当前操作(S131),若否,则对账户执行当前操作(S132)。
S140:进一步判断账户有没有被锁定,若账户已被锁定,则直接报错后返回(S141),否则执行当前操作(S132)。
S130的步骤可以通过oracle语句来实现“select*fromaccountwhereaccountNo=′xxxxx′forupdate”
该语句表示:。对accountNo为xxxxx的账户进行操作,该命令隐含
“select*fromaccountwhereaccountNo=′xxxxx′forupdatewait”
即,若该账户被锁后,一直等待,直到能执行该操作。
S140的步骤也可以通过JAVA语句来实现。
select*fromaccountwhereaccountNo=′yyyyy′forupdatenowait
这条语句表示:如果对账户进行操作时发现该账户已经被锁,则报错。上述的仅是一种实现的范例,并非局限于此,任何实现本思想的实现方式,都应在本申请的保护范围内。
执行当前操作进一步包括:锁住账户;执行对账户的操作;执行完毕后,释放该账户对应的锁。
请参阅图4,其为另一种账户并发处理方法的流程图。
本实例中的S240的实施步骤与图3的S140的实施步骤不同,其他步骤与图3中的步骤大致相同。
S110:将账户分成高并发账户和普通账户。
S120:当接收到某一账户处理操作请求时,先判断该账户是否是高并发账户,若是高并发账户则进行步骤S130,否则进行步骤S240。
S130:判断账户是否被锁定,若是,则将当前操作进入等待进程队列等待,直到执行当前操作(S131),若否,则对账户执行当前操作(S132)。
S240:进一步判断账户有没有被锁定,若账户已被锁定,则等待预先设定的时间(S241),进一步判断当前操作是否被执行(S242),若否,直接报错后返回(S243),若是,则执行当前操作(S132)。当账户未被锁定时,则也是执行当前操作(S132)。
对账户进行锁住有很多种实现方式,比如,一个常见的方式是,对账户设置一个标志位,标志位为1,表示这个账户是锁住的,标志位为0,表示这个账户未被锁住。检测该账户是否被锁住,就是检测该标志位。
本实例中,在接收到对普通账户的操作请求时,发现当前该账户有正在处理的操作,延时一预设时间再去判断能否进行处理。能够降低普通账户可能存在的并发处理的报错率。
本申请实施例将账户划分为高并发账户和普通账户两种类型进行说明,当然在具体实施过程中,可以不受本申请实施例的限制将账户划分多种类型,例如:第一类型账户、第二类型账户、第三类型账户......第N类型账户。具体可以通过以下步骤完成:
A1:根据第一类型账户所占总账户数的百分比来设定第一类型账户的数量Q1,根据第二类型账户所占总账户数的百分比来设定第二类型账户的数量Q2,以此类推,可设定第N类型账户的数量Qn;
A2:统计预先设定的周期内(如一周内)各账户进行操作的操作数,并按照操作数由低到高依次进行排序;
A3:取操作数最低的前Q1位账户做为第一类型账户,取接下来的Q2位账户做为第二类型账户,以此类推可获得各种类型的账户信息,并将各种类型的账户信息保存在数据库中。
对账户划分成多种类型,还可以通过以下步骤来实现:
B1:预先设定第一类型账户、第二类型账户、...第N类型账户各自在总账户数中所占的比例;
B2:统计预先设定的周期内(如一周内)各账户进行操作的操作数,并按照操作数由低到高依次进行排序成账户队列;
B3:统计当前的总账户数M;
B4:按照各类型账户所占的比例和总账户数M,计算出各类型账户所占的数量;
B5:每一类型账户依次从账户队列中取对应数量的账户作为本类型账户中的账户,并将该些账户信息保存至对应的数据库中。
本实施例的处理思想为:将账户划分为第一类型账户、第二类型账户、第三类型账户......第N类型账户,针对不同类型的账户设定不同的处理策略。比如,将不同的类型账户分成不同的优先级,优先级越高,当账户被锁定时,则等待预先设定的时间也就越长。
举个实例来说,所述处理策略可以为:对于第一类型的账户,若账户被锁定时,则直接报错返回;对于第二类型的账户,当账户被锁定时,则等待预先设定的时间t,判断该账户是否仍被锁定,若仍被锁定,则直接报错返回;对于第三类型的账户,当账户被锁定时,则等待预先设定的时间t进行判断后,发现该账户仍被锁定时,则再等待一个预先设定的时间t,若仍被锁定,则报错返回,以此类推可针对不同类型的账户设定不同的处理策略。
通过上述对账户分成若干种类型,为每一种类型的账户设定不同的处理策略,即,
一种账户并发处理方法,用于账户处理中心处理客户端发送的账户操作请求,包括:
(1)账户处理中心将账户分成若干种类型账户,每一种类型设置对应的账户被锁定后的处理操作;
(2)当接收到客户端发送的某一账户处理操作请求时,先确定该账户所属的类型;
(3)账户处理中心进一步判断账户有没有被锁定,若账户被锁定,就按照该账户所属类型对应的账户被锁定后的处理操作流程进行操作,否则执行当前操作。
步骤(1)中每一种类型设置对应的账户被锁定后的处理操作进一步包括:
K1:账户被锁定后,判断M的次数是否为零,若是,则直接报错后返回,若否,过等待时间T后判断账户是否被锁定,如果被锁定,则M的次数减一,再进行步骤K1,如果未被锁定,则执行当前操作,
其中,M为每一种类型设定的对应的等待次数,M的范围可以为0至无限大。
以上公开的仅为本申请的几个具体实施例,但本申请并非局限于此,任何本领域的技术人员能思之的变化,都应落在本申请的保护范围内。

Claims (12)

1.一种账户并发处理方法,用于账户处理中心处理客户端发送的账户操作请求,其特征在于,包括:
(1)账户处理中心将账户分成高并发账户和普通账户;
(2)当接收到客户端发送的某一账户处理操作请求时,先判断该账户是否是高并发账户,若是高并发账户则进行步骤(3),否则进行步骤(4);
(3)若账户被锁定,账户处理中心将当前操作进入等待进程队列等待,直到执行当前操作;
(4)账户处理中心进一步判断账户有没有被锁定,若账户已被锁定,则直接报错后返回,否则执行当前操作。
2.如权利要求1所述的方法,其特征在于,步骤(4)还包括,
当账户已被锁定时,延时预先设定的时间后再次判断当前操作能否被执行,若否,则直接报错后返回。
3.如权利要求1或2所述的方法,其特征在于,步骤(1)进一步包括:
A1:根据高并发账户所占总账户数的百分比来设定高并发账户的数量Q;
A2:统计预先设定的周期内各账户进行操作的操作数,并按照操作数依次进行排序;
A3:取操作数高的前Q位账户做为高并发账户。
4.如权利要求1或2所述的方法,其特征在于,步骤(1)还包括,将所有高并发账户的账户号保存在内存中。
5.如权利要求4所述的方法,其特征在于,步骤(2)还包括通过将账户号和预先保存在内存中的所有高并发账户的账户号进行对比,如有相同,则该账户为高并发账户,否则,该账户为普通账户。
6.如权利要求1所述的方法,其特征在于,执行当前操作进一步包括:
锁住账户;
执行对账户的操作;
执行完毕后,释放该账户对应的锁。
7.一种账户并发处理系统,包括账户处理中心,其特征在于,该账户处理中心进一步包括:
高并发账户库:用于存储所有高并发账户信息;
账户性质判断单元:用于接收到某一账户处理操作请求时,根据高并发账户库去判断该账户是否是高并发账户;
高并发账户处理单元:用于进一步判断账户有没有被锁定,若账户被锁定,则将当前操作进入等待进程队列等待,直到执行当前操作,否则直接执行当前操作;
普通账户处理单元:用于进一步判断账户有没有被锁定,若账户已被锁定,则直接报错后返回,否则执行当前操作。
8.如权利要求7所述的系统,其特征在于,所述高并发账户处理单元进一步包括:
高并发账户锁定判断子单元,用于判断该高并发账户当前是否被锁;
执行操作子单元,用于锁住账户,再执行对账户的操作,后释放该账户对应的锁。
9.如权利要求7所述的系统,其特征在于,所述普通账户处理单元进一步包括:
普通账户锁定判断子单元,用于判断该账户当前是否被锁;
执行操作子单元,用于锁住账户,再执行对账户的操作,后释放该账户对应的锁;
锁定处理子单元,用于该账户被锁后接收到对该账户的操作,采用直接报错后返回的处理。
10.如权利要求9所述的系统,其特征在于,还包括延时子单元,用于当账户已被锁定时,延时预先设定的时间后再次判断当前操作能否被执行,若否,则直接报错后返回。
11.一种账户并发处理方法,用于账户处理中心处理客户端发送的账户操作请求,其特征在于,包括:
(1)账户处理中心将账户分成若干种类型账户,每一种类型设置对应的账户被锁定后的处理操作,所述账户被锁定后的处理操作至少包括账户被锁定后,账户处理中心将当前操作进入等待进程队列等待,直到执行当前操作,和/或,账户被锁定后,直接报错后返回;
(2)当接收到客户端发送的某一账户处理操作请求时,先确定该账户所属的类型;
(3)账户处理中心进一步判断账户有没有被锁定,若账户被锁定,就按照该账户所属类型对应的账户被锁定后的处理操作流程进行操作,否则执行当前操作。
12.如权利要求11所述的方法,其特征在于,步骤(1)中每一种类型设置对应的账户被锁定后的处理操作进一步包括:
A1:账户被锁定后,判断M的次数是否为零,若是,则直接报错后返回,若否,过等待时间T后判断账户是否被锁定,如果被锁定,则M的次数减一,再进行步骤A1,如果未被锁定,则执行当前操作,
其中,M为每一种类型设定的对应的等待次数,M的范围可以为0至无限大。
CN200910164888.1A 2009-08-07 2009-08-07 账户并发处理方法及账户并发处理系统 Active CN101989213B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN200910164888.1A CN101989213B (zh) 2009-08-07 2009-08-07 账户并发处理方法及账户并发处理系统
US12/918,033 US8788374B2 (en) 2009-08-07 2010-07-14 Method and system for account parallel processing
EP10806814.9A EP2462569A4 (en) 2009-08-07 2010-07-14 METHOD AND SYSTEM FOR PARALLEL ACCOUNTING PROCESSING
JP2012523626A JP5698235B2 (ja) 2009-08-07 2010-07-14 口座並列処理の方法およびシステム
PCT/US2010/041905 WO2011016957A1 (en) 2009-08-07 2010-07-14 Method and system for account parallel processing
HK11104067.7A HK1149822A1 (zh) 2009-08-07 2011-04-21 賬戶併發處理方法及賬戶併發處理系統
US14/298,060 US20140289104A1 (en) 2009-08-07 2014-06-06 Method and System for Account Parallel Processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910164888.1A CN101989213B (zh) 2009-08-07 2009-08-07 账户并发处理方法及账户并发处理系统

Publications (2)

Publication Number Publication Date
CN101989213A CN101989213A (zh) 2011-03-23
CN101989213B true CN101989213B (zh) 2016-06-29

Family

ID=43544585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910164888.1A Active CN101989213B (zh) 2009-08-07 2009-08-07 账户并发处理方法及账户并发处理系统

Country Status (6)

Country Link
US (2) US8788374B2 (zh)
EP (1) EP2462569A4 (zh)
JP (1) JP5698235B2 (zh)
CN (1) CN101989213B (zh)
HK (1) HK1149822A1 (zh)
WO (1) WO2011016957A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833717B (zh) * 2011-06-15 2017-11-17 中兴通讯股份有限公司 用户转账的控制方法和业务控制点
US20150006341A1 (en) * 2013-06-27 2015-01-01 Metratech Corp. Billing transaction scheduling
CN107146075B (zh) * 2016-03-01 2020-11-10 创新先进技术有限公司 请求处理方法及装置
CN107203890B (zh) * 2016-03-17 2021-02-23 创新先进技术有限公司 凭证数据发放方法、装置及系统
CN105844521B (zh) * 2016-03-22 2019-12-31 中国银行股份有限公司 一种交易并发量控制方法及装置
CN106529962A (zh) * 2016-11-18 2017-03-22 中国银联股份有限公司 用于提升交易系统中热点账户处理能力的方法和装置
CN106780034B (zh) * 2016-12-26 2020-08-28 中国建设银行股份有限公司 单边账规模控制方法及系统
CN108932613B (zh) * 2017-05-25 2020-10-27 北京嘀嘀无限科技发展有限公司 互联网支付渠道的监控方法及监控装置、设备和存储介质
CN107274162A (zh) * 2017-05-31 2017-10-20 深圳市长亮科技股份有限公司 一种高交易并发量的处理方法
CN107767264A (zh) * 2017-10-27 2018-03-06 中国银行股份有限公司 联机交易系统热点账户交易流量压力实时调控方法及装置
CN108335091A (zh) * 2018-01-26 2018-07-27 深圳盛付通科技有限公司 一种在高并发支付场景下保持账户余额一致性的方法及系统
CN109472563A (zh) * 2018-10-26 2019-03-15 数贸科技(北京)有限公司 基于跨境支付平台的支付方式自动化运维方法及装置
CN113535762B (zh) * 2021-07-14 2024-01-26 北京数码视讯支付技术有限公司 安全的账户代付方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940813A (en) * 1996-07-26 1999-08-17 Citibank, N.A. Process facility management matrix and system and method for performing batch, processing in an on-line environment

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442533B1 (en) * 1997-10-29 2002-08-27 William H. Hinkle Multi-processing financial transaction processing system
US7117172B1 (en) * 1999-03-11 2006-10-03 Corecard Software, Inc. Methods and systems for managing financial accounts
US7379880B1 (en) 1999-07-28 2008-05-27 Fair Isaac Corporation Cascaded profiles for multiple interacting entities
US7174318B2 (en) * 2000-03-28 2007-02-06 Richard Adelson Method and system for an online-like account processing and management
JP2001283118A (ja) 2000-03-30 2001-10-12 Internatl Business Mach Corp <Ibm> オンライン決済システム、オンラインショッピングにおける決済方法、サーバおよび販売者端末
US10185936B2 (en) 2000-06-22 2019-01-22 Jpmorgan Chase Bank, N.A. Method and system for processing internet payments
US20020002534A1 (en) 2000-06-27 2002-01-03 Davis Terry L. Method and system for managing transactions
US6789189B2 (en) * 2000-08-04 2004-09-07 First Data Corporation Managing account database in ABDS system
US7275038B1 (en) 2000-08-18 2007-09-25 The Crawford Group, Inc. Web enabled business to business operating system for rental car services
US20020103752A1 (en) 2001-01-30 2002-08-01 Caesar Berger E-commerce payment solution
JP3611110B2 (ja) * 2001-03-19 2005-01-19 株式会社八十二銀行 先日付完結処理のシステム、方法、プログラム及びこれに用いる取消再カットメイン処理用プログラム並びに資源利用最適化システム、プログラム及びこれに用いる取消再実行メイン処理用プログラム
US20020138426A1 (en) 2001-03-26 2002-09-26 Streamtrans, Inc. Concentration of electronic payments
US7505925B2 (en) * 2001-08-09 2009-03-17 Capital One Financial Corporation System, medium, and method for providing financial account information over a network
CA2406071C (en) 2001-10-01 2007-09-04 Honda Canada Inc. Tracking multiple payments
US20040111346A1 (en) 2002-11-27 2004-06-10 Macbeath Keith S. Methods for automating financial transactions
US8041633B2 (en) 2003-02-21 2011-10-18 Mtrex, Inc. System and method of electronic data transaction processing
WO2005116884A2 (en) * 2004-05-29 2005-12-08 Sap Ag Database for accounting purposes
US7809652B2 (en) 2007-01-30 2010-10-05 Visa U.S.A. Inc. Signature based negative list for off line payment device validation
JP4279346B2 (ja) * 2008-09-25 2009-06-17 株式会社三菱東京Ufj銀行 データベース管理装置及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940813A (en) * 1996-07-26 1999-08-17 Citibank, N.A. Process facility management matrix and system and method for performing batch, processing in an on-line environment

Also Published As

Publication number Publication date
WO2011016957A1 (en) 2011-02-10
JP5698235B2 (ja) 2015-04-08
EP2462569A1 (en) 2012-06-13
US20120123912A1 (en) 2012-05-17
JP2013501973A (ja) 2013-01-17
CN101989213A (zh) 2011-03-23
HK1149822A1 (zh) 2011-10-14
EP2462569A4 (en) 2016-07-06
US20140289104A1 (en) 2014-09-25
US8788374B2 (en) 2014-07-22

Similar Documents

Publication Publication Date Title
CN101989213B (zh) 账户并发处理方法及账户并发处理系统
US11055792B2 (en) Blockchain-based service source tracing method, apparatus, and electronic device
CN104504804B (zh) 配钞方法、配钞装置以及金融自助设备
CN106656839A (zh) 资源转移方法及装置
WO2009025431A1 (en) Card authorization terminal system and card management method using the same
US20140114840A1 (en) Automated fraud detection
CN111179066B (zh) 业务数据的批量处理方法、装置、服务器和存储介质
CN103546388A (zh) 一种流量控制方法及装置
CN108921654A (zh) 订单数据处理方法、装置以及计算机可读存储介质
TW202018655A (zh) 基於區塊鏈的財產執行方法及系統
CN102999862B (zh) 一种订单处理方法、装置及系统、支付装置
CN106530084B (zh) 一种信息处理方法及服务器
CN112053149A (zh) 一种防止重复支付的方法、装置、电子设备和可读存储介质
CN109919623B (zh) 防止账户透支方法、装置、设备及可读存储介质
US10235719B2 (en) Centralized GAAP approach for multidimensional accounting to reduce data volume and data reconciliation processing costs
CN106156185A (zh) 一种业务请求执行状态的查询方法、装置及系统
CN113989005A (zh) 一种税务风险企业挖掘方法及装置
CN111915359A (zh) 基于区块链的商城交易货币流通方法和系统
CN113055401B (zh) 一种企业业务的授权处理方法及装置
TWI501171B (zh) Account development and processing methods and account development and processing system
CN117745426A (zh) 一种热点账户记账处理方法及装置
CN114240637A (zh) 一种多币种账户开立方法及装置
CN111242781A (zh) 基于区块链的交易管理方法及装置
CN117743282A (zh) 一种交易数据的共享方法和装置
CN108876570A (zh) 电子装置、资金异常问题处理的方法及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1149822

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1149822

Country of ref document: HK

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191210

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Patentee after: Innovative advanced technology Co., Ltd

Address before: Cayman Islands Grand Cayman capital building, a four storey No. 847 mailbox

Patentee before: Alibaba Group Holding Co., Ltd.