CN109492016A - 一种交易清算方法及装置 - Google Patents

一种交易清算方法及装置 Download PDF

Info

Publication number
CN109492016A
CN109492016A CN201811376395.XA CN201811376395A CN109492016A CN 109492016 A CN109492016 A CN 109492016A CN 201811376395 A CN201811376395 A CN 201811376395A CN 109492016 A CN109492016 A CN 109492016A
Authority
CN
China
Prior art keywords
transaction data
clearance
terminal
queue
buffer queue
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.)
Pending
Application number
CN201811376395.XA
Other languages
English (en)
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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co 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
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201811376395.XA priority Critical patent/CN109492016A/zh
Publication of CN109492016A publication Critical patent/CN109492016A/zh
Priority to PCT/CN2019/117657 priority patent/WO2020103728A1/zh
Priority to US17/279,027 priority patent/US11887068B2/en
Pending legal-status Critical Current

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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • G06Q20/023Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] the neutral party being a clearing house
    • 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/20Point-of-sale [POS] network systems
    • G06Q20/209Specified transaction journal output feature, e.g. printed receipt or voice output
    • 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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0873Details of the card reader

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Abstract

本发明实施例涉及数据处理技术领域,尤其涉及一种交易清算方法及装置,用以增加清算的灵活度,减轻服务器负载压力。本发明实施例包括:接收N个终端发送的第一清算请求,N>1;根据所述第一清算请求,从数据库中获取所述N个终端的交易数据;初始化缓存队列,将所述交易数据放入所述缓存队列中;读取所述缓存队列中的所述交易数据,并对所述交易数据进行清算处理;将清算结果写入所述数据库中,并向所述终端反馈所述第一清算请求的执行结果。

Description

一种交易清算方法及装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种交易清算方法及装置。
背景技术
清算包括跨行清算和收单清算两种。其中跨行清算是针对收单机构和发卡机构的清算。收单清算是代替收单机构针对商户和收单专业化服务机构的清算。银行卡收单业务是指签约银行向商户提供的本外币资金结算服务。就是最终持卡人在银行签约商户那里刷卡消费,银行结算。收单银行结算的过程就是从商户那边得到交易单据和交易数据,扣除按费率计算出的费用后打款给商户,并从中扣取一定比例的手续费。
在支付领域,商户收单机构的平台服务器下连接成千上万甚至更多终端,现有的收单应用一般都是每日定时批量清算,清算时对所有终端统一进行清算批处理。这种清算方式不够灵活,若某天业务数积压过多,会对服务器负载造成巨大压力。
发明内容
本申请提供一种交易清算方法及装置,用以增加清算的灵活度,减轻服务器负载压力。
本发明实施例提供的一种交易清算方法,包括:
接收N个终端发送的第一清算请求,N>1;
根据所述第一清算请求,从数据库中获取所述N个终端的交易数据;
初始化缓存队列,将所述交易数据放入所述缓存队列中;
读取所述缓存队列中的所述交易数据,并对所述交易数据进行清算处理;
将清算结果写入所述数据库中,并向所述终端反馈所述第一清算请求的执行结果。
可选的,所述缓存队列为环形队列,所述初始化缓存队列,包括:
根据所述终端的数量N,确定所述环形队列的缓存单元数量,所述环形队列的缓存单元数量为2的M次方,2M>N。
可选的,所述将所述交易数据放入所述缓存队列中,包括:
为所述交易数据分配序号,同一个终端的交易数据分配一个序号;
针对任一终端的交易数据,利用所述交易数据的序号对所述环形队列的缓存单元数量进行求模运算,确定所述交易数据对应的所述环形队列中的缓存单元;将所述终端的交易数据放入对应的缓存单元中。
可选的,所述初始化缓存队列,还包括:
根据所述终端的数量,创建多个线程;
所述读取所述缓存队列中的所述交易数据,包括:
所述多个线程并行读取所述缓存队列中的所述交易数据。
可选的,所述初始化缓存队列,将所述交易数据放入所述缓存队列中之前,还包括:
获取第二清算请求,所述第二清算请求为监测到预定时间后内部发起的;
根据所述第二清算请求,从所述数据库中获取从所述预定时间之前的历史时间至所述预定时间之内的交易数据。
本发明实施例提供一种交易清算装置,包括:
接收单元,用于接收N个终端发送的第一清算请求,N>1;
获取单元,用于根据所述第一清算请求,从数据库中获取所述N个终端的交易数据;
写入单元,用于初始化缓存队列,将所述交易数据放入所述缓存队列中;
读取单元,用于读取所述缓存队列中的所述交易数据,并对所述交易数据进行清算处理;
存储单元,用于将清算结果写入所述数据库中,并向所述终端反馈所述第一清算请求的执行结果。
可选的,所述缓存队列为环形队列,所述写入单元,具体用于:
根据所述终端的数量N,确定所述环形队列的缓存单元数量,所述环形队列的缓存单元数量为2的M次方,2M>N。
可选的,所述写入单元,具体用于:
为所述交易数据分配序号,同一个终端的交易数据分配一个序号;
针对任一终端的交易数据,利用所述交易数据的序号对所述环形队列的缓存单元数量进行求模运算,确定所述交易数据对应的所述环形队列中的缓存单元;将所述终端的交易数据放入对应的缓存单元中。
可选的,所述写入单元,还用于根据所述终端的数量,创建多个读取单元;
所述读取单元,具体用于并行读取所述缓存队列中的所述交易数据。
可选的,所述接收单元,还用于获取第二清算请求,所述第二清算请求为监测到预定时间后内部发起的;
所述获取单元,还用于根据所述第二清算请求,从所述数据库中获取从所述预定时间之前的历史时间至所述预定时间之内的交易数据。
本发明实施例还提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。
本发明实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述方法。
本发明实施例支持终端主动触发清算。服务器接收终端发送的第一清算请求,可以是一个终端发送的第一清算请求,也可以是多个终端同时发送的第一清算请求。服务器根据第一清算请求,从数据库中获取对应终端的交易数据。初始化缓存队列,将交易数据放入缓存队列中。读取缓存队列中的交易数据,对交易数据进行清算处理,并将清算结果写入数据库中,向终端反馈第一清算请求的执行结果。这样,对于单个终端,可以随时发起清算请求,也可以一天内多次发起清算请求,满足了终端实时清算的需求,增加了清算的灵活性。另一方面,对于处理清算的服务器,无需同时处理所有终端清算任务,减轻了服务器负载压力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所适用的一种可能的系统构架的示意图;
图2为本发明实施例提供的一种交易清算方法的流程示意图;
图3为本发明实施例提供的环形队列的结构示意图;
图4为本发明实施例一提供的一种交易清算方法的流程示意图;
图5为本发明实施例二提供的一种交易清算方法的流程示意图;
图6为本发明实施例提供的一种交易清算装置的结构示意图;
图7为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例所适用的一种可能的系统构架,如图1所示,包括客户端101、服务器102以及数据库103。其中,客户端101为应用程序(Application,简称APP),用户可以利用自己的账号信息登录客户端,通过客户端发起清算请求,并接受清算结果。服务器102可以为收单机构的平台系统内的服务器,用于接收客户端发送的清算请求,进行处理,并向客户端发送清算反馈。服务器102也可以内部自行进行启动清算任务。数据库103中存储所有的交易数据,服务器102从数据库103中读取交易数据,并基于交易数据进行清算处理。
客户端101安装于终端上,终端可以是POS(point of sale,销售终端)等专门的支付设备,也可以是手机、平板电脑或者是专用的手持设备等具有交易支付功能的移动电子设备,也可以是个人计算机(personal computer,简称PC),笔记本电脑,服务器等具有支付功能的有线接入方式连接的设备。服务器102可以是计算机等网络设备。服务器102可以是一个独立的设备,也可以是多个服务器所形成的服务器集群。优选地,服务器102可以采用云计算技术进行信息处理。
客户端101可以通过INTERNET网络与服务器102进行通信,也可以通过全球移动通信系统(Global System for Mobile Communications,简称GSM)、长期演进(long termevolution,简称LTE)系统等移动通信系统与服务器102进行通信。
本发明实施例提供了一种交易清算方法。如图2所示,本发明实施例提供的交易清算方法,包括以下步骤:
步骤201、接收N个终端发送的第一清算请求,N>1。
步骤202、根据所述第一清算请求,从数据库中获取所述N个终端的交易数据。
步骤203、初始化缓存队列,将所述交易数据放入所述缓存队列中。
步骤204、读取所述缓存队列中的所述交易数据,并对所述交易数据进行清算处理。
步骤205、将清算结果写入所述数据库中,并向所述终端反馈所述第一清算请求的执行结果。
本发明实施例支持终端主动触发清算。服务器接收终端发送的第一清算请求,可以是一个终端发送的第一清算请求,也可以是多个终端同时发送的第一清算请求。服务器根据第一清算请求,从数据库中获取对应终端的交易数据。初始化缓存队列,将交易数据放入缓存队列中。读取缓存队列中的交易数据,对交易数据进行清算处理,并将清算结果写入数据库中,向终端反馈第一清算请求的执行结果。这样,对于单个终端,可以随时发起清算请求,也可以一天内多次发起清算请求,满足了终端实时清算的需求,增加了清算的灵活性。另一方面,对于处理清算的服务器,无需同时处理所有终端清算任务,减轻了服务器负载压力。
本发明实施例中的缓存队列可以为普通的线性队列,也可以为环形队列,或者类环形的队列。较佳地,本发明实施例中采用环形队列。
上述步骤203,初始化缓存队列,包括:
根据所述终端的数量N,确定所述环形队列的缓存单元数量,所述环形队列的缓存单元数量为2的M次方,2M>N。
对于普通线性队列,一般有两个指针,一个指向队列的头,一个指向队列的尾,当队列的元素生产或消费时需要更新指针,不仅有读操作还有写操作,同时普通线性队列还需要保存一个关于队列大小的变量,以便区分队列是空还是满,这三个变量常常在一个缓存单元(cache line)里面,在头指针、尾指针和大小变量之间总是会有很多竞争。同时,对于普通线性队列,计算机由队头开始处理队列中的数据,前面缓存单元中的数据处理完,后面缓存单元中的数据移到前面的缓存单元中继续处理,这样很明显效率很慢。或者计算机从队头开始处理,前面缓存单元中的数据处理完,计算机移到下一个缓存单元继续处理,这样,前面的缓存单元为空闲状态,而队列容量是有限的,这样造成了队列的空间浪费。
本发明实施例采用的环形队列解决了这些问题。环形队列不需要尾指针,很好地解决了普通线性队列对于队列头、队列尾和队列大小的操作竞争。在环形队列里只有一个生产者向缓存单元内写入数据,各个消费者只要去读环中缓存单元内的元素即可,没有锁竞争操作。同时环形队列中缓存单元数量根据终端的数量设定,保证所有终端的数据均可以写入环中。
本发明实施例通过求模运算,快速定位终端数据写入环形队列中缓存单元的编号,由于环形队列中缓存单元数量是2的M次方,能将求模运算转为位运算提高效率,更有利于基于二进制的计算机进行计算。
具体来说,步骤203,将所述交易数据放入所述缓存队列中,包括:
为所述交易数据分配序号,同一个终端的交易数据分配一个序号;
针对任一终端的交易数据,利用所述交易数据的序号对所述环形队列的缓存单元数量进行求模运算,确定所述交易数据对应的所述环形队列中的缓存单元;将所述终端的交易数据放入对应的缓存单元中。
在具体实现过程中,环形队列可以如图3所示,环形队列是首尾相连的,队列中缓存单元的数量是设定好的,每个缓存单元有一个下标,缓存单元的下标依次递增。服务器为待处理的交易数据分配序号,同一个终端的交易数据分配一个序号。同时存在一个指针,这个指针为终端分配序号,指向环中下一个可用的缓存单元,服务器将下一个待处理的交易数据写入指针指向的缓存单元。随着服务器不停地填充这个环,这个序号会一直增长,直到绕过这个环。要定位指针指向的缓存单元,可以通过求模操作快速定位,即用当前交易数据的序号对所有缓存单元数量进行求模运算。由于环的大小是2的M次方,更有利于基于二进制的计算机进行计算。
为了加快数据处理的速度,本发明实施例中,利用多个线程并行处理环形队列中的交易数据。步骤203,初始化缓存队列,还包括:
根据所述终端的数量,创建多个线程。
步骤204,读取所述缓存队列中的所述交易数据,包括:
所述多个线程并行读取所述缓存队列中的所述交易数据。
此外,若部分终端在预定时间内未触发清算请求,为了避免漏清算,本发明实施例辅以定时自动清算。初始化缓存队列,将所述交易数据放入所述缓存队列中之前,还包括:
获取第二清算请求,所述第二清算请求为监测到预定时间后内部发起的;
根据所述第二清算请求,从所述数据库中获取从所述预定时间之前的历史时间至所述预定时间之内的交易数据。
在具体实施过程中,可以设置为每日定时自动清算数据库中的交易数据。由服务器内部的定时模块每天定时启动定时服务,发起定时清算任务请求。例如,定时模块每天22:00启动定时服务,发起定时清算任务请求,请求清算前一天22:00至当天22:00之间,数据库中未清算的交易数据。
此外,本发明实施例也可以采用定量启动,即数据库中每存入一定数量终端的交易数据时,启动发起清算请求,例如,数据库中存入了1000个终端的交易数据,则触发服务器内部的定量模块,发起定量清算任务请求。
这样,终端随机触发清算与服务器内部定时定量清算同时存在,增加了交易清算的灵活性。
为了更清楚地理解本发明,下面以具体的实施例对上述流程进行详细描述。实施例一中的具体场景为终端触发清算任务,具体步骤如图4所示,包括以下步骤:
步骤401:用户通过终端上的客户端,如收银员点击POS APP的即时清算按钮触发,通过HTTPS POST方式,向服务器发送即时清算请求。服务器向外部终端提供随机即时的清算处理服务接口,供外部客户端调用。
步骤402:数据装载模块接收到清算任务后,统计清算概要,根据请求概要从数据库中读取终端交易数据,并校验该终端是否符合清算条件,如终端是否正常,终端是否有未完成的交易。
步骤403:数据装置模块启动队列控制器。
步骤404:队列控制器初始化环形队列,并注册数据装载模块至环形队列作为环形队列的生产者。初始化任务包括设置环形队列中缓存单元的数量,为2的M次方;创建环形队列,泛型,为传递的事件类型,这里是清算任务的对象(包含商户号、终端号、清算日期、清算状态、批次号、总金额、总笔数、消费金额、消费笔数、退货金额、退货笔数等属性)。同时设置环形队列的五个参数:
第一个参数:生成事件的工厂类,事件封装生成-消费的数据,即清算事件对象;
第二个参数:环形队列中缓存单元的数量;
第三个参数:线程池,包括多个线程(消费者),其中一个线程用于读取并处理环形队列的一个缓存单元中的交易数据;
第四个参数:生产者(数据装载模块)的数量,这里用单个生产者;
第五个参数:消费者等待策略,即多次循环尝试不成功后,让出CPU,等待下次调度。
步骤405:队列控制器启动清算处理模块,即创建线程(消费者)。根据清算参数创建一个或者多个清算处理模块,一个清算处理模块对一个终端的交易数据进行清算处理,若只有一个终端即时请求清算则创建一个清算处理模块。
步骤406:数据装载模块将待清算的交易数据写入环形队列中。
步骤407:清算处理模块读取环形队列中的待清算交易数据,开始清算逻辑处理。这里是多个消费者即多个清算处理模块并行处理交易数据。
步骤408:清算处理模块完成清算处理后,将清算结果写入数据库。
步骤409:数据库更新完成后,统计执行结果并反馈至数据装载模块。
步骤410:数据装载模块通知终端应用清算结束,并反馈清算结果。同时,数据装载模块向队列控制器发送清算结束通知。
步骤411:队列控制器根据清算结束通知关闭环形队列,关闭清算处理模块。
实施例二中的具体场景为服务器定时清算,由定时服务模块定时启动,发起定时清算任务请求。实施例二的具体步骤如图5所示,包括:
步骤501:定时服务模块检测到预定时间,向数据装载模块发起进程间调用的定时清算请求。服务器向内部模块提供定时批量的清算处理服务接口,供定时服务模块调用。
步骤502~步骤509与步骤402~步骤409相同,这里不做赘述。
步骤510:数据装置模块通知定时服务模块清算结束。同时,数据装载模块向队列控制器发送清算结束通知。
步骤511:队列控制器根据清算结束通知关闭环形队列,关闭清算处理模块。
本发明实施例还提供了一种交易清算装置,如图6所示,包括:
接收单元601,用于接收N个终端发送的第一清算请求,N>1;
获取单元602,用于根据所述第一清算请求,从数据库中获取所述N个终端的交易数据;
写入单元603,用于初始化缓存队列,将所述交易数据放入所述缓存队列中;
读取单元604,用于读取所述缓存队列中的所述交易数据,并对所述交易数据进行清算处理;
存储单元605,用于将清算结果写入所述数据库中,并向所述终端反馈所述第一清算请求的执行结果。
进一步,所述缓存队列为环形队列,所述写入单元603,具体用于:
根据所述终端的数量N,确定所述环形队列的缓存单元数量,所述环形队列的缓存单元数量为2的M次方,2M>N。
进一步,所述写入单元603,具体用于:
为所述交易数据分配序号,同一个终端的交易数据分配一个序号;
针对任一终端的交易数据,利用所述交易数据的序号对所述环形队列的缓存单元数量进行求模运算,确定所述交易数据对应的所述环形队列中的缓存单元;将所述终端的交易数据放入对应的缓存单元中。
进一步,所述写入单元603,还用于根据所述终端的数量,创建多个读取单元;
所述读取单元604,具体用于并行读取所述缓存队列中的所述交易数据。
进一步,所述接收单元601,还用于获取第二清算请求,所述第二清算请求为监测到预定时间后内部发起的;
所述获取单元602,还用于根据所述第二清算请求,从所述数据库中获取从所述预定时间之前的历史时间至所述预定时间之内的交易数据。
基于相同的原理,本发明还提供一种电子设备,如图7所示,包括:
包括处理器701、存储器702、收发机703、总线接口704,其中处理器701、存储器702与收发机703之间通过总线接口704连接;
所述处理器701,用于读取所述存储器702中的程序,执行下列方法:
接收N个终端发送的第一清算请求,N>1;
根据所述第一清算请求,从数据库中获取所述N个终端的交易数据;
初始化缓存队列,将所述交易数据放入所述缓存队列中;
读取所述缓存队列中的所述交易数据,并对所述交易数据进行清算处理;
将清算结果写入所述数据库中,并向所述终端反馈所述第一清算请求的执行结果。
进一步地,所述缓存队列为环形队列,所述处理器701具体用于:
根据所述终端的数量N,确定所述环形队列的缓存单元数量,所述环形队列的缓存单元数量为2的M次方,2M>N。
进一步地,所述处理器701具体用于:
为所述交易数据分配序号,同一个终端的交易数据分配一个序号;
针对任一终端的交易数据,利用所述交易数据的序号对所述环形队列的缓存单元数量进行求模运算,确定所述交易数据对应的所述环形队列中的缓存单元;将所述终端的交易数据放入对应的缓存单元中。
进一步地,所述处理器701具体用于:
根据所述终端的数量,创建多个线程;
所述多个线程并行读取所述缓存队列中的所述交易数据。
进一步地,所述处理器701具体用于:
获取第二清算请求,所述第二清算请求为监测到预定时间后内部发起的;
根据所述第二清算请求,从所述数据库中获取从所述预定时间之前的历史时间至所述预定时间之内的交易数据。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (12)

1.一种交易清算方法,其特征在于,包括:
接收N个终端发送的第一清算请求,N>1;
根据所述第一清算请求,从数据库中获取所述N个终端的交易数据;
初始化缓存队列,将所述交易数据放入所述缓存队列中;
读取所述缓存队列中的所述交易数据,并对所述交易数据进行清算处理;
将清算结果写入所述数据库中,并向所述终端反馈所述第一清算请求的执行结果。
2.如权利要求1所述的方法,其特征在于,所述缓存队列为环形队列,所述初始化缓存队列,包括:
根据所述终端的数量N,确定所述环形队列的缓存单元数量,所述环形队列的缓存单元数量为2的M次方,2M>N。
3.如权利要求2所述的方法,其特征在于,所述将所述交易数据放入所述缓存队列中,包括:
为所述交易数据分配序号,同一个终端的交易数据分配一个序号;
针对任一终端的交易数据,利用所述交易数据的序号对所述环形队列的缓存单元数量进行求模运算,确定所述交易数据对应的所述环形队列中的缓存单元;将所述终端的交易数据放入对应的缓存单元中。
4.如权利要求2所述的方法,其特征在于,所述初始化缓存队列,还包括:
根据所述终端的数量,创建多个线程;
所述读取所述缓存队列中的所述交易数据,包括:
所述多个线程并行读取所述缓存队列中的所述交易数据。
5.如权利要求1至4任一项所述的方法,其特征在于,所述初始化缓存队列,将所述交易数据放入所述缓存队列中之前,还包括:
获取第二清算请求,所述第二清算请求为监测到预定时间后内部发起的;
根据所述第二清算请求,从所述数据库中获取从所述预定时间之前的历史时间至所述预定时间之内的交易数据。
6.一种交易清算装置,其特征在于,包括:
接收单元,用于接收N个终端发送的第一清算请求,N>1;
获取单元,用于根据所述第一清算请求,从数据库中获取所述N个终端的交易数据;
写入单元,用于初始化缓存队列,将所述交易数据放入所述缓存队列中;
读取单元,用于读取所述缓存队列中的所述交易数据,并对所述交易数据进行清算处理;
存储单元,用于将清算结果写入所述数据库中,并向所述终端反馈所述第一清算请求的执行结果。
7.如权利要求6所述的装置,其特征在于,所述缓存队列为环形队列,所述写入单元,具体用于:
根据所述终端的数量N,确定所述环形队列的缓存单元数量,所述环形队列的缓存单元数量为2的M次方,2M>N。
8.如权利要求7所述的装置,其特征在于,所述写入单元,具体用于:
为所述交易数据分配序号,同一个终端的交易数据分配一个序号;
针对任一终端的交易数据,利用所述交易数据的序号对所述环形队列的缓存单元数量进行求模运算,确定所述交易数据对应的所述环形队列中的缓存单元;将所述终端的交易数据放入对应的缓存单元中。
9.如权利要求7所述的装置,其特征在于,所述写入单元,还用于根据所述终端的数量,创建多个读取单元;
所述读取单元,具体用于并行读取所述缓存队列中的所述交易数据。
10.如权利要求6至9任一项所述的装置,其特征在于,所述接收单元,还用于获取第二清算请求,所述第二清算请求为监测到预定时间后内部发起的;
所述获取单元,还用于根据所述第二清算请求,从所述数据库中获取从所述预定时间之前的历史时间至所述预定时间之内的交易数据。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5任一所述的方法。
12.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1~5任一所述方法。
CN201811376395.XA 2018-11-19 2018-11-19 一种交易清算方法及装置 Pending CN109492016A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811376395.XA CN109492016A (zh) 2018-11-19 2018-11-19 一种交易清算方法及装置
PCT/CN2019/117657 WO2020103728A1 (zh) 2018-11-19 2019-11-12 一种交易清算方法及装置
US17/279,027 US11887068B2 (en) 2018-11-19 2019-11-12 Transaction settlement method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811376395.XA CN109492016A (zh) 2018-11-19 2018-11-19 一种交易清算方法及装置

Publications (1)

Publication Number Publication Date
CN109492016A true CN109492016A (zh) 2019-03-19

Family

ID=65696940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811376395.XA Pending CN109492016A (zh) 2018-11-19 2018-11-19 一种交易清算方法及装置

Country Status (3)

Country Link
US (1) US11887068B2 (zh)
CN (1) CN109492016A (zh)
WO (1) WO2020103728A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020103728A1 (zh) * 2018-11-19 2020-05-28 中国银联股份有限公司 一种交易清算方法及装置
CN111694683A (zh) * 2020-06-22 2020-09-22 中国银行股份有限公司 数据处理方法、装置、计算机设备及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616129A (zh) * 2008-06-27 2009-12-30 成都市华为赛门铁克科技有限公司 防网络攻击流量过载保护的方法、装置和系统
CN101901193A (zh) * 2009-05-27 2010-12-01 北京启明星辰信息技术股份有限公司 一种数据的缓冲方法和服务端
CN105302907A (zh) * 2015-10-30 2016-02-03 百度在线网络技术(北京)有限公司 一种请求的处理方法及装置
CN105630924A (zh) * 2015-12-22 2016-06-01 北京京东尚科信息技术有限公司 异步数据处理方法和异步数据处理系统
CN106504348A (zh) * 2016-09-30 2017-03-15 北京悦畅科技有限公司 一种提供停车费用结算的方法、服务器和系统
CN107679931A (zh) * 2017-08-17 2018-02-09 平安科技(深圳)有限公司 订单异步处理的方法、装置、存储介质及终端
CN108647104A (zh) * 2018-05-15 2018-10-12 北京五八信息技术有限公司 请求处理方法、服务器及计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957974A (zh) 2009-07-15 2011-01-26 中国工商银行股份有限公司 一种支持多种清算支付体系的汇款处理装置及方法
CN102035879B (zh) 2010-10-29 2013-07-10 西本新干线电子商务有限公司 服务器及应用该服务器的数据处理系统
GB2512595A (en) * 2013-04-02 2014-10-08 Mastercard International Inc Integrated contactless mpos implementation
US10453136B2 (en) 2016-05-25 2019-10-22 StreamingEdge Inc. Shared memory-based transaction processing
CN108595276A (zh) 2018-03-18 2018-09-28 平安科技(深圳)有限公司 业务逻辑的处理方法、系统、计算机设备和存储介质
CN109492016A (zh) 2018-11-19 2019-03-19 中国银联股份有限公司 一种交易清算方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616129A (zh) * 2008-06-27 2009-12-30 成都市华为赛门铁克科技有限公司 防网络攻击流量过载保护的方法、装置和系统
CN101901193A (zh) * 2009-05-27 2010-12-01 北京启明星辰信息技术股份有限公司 一种数据的缓冲方法和服务端
CN105302907A (zh) * 2015-10-30 2016-02-03 百度在线网络技术(北京)有限公司 一种请求的处理方法及装置
CN105630924A (zh) * 2015-12-22 2016-06-01 北京京东尚科信息技术有限公司 异步数据处理方法和异步数据处理系统
CN106504348A (zh) * 2016-09-30 2017-03-15 北京悦畅科技有限公司 一种提供停车费用结算的方法、服务器和系统
CN107679931A (zh) * 2017-08-17 2018-02-09 平安科技(深圳)有限公司 订单异步处理的方法、装置、存储介质及终端
CN108647104A (zh) * 2018-05-15 2018-10-12 北京五八信息技术有限公司 请求处理方法、服务器及计算机可读存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
王和兴: "《物联网工程 导论》", 31 December 2014, 东北大学出版社 *
相悦丽等: "《财政与金融》", 30 September 2018, 冶金工业出版社 *
胡越明: "《计算机系统结构》", 31 October 2007, 北京航空航天大学出版社 *
郭淑艳等: "《金融企业会计》", 28 February 2017, 哈尔滨工业大学出版社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020103728A1 (zh) * 2018-11-19 2020-05-28 中国银联股份有限公司 一种交易清算方法及装置
US11887068B2 (en) 2018-11-19 2024-01-30 China Unionpay Co., Ltd. Transaction settlement method and apparatus
CN111694683A (zh) * 2020-06-22 2020-09-22 中国银行股份有限公司 数据处理方法、装置、计算机设备及计算机可读存储介质

Also Published As

Publication number Publication date
US20220044211A1 (en) 2022-02-10
US11887068B2 (en) 2024-01-30
WO2020103728A1 (zh) 2020-05-28

Similar Documents

Publication Publication Date Title
WO2020258665A1 (zh) 一种分布式事务的流程保障方法及装置
US20160328685A1 (en) Resource reallocation method and server
CN111352705B (zh) 一种区块链的事务处理方法、装置、设备和介质
CN108446974A (zh) 数据处理装置、方法及计算机可读存储介质
TW201800994A (zh) 資源處理方法及裝置
CN108111554B (zh) 一种访问队列的控制方法及装置
CN103268548A (zh) 基于二维码的线上线下支付系统
CN110110269A (zh) 一种基于区块链的事件订阅方法及装置
CN110221927A (zh) 异步消息处理方法和装置
CN105335847A (zh) 一种电子账户的操作方法及装置
CN109492016A (zh) 一种交易清算方法及装置
CN108960792B (zh) 一种轮询方法、支付方法、装置、服务器和支付系统
CN110599343B (zh) 合约数据处理方法、相关设备及介质
CN107609852B (zh) 用于处理支付请求的方法和装置
CN112288412A (zh) 基于区块链的数字法币管理方法及装置
CN110378785B (zh) 由服务器执行的交易处理方法、装置、计算设备以及介质
CN114090247A (zh) 用于处理数据的方法、装置、设备以及存储介质
CN109272321B (zh) 快速支付方法、装置、设备及计算机可读存储介质
CN112418670A (zh) 一种案件分配方法、装置、设备及介质
CN111192113A (zh) 订单处理方法、装置、设备及存储介质
CN110413696A (zh) 一种数据处理方法及装置
CN110458701A (zh) 一种数据处理方法、装置、区块链节点设备及介质
CN113971552B (zh) 一种批量数据处理方法、装置、设备以及存储介质
CN114465974B (zh) 推送消息的处理方法、装置、处理器及电子设备
EP2887302A1 (en) Systems and methods for creating rules for equity corporate actions

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination