CN109150952A - 用于异步整合和发送数据的系统和方法 - Google Patents
用于异步整合和发送数据的系统和方法 Download PDFInfo
- Publication number
- CN109150952A CN109150952A CN201810616393.7A CN201810616393A CN109150952A CN 109150952 A CN109150952 A CN 109150952A CN 201810616393 A CN201810616393 A CN 201810616393A CN 109150952 A CN109150952 A CN 109150952A
- Authority
- CN
- China
- Prior art keywords
- message
- actuator
- equipment
- single batch
- computer
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- G06Q20/027—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] involving a payment switch or gateway
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
- G06Q20/204—Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及用于异步整合和发送数据的系统和方法。提供了一种用于通过计算机网络进行异步数据整合和发送的执行器计算设备。执行器计算设备包括可通信地耦合以从源连续接收多个个体计算机消息并且将多个个体计算机消息累积在队列中直到达到至少一个阈值为止的处理器。执行器计算设备还被配置为当达到所述至少一个阈值时将累积在队列内的多个个体计算机消息整合到单个批处理消息中。执行器计算设备还被配置为压缩并串行化单个批处理消息内的每个个体消息,并且通过计算机网络发送单个批处理消息。
Description
技术领域
本公开的领域一般而言涉及网络,并且更具体地涉及用于异步整合和发送多个计算机消息作为单个批处理消息(batched message)以提高能够通过计算机网络发送的个体消息的数量的系统和方法。
背景技术
计算机设备在网络上来回发送消息。例如,远程计算设备可以向服务器设备发送计算机消息以进行处理。部分处理可以要求服务器将消息发送到子处理设备以进一步处理数据,然后返回带有子处理后的数据的消息。在一些情况下,这些设备必须在预定义的时间内执行这些任务,否则处理可以被取消。具有足够的带宽来处理这些计算机消息是重要的。
例如,常规的支付处理系统处理大量的支付事务消息。在典型的支付事务期间,处理系统从例如受让方设备接收授权请求消息进行处理。在一些情况下,处理系统处于服务级别协议(SLA)之下,以在预定义的时间段(SLA响应时间)内提供对授权请求消息的响应。如果处理系统在SLA响应时间内未能响应授权请求消息,那么事务可以自动被拒绝。这种被拒绝的事务对于支付处理器以及事务的其它方(诸如持卡人消费者、商家和受让方)是不利的。
在至少一些支付事务期间,消费者(例如,持卡人)提供可以用于授权消费者作为支付卡的授权用户的账户数据。在一些情况下,消费者还可以提供其它数据(例如,也可以用于授权事务的设备数据)。处理系统可以利用诸如欺诈检测器系统之类的子处理系统来分析授权请求消息中包括的事务数据(例如,将来自事务数据的样本生物测定数据与存储在系统中的授权用户的参考生物测定数据进行比较)。在这些已知的系统中,子处理系统使用每笔事务一条消息来发送授权请求消息。在正常操作期间,子处理系统可以例如在几秒钟内对授权请求消息进行响应。但是,在某些情况下,诸如事务量大的时段,子处理系统会受到限制。例如,在更大量的情况下,授权请求消息的响应时间可以增加到2x秒。由子处理系统造成的这种时间增加可以造成整个事务违反SLA,并因此造成事务被拒绝。
发明内容
在一方面,提供了一种用于通过计算机网络进行异步数据整合和传输的执行器计算设备(worker computing device)。执行器计算设备包括可通信地耦合到存储器的处理器,并且被配置为从源连续接收多个个体计算机消息,并且在队列中累积所述多个个体计算机消息,直到达到至少一个阈值为止。执行器计算设备还被配置为在达到所述至少一个阈值时,将所述队列中累积的多个个体计算机消息整合到单个批处理消息中,进一步串行化所述单个批处理消息内的每个个体消息,以及通过所述计算机网络发送所述单个批处理消息。
在另一方面,提供了一种用于通过计算机网络进行异步数据整合和传输的计算机实现的方法。所述方法使用包括与至少一个存储器设备通信的至少一个处理器的执行器计算设备来执行。该方法包括从源连续接收多个个体计算机消息,并且在队列中累积所述多个个体计算机消息,直到达到至少一个阈值为止。该方法还包括在达到所述至少一个阈值时,将所述队列中累积的多个个体计算机消息整合到单个批处理消息中,由所述执行器计算设备进一步串行化所述单个批处理消息内的每个个体消息,以及由所述执行器计算设备通过所述计算机网络发送所述单个批处理消息。
在又一方面,提供了一种包括用于通过计算机网络进行异步数据整合和传输的可执行指令的非瞬态计算机可读介质。当所述计算机可执行指令被包括与至少一个存储器设备通信的至少一个处理器的执行器计算设备执行时,所述计算机可执行指令使得所述执行器计算设备从源连续接收多个个体计算机消息,并且在队列中累积所述多个个体计算机消息,直到达到至少一个阈值为止。所述计算机可执行指令还使执行器计算设备在达到所述至少一个阈值时,将所述队列中累积的多个个体计算机消息整合到单个批处理消息中,进一步串行化所述单个批处理消息内的每个个体消息,以及通过所述计算机网络发送所述单个批处理消息。
附图说明
图1-9示出了本文描述的方法和系统的示例实施例。
图1是图示用于异步整合和发送多个计算机消息的示例多方支付平台系统的示意图。
图2是用于异步整合多个计算机消息的示例处理系统的简化框图。
图3是根据本公开一个实施例的包括其它计算设备的处理系统的服务器体系架构的示例实施例的扩展框图。
图4图示了由用户(诸如图1中所示的持卡人)操作的用户系统的示例配置。
图5图示了服务器系统(诸如图2和3中所示的服务器系统)的示例配置。
图6是包括支付处理系统的示例支付事务环境,其中异步整合和发送多个计算机消息的处理步骤由执行器计算设备管理。
图7是用于在图6所示的支付事务环境中异步整合多个计算机消息的示例方法。
图8图示了用于实现图7中所示的方法的异步线程序列的示例。
图9示出了计算设备内的数据库的示例配置以及其它相关的计算部件,其可以被用于在一个消息中整合多个计算机消息并将该消息发送到图6中所示的子处理系统。
具体实施方式
本文描述用于通过计算机网络进行异步数据整合和传输的系统和方法。在示例实施例中,处理系统利用子处理系统来分析授权请求消息中的事务数据,并且更具体而言,子系统分析在支付事务期间从持卡人收集的持卡人账户数据(诸如样本生物测定数据)。处理系统将授权请求消息发送到子处理系统。子处理系统执行必要的子处理步骤来执行授权,并且子处理系统将响应发送回处理系统。处理系统可以使用WebSphere MQ异步整合授权请求消息并将其发送到消息队列(MQ)。(IBM是位于Armonk,New York的国际商业机器公司的注册商标)。这些消息在下文中被称为MQ消息。
在示例实施例中,处理系统包括将多个计算机消息整合在一个MQ消息中的执行器计算设备。在该示例实施例中,计算机消息包括用于支付卡支付事务的授权请求消息(例如,ISO8583消息)。处理系统可以处于服务级别协议(SLA)之下,SLA定义处理每个授权请求消息的最大响应时间。执行器计算设备在一个MQ消息中整合多个计算机消息,以满足用于处理授权请求消息的SLA响应时间(例如,授权消息被发送到子处理系统的时间与从子处理系统接收到响应的时间之间所经过的时间量)并且通过计算机网络异步发送MQ消息。
在事务量大的时段期间,子处理系统的(一个或多个)平均响应时间可以攀升。在一些不受限制的情况下,较高的响应时间会造成整个处理系统变得不符合SLA,从而使一些事务被拒绝。如果子处理系统的响应时间超过SLA响应时间要求,那么,由于SLA超时,因此大部分或全部事务可以被拒绝。执行器计算设备利用批处理执行器和批处理管理器在一个MQ消息中整合多个计算机消息并且安排MQ消息必须被发送的时间。批处理管理器被配置为设置每个MQ消息(例如,多个个体消息的批处理消息)的个体计算机消息的最大数量。批处理管理器还创建批处理定时器并基于预定义的时间阈值安排它运行。批处理定时器被配置为将当前时间与计算机消息最后一次被添加到MQ消息的时间进行比较。执行器计算设备还利用控制器执行器、输出适配器和输入适配器。
换句话说,执行器计算设备在消息队列中累积多个个体计算机消息(例如,授权或清分(clearing)消息)。执行器计算设备监视消息正被累积的时间和/或正被累积的消息的数量。存在为累计时间或可以被累积的消息数量存储的阈值。一旦满足阈值级别,就关闭队列,并将多个消息整合到单个批处理消息中。通过这样做,可以增加能够通过系统被处理的消息的数量,并且可以更好地遵守SLA。
在示例实施例中,控制器执行器部件被配置为管理授权和/或清分过程。在替代性实施例中,控制器执行器部件被配置为管理任何其它事务过程,诸如认证和/或结算过程。控制器执行器部件可以将计算机消息发送到输出适配器,可以将数据添加到计算机消息,和/或可以过滤计算机消息。在示例实施例中,批处理管理器被配置为接收和累积计算机消息。批处理执行器也被配置为定义量阈值,并且还包含定义时间阈值的批处理定时器。一旦达到时间阈值和/或量阈值,批处理执行器部件就接受来自批处理管理器的累积的计算机消息,并整合它们。然后,批处理执行器部件将整合的消息发送到输出适配器,该输出适配器被配置为将整合的计算机消息串行化并压缩在一个MQ消息中,并且异步地发送该MQ消息。在示例实施例中,输入适配器被配置为接收包含多个计算机消息的MQ消息,解析每个MQ消息中的每个计算机消息,并且一次一个地将计算机消息返回到数据访问对象(DAO)。在一个MQ消息中整合多个计算机消息有助于改善可以在SLA的边界内并且基于子处理系统的繁忙度成功提交和处理的计算机消息的数量。
在另一个实施例中,执行器计算设备将一个MQ消息中的计算机消息的数量与在执行器计算设备中设置的计算机消息的预定数量进行比较。一旦MQ消息中的计算机消息的数量达到计算机消息的预定数量,执行器计算设备就将MQ消息发送给MQ。例如,如果计算机消息的预定数量是五十,那么执行器计算设备比较在MQ消息中收集的计算机消息的数量,并且如果事务的数量等于五十,那么执行器计算设备批处理计算机消息并且异步地向MQ发送MQ消息。但是,如果计算机消息的数量少于五十,那么执行器计算设备不发送MQ消息并继续收集计算机消息。
在另一个实施例中,执行器计算设备将计算机最后一次消息被添加到MQ消息的时间与用于发送MQ消息的预定义时间进行比较。换句话说,该预定义时间设置执行器计算设备必须多久发送MQ消息。例如,如果执行器计算设备被配置为在MQ消息具有五十个计算机消息时或者自执行器计算设备接收到最后一个计算机消息起经过两秒钟时发送MQ消息,那么执行器计算设备将异步地在两秒过去之后发送MQ消息,即使MQ消息具有少于50个计算机消息。
本文描述的系统和过程的技术效果包括以下中的至少一个:(a)在存储器中识别阈值;(b)将多个计算机消息发送到子处理系统;
(c)由处理器将多个计算机消息整合在单个MQ消息中;(d)批处理、串行化、压缩和向MQ异步地发送MQ消息;(e)增加可以通过计算机网络发送的消息的数量,以提高带宽和提高处理;以及(e)比较平均响应时间与服务水平协议(SLA)时间,其中更改阈值进一步至少部分地基于比较。
如本文所使用的,处理器可以包括任何可编程系统,包括使用微控制器、精简指令集电路(RISC)、专用集成电路(ASIC)、逻辑电路以及能够执行本文描述的功能的任何其它电路或处理器的系统。以上示例仅仅是示例,因此不旨在以任何方式限制术语“处理器”的定义和/或含义。
如本文所使用的,术语“软件”和“固件”是可互换的,并且包括存储在存储器中用于由处理器执行的任何计算机程序,其中存储器包括RAM存储器、ROM存储器、EPROM存储器、EEPROM存储器和非易失性RAM(NVRAM)存储器。上述存储器类型仅仅是示例,因此不限制可用于存储计算机程序的存储器的类型。
在一个实施例中,提供了一种计算机程序,并且该程序被体现在计算机可读介质上。在示例实施例中,该系统在单个计算机系统上执行,而不需要连接到服务器计算机。在进一步的实施例中,系统在环境(Windows是Redmond,Washington的微软公司的注册商标)中运行。在又一个实施例中,系统在大型机环境和服务器环境(UNIX是位于英国Reading,Berkshire的X/Open Company Limited的注册商标)上运行。该应用是灵活的,并且被设计为在各种不同的环境中运行,而不会影响任何主要功能。在一些实施例中,该系统包括分布在多个计算设备当中的多个部件。一个或多个部件可以具有体现在计算机可读介质中的计算机可执行指令的形式。系统和过程不限于本文描述的具体实施例。此外,每个系统和每个过程的部件可以独立实践并与本文描述的其它部件和过程分开。每个部件和过程也可以与其它组装包和过程结合使用。
如本文所使用的,术语“事务卡”、“金融事务卡”和“支付卡”是指任何合适的事务卡,诸如信用卡、借记卡、预付卡、充值卡、会员卡、促销卡、常旅客卡、身份证、预付卡、礼品卡和/或可以存储支付账户数据的任何其它设备,诸如移动电话、智能电话、个人数字助理(PDA)、遥控钥匙(key fob)和/或计算机。每种类型的事务卡可以被用作执行事务的支付方法。如本文所使用的,术语“支付账户”一般用于指事务卡的基础账户。此外,持卡人卡账户行为可以包括但不限于购买、管理活动(例如,余额检查)、账单支付、目标达成(满足账户余额目标、按时支付账单)和/或产品注册(例如,移动应用下载)。
以下详细描述以示例而非限制的方式示出了本公开的实施例。可以预期的是,本公开具有在工业、商业和住宅应用中由第三方处理金融事务数据的一般应用。
如本文所使用的,以单数叙述并且前面带有单词“一”或“一个”的元件或步骤应当被理解为不排除复数个元件或步骤,除非明确记载了这种排除。此外,对本公开的“示例实施例”或“一个实施例”的引用不意图被解释为排除也结合了所记载特征的附加实施例的存在。
图1是图示用于处理支付事务,并且更具体而言用于根据本公开整合并发送多个计算机消息,的示例多方支付平台系统20的示意图。本文描述的实施例可以涉及支付处理系统,诸如使用交换网络的信用卡或借记卡支付系统。交换网络是由Mastercard International 颁布的一套专有通信标准,用于在向Mastercard International 注册的金融机构之间交换金融事务数据以及进行资金结算。(Mastercard是位于Purchase,New York的MastercardInternational Incorporated的注册商标)
在本文描述的支付处理系统中,称为“发卡方”的金融机构向消费者或持卡人22发行诸如信用卡或借记卡之类的事务卡,消费者或持卡人使用事务卡来为从商家24进行的购买支付。为了接受用事务卡付款,商家24通常必须在作为金融支付系统一部分的金融机构中建立帐户,该金融机构通常被称为“商家银行”、“受让银行”或“受让方”。当持卡人22用事务卡支付购买费用时,商家24向商家银行26请求对于购买金额的授权。该请求可以通过电话或在网站上进行,但常常通过使用销售点(POS)终端来执行,销售点终端读取来自事务卡上包括的磁条、芯片、浮凸字符等上的持卡人22的账户数据,并与商家银行26的处理计算机进行电子通信。在与在线商家的事务中,持卡人22可以通过网站提供持卡人账户数据,诸如账号、卡验证号码、到期日期等。可替代地,商家银行26可以授权第三方代表其执行处理。在这种情况下,POS终端将被配置为与第三方通信,以代表它执行事务处理。在这种情况下,POS终端可以被配置为与第三方通信。这种第三方通常被称为“商家处理器”、“受让处理器”或“第三方处理器”。
使用交换网络28,商家银行26的计算机或商家处理器将与发卡方银行30的计算机通信,以确定持卡人22的账户32是否信誉良好以及购买是否被持卡人22的可用信用额度覆盖。基于这些确定,授权请求将被拒绝或接受。如果请求被接受,授权代码被发给商家24
在示例实施例中,持卡人22提供持卡人账户数据,诸如生物测定样本。在授权期间,事务的一方或多方(诸如交换网络28)可以与被配置为执行与事务相关联的授权子处理的子处理系统29通信。在示例实施例中,子处理系统29执行用于支付事务的事务数据(其包括账户数据)的授权。交换网络28包括执行器计算设备,其能够将多个个体计算机消息整合到单个批处理消息中,以发送到子处理器29以改进整体处理。在操作期间,交换网络28使用MQ消息将事务数据发送到子处理系统29,作为支付事务的总体授权过程的一部分。在一些情况下,子处理系统29可能变得受到限制,使得响应时间被延迟。
当授权请求(即,授权请求消息)被接受时,持卡人22的账户32的可用信用额度被减少。通常,用于支付事务的费用不会立即发到持卡人22的帐户32,因为银行卡协会(诸如Mastercard International Incorporated)已颁布了规则,该规则不允许商家24在递送货物或交付服务之前对事务收费或“捕获”事务。但是,对于至少一些借记卡事务,可以在事务进行时发布费用。当商家24递送或交付货物或服务时,商家24通过例如POS终端上的适当数据输入程序来捕获事务。这可以包括每天为标准零售购买捆绑批准的事务。如果持卡人22在事务被捕获之前取消事务,那么生成“空白”,如果持卡人22在事务被捕获后返回商品,那么生成“结余(credit)”。交换网络28和/或发卡方银行30在数据库120(图2中示出)中存储支付事务信息,诸如商家类型、购买金额、购买日期。
在进行了购买之后,发生清分过程,以在事务各方(诸如商家银行26、交换网络28和发卡方银行30)之间转移与购买有关的附加事务数据。更具体而言,在清分过程期间和/或之后,诸如购买时间、商家名称、商家类型、购买信息、持卡人账户数据、事务类型、储蓄信息、行程信息、关于所购物品和/或服务的信息和/或其它合适的信息之类的附加数据与事务相关联并且作为事务数据在事务各方之间发送,并且可以由事务的任何一方存储。
在事务被授权和清分之后,事务在商家24、商家银行26和发卡方银行30之间结算。结算指的是与事务有关的商家24的账户、商家银行26和发卡方银行30之间的金融数据或资金的转移。通常,事务被捕获并累积到“批”中,并作为一组进行结算。更具体而言,事务通常在发卡方银行30和交换网络28之间,然后在交换网络28和商家银行26之间,然后在商家银行26和商家24之间结算。
图2是用于在单个批处理消息中整合多个计算机消息的示例处理系统100的简化框图。处理系统100包括根据本公开进行通信连接的多个计算设备。在示例实施例中,处理系统100可以用于处理图1中所示的交换环境中的支付事务。
更具体而言,在示例实施例中,处理系统100包括与子处理系统29(也在图1中示出)通信的服务器系统112和/或与商家、商家银行、支付网络和/或发卡方银行相关联的其它客户端计算机系统114。在该示例实施例中,服务器系统112包括至少数据库服务器116和执行器计算设备118。在该示例实施例中,至少一个子处理系统29从服务器系统112接收计算机消息(诸如支付事务的授权请求消息),以及向服务器系统112提供响应。在一些实施例中,子处理系统29是第三方计算系统。在其它实施例中,子处理系统29可以是由服务器系统112执行的部件或模块。在还有其它实施例中,子处理系统29可以与事务授权过程的任何一方相关联。
在示例实施例中,服务器系统112还与多个客户端子系统(也被称为客户端计算机系统114)通信。在一个实施例中,客户端计算机系统114是包括web浏览器的计算机,使得服务器系统112可以使用互联网让客户端计算机系统114访问。客户端计算机系统114和/或子处理系统29通过包括网络连接115的许多接口互连到互联网,所述网络连接115诸如局域网(LAN)或广域网(WAN)、拨号连接、电缆调制解调器、特殊的高速综合业务数字网(ISDN)线路和RDT网络。客户端计算机系统114可以是能够互连到互联网的任何设备,包括基于web的电话、PDA或其它基于web的可连接装备。
数据库服务器116连接到数据库120,数据库120包含关于各种事物的信息,如下面更详细描述的。在一个实施例中,数据库120被集中并存储在服务器系统112上,并且可以由客户端计算机系统114之一处的潜在用户通过经由客户端计算机系统114之一登录到服务器系统112上来访问。在替代性实施例中,数据库120远离服务器系统112存储,并且可以是非集中式的。
数据库120可以包括具有分离的部分或分区的单个数据库,或者可以包括多个数据库,每个数据库彼此分离。数据库120可以存储作为销售活动的一部分生成的事务数据和通过处理网络进行的储蓄活动,其包括与商家、持卡人或客户、发卡方、受让方、储蓄金额、储蓄账户数据和/或所做出的购买有关的数据。数据库120还可以存储持卡人账户数据,该持卡人账户数据包括持卡人姓名、持卡人地址、账号、账户标识符和其它持卡人账户数据中的至少一个。数据库120还可以存储商家数据,该商家数据包括识别每个被注册以使用网络的商家的商家标识符以及用于结算包括商家银行账户数据的事务的指令。数据库120还可以存储与由持卡人从商家购买的物品相关联的购买数据,以及授权请求数据。数据库120还可以存储与事务各方(诸如商家、商家银行、支付网络和/或发卡方银行)相关联的债务接受信息。另外,数据库120还可以存储用于特定事务的默认债务和/或债务接受指示符的规则。
在示例实施例中,客户端计算机系统114之一可以与商家银行26(图1中示出)相关联,而客户端计算机系统14中的另一个可以与发卡方银行30(图1中示出)相关联。服务器系统112可以与交换网络28或支付处理器相关联。在示例实施例中,服务器系统112与诸如交换网络28(图1中示出)的网络交换相关联,并且可以被称为交换计算机系统或支付处理计算设备。服务器系统112可以用于处理事务数据。此外,客户端计算机系统14可以包括与在线银行、账单支付外包商、商家银行、商家处理器、与事务卡相关联的发卡方银行、发卡方处理器、远程支付系统、令牌请求者、令牌提供者和/或账单机相关联的计算机系统。
在示例实施例中,执行器计算设备118位于服务器系统112内或与服务器系统112通信,并且可以包括控制器执行器部件、输出适配器部件、批处理执行器部件、批处理管理器部件和批处理定时器部件(全部在下面描述)。执行器计算设备118可通信地耦合到位于子处理系统29中的输入适配器。执行器计算设备118和子处理系统29的输入适配器经由网络(例如,互联网)通过许多接口互连,其中接口包括诸如局域网(LAN)或广域网(WAN)、拨入连接、电缆调制解调器、专用高速综合业务数字网络(ISDN)线路和RDT网络之类的网络连接115。
图3是根据本公开一个实施例的包括其它计算设备的处理系统122的服务器体系架构的示例实施例的扩展框图。在该示例实施例中,处理系统122类似于处理系统100(在图2中示出)。处理系统122中与处理系统100的部件完全相同的部件在图3中使用与图2中相同的标号识别。处理系统122包括服务器系统112、客户端计算机系统114、执行器计算设备118和子处理系统29。服务器系统112还包括数据库服务器116、应用服务器124、web服务器126、用户认证服务器128、目录服务器130和邮件服务器132。存储设备134耦合到数据库服务器116和目录服务器130。服务器116、124、126、128、130和132耦合到局域网(LAN)136。在示例实施例中,客户端系统114包括发卡方银行工作站138、商家银行工作站140、第三方处理器工作站142、第三方146(例如,持卡人、客户、审计人员、开发人员、持卡人(即,消费者)、商家、受让方、发卡方等等)和管理器工作站156。此外,发卡方银行工作站138、商家银行工作站140和第三方处理器工作站142可以使用网络连接115(图2中示出)耦合到LAN 136。工作站138、140和142使用互联网链路耦合到LAN 136或通过内联网被连接。
每个工作站138、140和142是具有web浏览器的个人计算机。虽然在工作站上执行的功能通常被示为在相应的工作站138、140、142执行,但是这种功能可以在耦合到LAN 136的许多个人计算机之一处执行。工作站138、140和142被示为与分离的功能相关联,这只是为了便于理解可以由能访问LAN 136的个人执行的不同类型的功能。
服务器系统112被配置为可可通信地耦合到不同个人,包括员工I44(使用工作站154)和第三方146(使用ISP互联网连接148)。在该示例实施例中,通信被示为使用互联网执行,但是,任何其它广域网(WAN)类型的通信可以在其它实施例中被利用,即,系统和过程不限于使用互联网来实践。此外,不是WAN 150,而是LAN136可以代替WAN 150使用。
在该示例实施例中,任何具有工作站154的授权个人可以访问处理系统122。在一些实施例中,管理器工作站156位于远程位置。工作站154和156是具有web浏览器的个人计算机。而且,工作站154和156被配置为与服务器系统112通信。此外,用户认证服务器128与位于远程的客户机系统(包括管理器工作站156)使用电话链路进行通信。用户认证服务器128被配置为也与工作站138、140和142通信。
图4图示了由用户201(诸如持卡人22、商家24或其他用户(图1中示出))操作的用户系统202的示例配置。如图3中所示,用户系统202可以包括但不限于客户端计算机系统114、138、140和142、执行器计算设备118、子处理系统29、工作站54和管理器工作站156。在示例实施例中,用户系统202包括用于执行指令的处理器205。在一些实施例中,可执行指令被存储在存储器区域210中。处理器205可以包括一个或多个处理单元,例如多核配置。存储器区域210是允许诸如可执行指令和/或书写作品之类的信息被存储和检索的任何设备。存储器区域210可以包括一个或多个计算机可读介质。
用户系统202还包括用于向用户201呈现信息的至少一个媒体输出部件215。媒体输出部件215是能够向用户201传达信息的任何部件。在一些实施例中,媒体输出部件215包括诸如视频适配器和/或音频适配器之类的输出端。输出适配器可操作地耦合到处理器205,并且还可以可操作地耦合到输出设备,诸如显示设备、液晶显示器(LCD)、有机发光二极管(OLED)显示器或“电子墨水”显示器,或者音频输出设备、扬声器或耳机。
在一些实施例中,用户系统202包括用于接收来自用户201的输入的输入设备220。输入设备220可以包括例如键盘、定点设备、鼠标、触控笔、触摸敏感面板、触摸板、触摸屏、陀螺仪、加速度计、位置检测器或音频输入设备。单个部件(诸如触摸屏)可以用作媒体输出部件215的输出设备和输入设备220。服务系统202还可以包括通信接口225,该通信接口225可以可通信地耦合到诸如服务器系统112之类的远程设备。通信接口225可以包括例如有线或无线网络适配器或者与移动电话网络、全球移动通信系统(GSM)、3G或其它移动数据网络或全球微波接入互操作性(WIMAX)一起使用的无线数据收发器。
存储在存储器区域210中的是例如用于经由媒体输出部件215向用户201提供用户接口并且可选地接收并处理来自输入设备220的输入的计算机可读指令。除其它可能性之外,用户接口还可以包括web浏览器和客户端应用。web浏览器使用户(诸如用户201)能够显示来自服务器系统112的通常嵌入在网页或网站上的媒体和其它信息并与其交互。客户端应用允许用户201与来自服务器系统112的服务器应用交互。
图5图示了服务器系统301(诸如服务器系统112(在图2和3中示出))的示例配置。在一些实施例中,服务器系统301可以类似于子处理系统29(在图1-3中示出)。服务器系统301可以包括但不限于数据库服务器116、应用服务器124、web服务器126、用户认证服务器128、目录服务器130和邮件服务器132。
服务器系统301包括用于执行指令的处理器305。例如,指令可以被存储在存储器区域310中。处理器305可以包括用于执行指令的一个或多个处理单元(例如,在多核配置中)。这些指令可以在服务器系统301上的各种不同的操作系统内执行,操作系统诸如UNIX、LINUX、Microsoft等等。还应当认识到的是,在启动基于计算机的方法时,可以在初始化期间执行各种指令。为了执行本文描述的一个或多个处理,可能需要一些操作,而其它操作可以对于特定编程语言(例如,C、C#、C++、Java或其它合适的编程语言等等)更通用和/或特定。
处理器305可操作地耦合到通信接口315,使得服务器系统301能够与远程设备(诸如用户系统或另一个服务器系统301)通信。例如,通信接口315可以从客户端计算机系统4经由互联网接收请求,如图2和3中所示。
处理器305还可以可操作地耦合到存储设备134。存储设备134是适于存储和/或检索数据的任何计算机操作的硬件。在一些实施例中,存储设备134被集成在服务器系统301中。例如,服务器系统301可以包括一个或多个硬盘驱动器作为存储设备134。在其它实施例中,存储设备134在服务器系统301外部并且可以被多个服务器系统301访问。例如,存储设备134可以包括多个存储单元,诸如在廉价磁盘冗余阵列(RAID)配置中的硬盘或固态磁盘。存储设备134可以包括存储区域网络(SAN)和/或网络附属存储(NAS)系统。
在一些实施例中,处理器305经由存储接口320可操作地耦合到存储设备134。存储接口320是能够向处理器305提供对存储设备134的访问的任何部件。存储接口320可以包括例如先进技术附连(ATA)适配器、串行ATA(SATA)适配器、小型计算机系统接口(SCSI)适配器、RAID控制器、SAN适配器、网络适配器和/或向处理器305提供对存储设备134的访问的任何部件。
存储器区域310可以包括但不限于随机存取存储器(RAM)(诸如动态RAM(DRAM)或静态RAM(SRAM))、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和非易失性RAM(NVRAM)。上述存储器类型仅仅是示例性的,因此对于可用于存储计算机程序的存储器的类型不是限制性的。
图6是包括处理系统122的示例支付事务环境600,其中处理步骤由执行器计算设备118管理。在示例实施例中,计算机消息是从商家银行26和/或受让方系统620发送的授权请求消息602。受让方系统620与交换网络630(例如,支付处理器,诸如交换网络28(图1中示出))通信,并且更具体地与处理系统122通信。在支付事务的授权期间,受让方系统620与网络630交互。
在示例实施例中,受让方系统620向网络630发送授权请求消息602,用于授权处理。另外,网络630处于服务级别协议(SLA)之下,以在预定义的毫秒数内对一些授权请求消息602进行响应。如果网络630没有在SLA时限内响应,那么授权请求消息602可能会失败。换句话说,如果网络630没有提供足够快的响应,那么失败的授权请求消息602将使事务被自动拒绝。照此,网络630的授权请求消息处理的及时性影响失败的授权请求消息和拒绝的事务的数量,这不利地影响参与事务的各方,诸如持卡人消费者、商家、受让方、发卡方和处理网络。如本文所使用的,短语“服务水平协议(SLA)时间”可以用于指合同上一致同意的响应时间上限,或者它可以更一般地用于指给予处理系统响应请求的最大处理时间,而不管SLA时间如何设置。
在示例实施例中,授权请求消息602包括与由消费者发起的支付事务相关联的持卡人账户数据,诸如生物测定样本。更具体而言,在发起支付事务期间,消费者可以提供生物测定样本,诸如,例如指纹、虹膜扫描、眼球移动、语音样本或面部扫描。生物测定样本在消费者授权期间被使用(例如,用于确定消费者是否是合法持卡人)。
如本领域中已知的,可以使用生物测定样本来授权个人。一种已知的广泛的生物测定方法(例如,生物测定授权)涉及收集嫌疑人(例如,受检人员)的生物测定样本(例如,生物测定标识符),并将该样本与真实的、预先收集的目标个体(有特权进行授权的人)的“目标样本”或“参考样本”进行比较。已知的生物测定标识符包括生理特征,诸如例如指纹、面部识别、掌纹、手部几何形状、虹膜识别、视网膜和气味/香味,并且还可以包括行为特征,诸如例如键入节奏、步态和语音。比较算法常常特定于所讨论的特定类型的生物特征数据。已知一些生物特征比较是计算密集型的。此外,目标样本数据可以被认为是敏感的,并且可能需要仔细的数据保护程序,这会导致更详细的过程,其在事务过程中可能需要比任何其它过程更多的时间。
在示例实施例中,网络630与认证子处理器650通信。在一些实施例中,认证子处理器650是第三方实体,其提供与持卡人22(图1中示出)的生物测定样本相关的认证和/或授权服务和支持处理。例如,认证子处理器650可以是政府实体或另一个实体(诸如发卡银行),其将事务数据与来自可用于授权支付事务的事务目标样本库的目标样本进行匹配(例如,建立生物测定身份)。在其它实施例中,认证子处理器650是网络630内的服务器或应用部件。在还有其它实施例中,认证子处理器650支持与支付卡授权请求消息相关联的附加任务。
在示例支付事务环境600中,“嫌疑人”消费者提供生物测定样本,作为授权请求消息602的一部分。网络630连同授权请求消息602一起接收生物测定样本,并执行生物测定样本和其它相关的授权数据向认证子处理器650的传输640。认证子处理器650从其它相关联的授权数据中识别目标样本,将生物测定样本与目标样本进行比较,并且向网络630发送具有生物测定授权数据的授权响应660,诸如确认或拒绝授权。在接收到授权响应660之后,并且在执行任何其它授权处理之后,网络630响应于授权请求消息602而发送响应670,其包括授权响应660,用于指示网络630对于授权的安排。网络630可以将响应670发送到请求者(诸如受让方系统620)。
在示例实施例中,网络630监视与授权请求消息602的处理相关联的响应时间。在示例实施例中,在授权请求消息602的接收625与网络630对授权请求消息602的响应670之间经过的时间是针对那个特定请求的“响应时间”(例如,完整的处理请求时间)。在其它实施例中,网络630监视响应时间,作为授权请求消息到认证子处理器650的传输640与从该请求返回的授权响应660之间经过的时间(例如,子处理请求时间)。
在示例实施例中,执行器计算设备118将多个授权请求消息602异步整合在一个MQ消息(包括生物测定数据)中并且将其作为传输640发送。在一些实施例中,执行器计算设备118将个体计算机消息(例如,授权消息)批处理在一个MQ消息中,并且当MQ消息中的个体计算机消息的数量达到预定数量时,作为传输640发送该MQ消息。在其它实施例中,执行器计算设备118将个体计算机消息(例如,授权消息)批处理在一个MQ消息中,并且当最后一个授权请求消息被批处理在MQ消息中之后经过预定义时间时,发送该MQ消息。通过在单个MQ消息内批处理多个授权消息,服务器系统112能够在SLA时限内处理更多事务。因此,更少事务将由于不遵守SLA而被拒绝。
图7是在诸如图6中所示的支付事务环境600中整合多个计算机消息的示例方法700。在示例实施例中,方法700由执行器计算设备(诸如执行器计算设备118(图2和6中示出)的)结合计算系统(诸如服务器系统112(图2中示出)、处理系统122(图3和6中示出)或计算设备910(图9中示出))来执行。
在该示例实施例中,方法700包括从源连续地接收710多个个体计算机消息,并且在队列中累积720多个个体计算机消息,直到达到至少一个阈值为止。方法700还包括将在队列中累积的多个个体计算机消息整合730到单个批处理消息(诸如MQ消息)中。方法700还包括在存储器中识别阈值水平和/或阈值。在一些实施例中,阈值至少部分地基于处理需求和由执行器计算设备设置的预定义水平中的一个或多个。在其它实施例中,阈值至少部分地基于平均响应时间和服务水平协议(SLA)时间中的一个或多个。方法700还可以包括将时间和量中的至少一个与预定阈值进行比较,以及将多个计算机消息批处理在单个批处理消息中。方法700还包括串行化740在单个批处理消息内的每个计算机消息,压缩多个计算机消息中的每个个体计算机消息,并且通过计算机网络发送750该单个批处理消息。在一些实施例中,将时间和量中的至少一个与预定义的阈值进行比较包括在比较单个消息的量与预定义的阈值之前比较自整合最后一个计算机消息以来所经过的时间。方法700也可以包括比较平均响应时间与服务水平协议(SLA)时间,其中更改阈值进一步至少部分地基于比较。
在一些实施例中,方法700包括将MQ消息异步发送到数据库、API调用或可能需要在MQ消息中整合多个计算机消息的数据的任何其它目的地。在一些实施例中,方法700可以包括至少部分地基于平均响应时间来更改阈值。另外,在示例实施例中,方法700与可以在支付事务期间执行的清分过程或其它事务过程异步地执行。照此,方法700独立于在支付事务期间发生的其它过程。因此,方法700能够处理数据而无需来自其它处理的保持和/或中断,这减少了方法700所需的数据处理。
图8图示了用于实现图7中所示的方法的示例异步线程序列800。异步线程序列800与主要事务处理序列异步运行,以便减少一些具体事务过程(诸如授权请求消息过程)的处理时间。在该示例实施例中,异步线程序列800由执行器计算设备118执行,执行器计算设备118从服务器系统112接收个体计算机消息。异步线程序列800包括控制器执行器801、输出适配器802、批处理执行器803、批处理管理器804和批处理定时器805,用于在一个MQ消息中整合多个计算机消息,并且安排MQ消息被发送的时间。控制器执行器801将个体计算机消息发送到输出适配器802。然后,输出适配器802实例化批处理执行器803并向批处理执行器803发送需要子处理的个体计算机消息。批处理执行器803将个体计算机消息发送到批处理管理器804,批处理管理器804创建消息的静态列表。批处理管理器804被配置成为每个MQ消息设置预定数量的个体计算机消息。
批处理管理器804还创建批处理定时器805并基于预定义的时间阈值对其运行进行安排。批处理定时器805被配置为将当前时间与计算机消息最后一次被添加到MQ消息的时间进行比较。当批处理管理器804建立的数字值或批处理定时器805建立的时间值被满足时,批处理管理器804的静态列表中的个体计算机消息被返回给批处理执行器803。批处理执行器803进一步整合个体消息并将它们发送到输出适配器802。然后,输出适配器802串行化个体消息,并通过网络连接115将它们作为单个MQ消息发送到子处理系统29的输入适配器806。输入适配器806被配置为解串行化个体消息,并且将它们一次一个地提供给子处理器29以进行子处理。从子处理系统29向服务器系统112单独地并通过连接117异步地发送响应消息。网络连接115和117可以是相同的连接。
图9示出了计算设备910内的数据库920的示例配置900,连同其它相关的计算部件,其可以用于处理支付事务,并且更具体而言,在一个MQ消息中整合多个计算机消息。在一些实施例中,计算设备910类似于服务器系统112(图2中示出)、处理系统122(图3和6中示出)和/或服务器系统301(图5中示出)。数据库920耦合到计算设备910内的若干执行具体任务的分离部件。
在示例实施例中,数据库920包括事务数据922、系统状态数据924和阈值数据926。在一些实施例中,数据库920类似于数据库120(图2中示出)。事务数据922包括与支付事务数据相关联的信息,诸如授权请求消息602(图6中示出)。系统状态数据924包括与响应时间和平均响应时间、当前和历史数据(诸如处理速率)相关联的信息,诸如参考图6所描述的。阈值数据926包括与执行器计算设备相关联的数据以及预定义的阈值,诸如在方法700中描述的。
计算设备910包括数据库920以及数据存储设备930。计算设备910还包括整合部件940,其可以类似于执行器计算设备118(图2和6中示出),用于将多个计算机消息整合在一个MQ消息中并且通过MQ发送该MQ消息。计算设备910还包括用于处理事务数据的授权部件950。还包括响应跟踪部件960,用于在网络630(图6中示出)处在其待决(pendency)期间跟踪和管理事务数据。还包括通信部件970,用于接收事务数据和通过MQ发送MQ消息。处理部件980协助执行与系统相关联的计算机可执行指令。
基于前述说明书可以认识到的是,本公开的上述实施例可以使用计算机编程或工程技术来实现,包括计算机软件、固件、硬件或其任意组合或子集,其中技术效果是用于跨MQ处理事务的灵活系统。根据所讨论的本公开的实施例,具有计算机可读代码装置的任何这种最终程序可以在一个或多个计算机可读介质内被体现或提供,由此做出计算机程序产品,例如制造品。计算机可读介质可以是例如但不限于固定(硬)驱动器、软盘、光盘、磁带、诸如只读存储器(ROM)之类的半导体存储器和/或任何发送/接收介质(诸如互联网或其它通信网络或链接)。包含计算机代码的制造品可以通过直接从一种介质执行代码、通过将代码从一种介质复制到另一种介质或者通过在网络上发送代码来制造和/或使用。
这些计算机程序(也称为程序、软件、软件应用、“app”或代码)包括用于可编程处理器的机器指令,并且可以以高级过程性和/或面向对象的编程语言和/或以汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”、“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。但是,“机器可读介质”和“计算机可读介质”不包括瞬态信号。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
本书面描述使用示例来公开本公开,包括最佳模式,并且还使得本领域任何技术人员能够实践本公开,包括制作和使用任何设备或系统以及执行任何结合的方法。本公开的专利范围由权利要求限定,并且可以包括本领域技术人员想到的其它示例。如果这些其它示例具有与权利要求的字面语言无差异的结构元件,或者如果它们包括与权利要求的字面语言无实质区别的等同结构元件,那么这些其它示例意图在权利要求的范围内。如基于前述说明书将认识到的,可以使用包括计算机软件、固件、硬件或其任意组合或子集的计算机编程或工程技术来实现上面讨论的本公开的实施例。根据所讨论的本公开的实施例,具有计算机可读和/或计算机可执行指令的任何这样得到的计算机程序可以在一个或多个计算机可读介质内被体现或提供,从而制造计算机程序产品,即,制造品。这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程性和/或面向对象的编程语言和/或以汇编/机器语言来实现。
如本文所使用的,术语“机器可读介质”、“计算机可读介质”和“(一个或多个)计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。但是,“机器可读介质”、“计算机可读介质”和“(一个或多个)计算机可读介质”不包括瞬态信号(即,它们是“非瞬态的”)。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
Claims (21)
1.一种用于通过计算机网络进行异步数据整合和传输的执行器计算设备,所述执行器计算设备包括至少一个处理器和存储器,所述执行器计算设备被配置为:
从源连续接收多个个体计算机消息;
在队列中累积所述多个个体计算机消息,直到达到至少一个阈值为止;
在达到所述至少一个阈值时,将所述队列中累积的多个个体计算机消息整合到单个批处理消息中;
串行化所述单个批处理消息内的每个个体消息;以及
通过所述计算机网络发送所述单个批处理消息。
2.如权利要求1所述的执行器计算设备,其中所述至少一个阈值包括以下当中的至少一个:i)用于在所述队列内累积所述多个个体计算机消息的时间值,以及ii)在所述队列中累积的个体消息的数值,其中当所述时间值和所述数值中的至少一个被满足时,所述队列关闭并且累积的消息被整合。
3.如权利要求1所述的执行器计算设备,其中所述多个个体计算机消息包括由持卡人发起的对于支付事务的授权请求消息,所述授权请求消息包括用于将持卡人认证为合法持卡人的生物测定数据,并且其中批处理消息被发送到生物测定子处理系统。
4.如权利要求1所述的执行器计算设备,其中所述单个批处理消息被发送到输入适配器,所述输入适配器被配置为将所述单个批处理消息解析为多个个体计算机消息以进行处理。
5.如权利要求1所述的执行器计算设备,其中所述执行器计算设备包括批处理管理器部件和输出适配器部件,所述批处理管理器部件被配置为将所述多个个体计算机消息整合到所述单个批处理消息中,并将所述单个批处理消息发送到所述输出适配器。
6.如权利要求5所述的执行器计算设备,其中所述输出适配器部件被配置为接受整合的消息,将从所述批处理管理器部件接收的整合的消息内的每个个体消息串行化,并且通过所述计算机网络发送串行化的消息。
7.如权利要求3所述的执行器计算设备,其中所述个体计算机消息包括由持卡人使用支付卡向商家发起的对于支付事务的授权请求消息,其中所述授权请求消息包括候选生物测定数据,并且其中所述执行器计算设备被配置为将所述授权请求消息整合到单个批处理消息中,将所述单个批处理消息发送到子处理系统以将所述候选生物测定数据与存储的生物测定数据进行比较,并验证所述持卡人为合法持卡人。
8.一种用于通过计算机网络进行异步数据整合和传输的计算机实现的方法,所述方法使用包括与至少一个存储器设备通信的至少一个处理器的执行器计算设备来执行,所述方法包括:
由所述执行器计算设备从源连续接收多个个体计算机消息;
由所述执行器计算设备在队列中累积所述多个个体计算机消息,直到达到至少一个阈值为止;
由所述执行器计算设备在达到所述至少一个阈值时,将所述队列中累积的多个个体计算机消息整合到单个批处理消息中;
由所述执行器计算设备串行化所述单个批处理消息内的每个个体消息;以及
由所述执行器计算设备通过所述计算机网络发送所述单个批处理消息。
9.如权利要求8所述的方法,其中在队列中累积所述多个个体计算机消息还包括:在所述队列内累积所述多个个体计算机消息,直到达到至少一个阈值为止,其中所述至少一个阈值包括:i)用于在所述队列内累积所述多个个体计算机消息的时间值,以及ii)在所述队列中累积的个体消息的数值,其中当所述时间值和所述数值中的至少一个被满足时,所述队列关闭并且累积的消息被整合。
10.如权利要求8所述的方法,其中所述多个个体计算机消息包括由持卡人发起的对于支付事务的授权请求消息,所述授权请求消息包括用于将持卡人认证为合法持卡人的生物测定数据,并且其中发送所述单个批处理消息还包括:将所述单个批处理消息发送到生物测定子处理系统。
11.如权利要求8所述的方法,其中发送单个批处理消息还包括:向输入适配器发送所述单个批处理消息,所述输入适配器被配置为将所述单个批处理消息解析为多个个体计算机消息以进行处理。
12.如权利要求8所述的方法,其中所述执行器计算设备包括批处理管理器部件和输出适配器部件,并且其中整合所述多个个体计算机消息还包括:由所述批处理管理器部件整合所述多个个体计算机消息并向所述输出适配器发送整合的消息。
13.如权利要求12所述的方法,其中串行化每个个体消息还包括:由所述输出适配器部件接收来自所述批处理管理器部件的整合的消息并且串行化所述整合的消息内的每个个体消息。
14.如权利要求10所述的方法,其中连续接收多个个体计算机消息包括:连续接收由持卡人使用支付卡向商家发起的对于支付事务的授权请求消息,其中所述授权请求消息包括候选生物测定数据,并且其中所述方法还包括:由所述执行器计算设备将所述授权请求消息整合到单个批处理消息中,将所述批处理消息发送到子处理系统以将所述候选生物测定数据与存储的生物测定数据进行比较,并验证所述持卡人为合法持卡人。
15.一种包括用于通过计算机网络进行异步数据整合和传输的计算机可执行指令的非瞬态计算机可读介质,其中当由包括与至少一个存储器设备通信的至少一个处理器的执行器计算设备执行时,所述计算机可执行指令使得所述执行器计算设备:
从源连续接收多个个体计算机消息;
在队列中累积所述多个个体计算机消息,直到达到至少一个阈值为止;
在达到所述至少一个阈值时,将所述队列中累积的多个个体计算机消息整合到单个批处理消息中;
串行化所述单个批处理消息内的每个个体消息;以及
通过所述计算机网络发送所述单个批处理消息。
16.如权利要求15所述的非瞬态计算机可读介质,其中所述至少一个阈值包括以下当中的至少一个:i)用于在所述队列内累积所述多个个体计算机消息的时间值,以及ii)在所述队列中累积的个体消息的数值,并且其中当所述时间值和所述数值中的至少一个被满足时,所述队列关闭并且累积的消息被整合。
17.如权利要求15所述的非瞬态计算机可读介质,其中所述多个个体计算机消息包括由持卡人发起的对于支付事务的授权请求消息,所述授权请求消息包括用于将持卡人认证为合法持卡人的生物测定数据,并且其中批处理消息被发送到生物测定子处理系统。
18.如权利要求15所述的非瞬态计算机可读介质,其中所述单个批处理消息被发送到输入适配器,所述输入适配器被配置为将所述单个批处理消息解析为多个个体计算机消息以进行处理。
19.如权利要求15所述的非瞬态计算机可读介质,其中所述计算机可执行指令还使所述执行器计算设备使用批处理管理器部件将所述多个个体计算机消息整合到所述单个批处理消息中,并将所述单个批处理消息发送到输出适配器部件。
20.如权利要求19所述的非瞬态计算机可读介质,其中所述计算机可执行指令还使所述执行器计算设备接受来自所述批处理管理器部件的单个批处理消息,使用所述输出适配器部件将所述单个批处理消息内的每个个体消息串行化,并通过所述计算机网络发送串行化的消息。
21.如权利要求17所述的非瞬态计算机可读介质,其中所述个体计算机消息包括由持卡人使用支付卡向商家发起的对于支付事务的授权请求消息,其中所述授权请求消息包括候选生物测定数据,并且其中所述计算机可执行指令还使所述执行器计算设备将所述授权请求消息整合到单个批处理消息中,将所述批处理消息发送到子处理系统以将所述候选生物测定数据与存储的生物测定数据进行比较,并验证所述持卡人是合法持卡人。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/624,558 US10628211B2 (en) | 2017-06-15 | 2017-06-15 | Systems and methods for asynchronously consolidating and transmitting data |
US15/624,558 | 2017-06-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109150952A true CN109150952A (zh) | 2019-01-04 |
CN109150952B CN109150952B (zh) | 2022-04-19 |
Family
ID=62705655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810616393.7A Active CN109150952B (zh) | 2017-06-15 | 2018-06-15 | 用于异步整合和发送数据的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10628211B2 (zh) |
CN (1) | CN109150952B (zh) |
WO (1) | WO2018231383A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10459778B1 (en) * | 2018-07-16 | 2019-10-29 | Microsoft Technology Licensing, Llc | Sending messages between threads |
US11288640B2 (en) * | 2019-08-30 | 2022-03-29 | Salesforce.Com, Inc. | Cloud computing platform, method and system having a payments platform for integrating an asynchronous payment gateway service with the cloud computing platform |
JP7124979B2 (ja) * | 2020-01-30 | 2022-08-24 | 日本電気株式会社 | サーバ装置、認証システム、認証方法、プログラム及び方法 |
CN116755637B (zh) * | 2023-08-17 | 2024-02-09 | 深圳华锐分布式技术股份有限公司 | 交易数据存储方法、装置、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156919A1 (en) * | 2005-06-21 | 2007-07-05 | Sunil Potti | Enforcing network service level agreements in a network element |
US20070234369A1 (en) * | 2006-04-03 | 2007-10-04 | Microsoft Corporation | Policy based message aggregation framework |
US20070257103A1 (en) * | 2006-03-02 | 2007-11-08 | Douglas Fisher | Method and system for performing two factor authentication in mail order and telephone order transactions |
CN101263521A (zh) * | 2005-08-01 | 2008-09-10 | 伏特资讯科学公司 | 外包式服务水平协议供应管理系统及方法 |
CN104717158A (zh) * | 2015-03-02 | 2015-06-17 | 中国联合网络通信集团有限公司 | 一种调整带宽调度策略的方法及装置 |
US20150227923A1 (en) * | 2014-02-12 | 2015-08-13 | Mastercard International Incorporated | Biometric solution enabling high throughput fare payments and system access |
CN105247506A (zh) * | 2013-07-26 | 2016-01-13 | 惠普发展公司,有限责任合伙企业 | 服务等级协议分析 |
US20170004020A1 (en) * | 2015-06-30 | 2017-01-05 | Coursera, Inc. | Automated batch application programming interfaces |
US20170147962A1 (en) * | 2015-11-25 | 2017-05-25 | Upstream Works Software Ltd. | Method and system for assigning service requests |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995010805A1 (en) | 1993-10-08 | 1995-04-20 | International Business Machines Corporation | Message transmission across a network |
US7289964B1 (en) | 1999-08-31 | 2007-10-30 | Accenture Llp | System and method for transaction services patterns in a netcentric environment |
WO2001016704A2 (en) | 1999-08-31 | 2001-03-08 | Accenture Llp | System, method, and article of manufacture for a request sorter in a transaction services patterns environment |
EP1708097A1 (de) | 2005-03-31 | 2006-10-04 | Ubs Ag | Rechnernetzwerksystem zum Synchronisieren einer zweiten Datenbank mit einer ersten Datenbank sowie Vorgehensweise hierfür |
US20070094336A1 (en) | 2005-10-24 | 2007-04-26 | Microsoft Corporation | Asynchronous server synchronously storing persistent data batches |
US20090241118A1 (en) | 2008-03-20 | 2009-09-24 | American Express Travel Related Services Company, Inc. | System and method for processing interface requests in batch |
US8126791B2 (en) * | 2008-11-14 | 2012-02-28 | Mastercard International Incorporated | Methods and systems for providing a decision making platform |
US20100301114A1 (en) * | 2009-05-26 | 2010-12-02 | Lo Faro Walter F | Method and system for transaction based profiling of customers within a merchant network |
US20110167057A1 (en) * | 2010-01-04 | 2011-07-07 | Accenture Global Services Gmbh | Modularized service level agreement reporting |
EP2534622A4 (en) * | 2010-02-12 | 2015-07-15 | Mastercard International Inc | DEVICE AND METHOD FOR INVOICE PRESENTATION AND PAYMENT |
US8341134B2 (en) | 2010-12-10 | 2012-12-25 | International Business Machines Corporation | Asynchronous deletion of a range of messages processed by a parallel database replication apply process |
US20130339473A1 (en) | 2012-06-15 | 2013-12-19 | Zynga Inc. | Real time analytics via stream processing |
US9613183B2 (en) * | 2013-02-11 | 2017-04-04 | Datavi, LLC | Post-authorization transaction bundling control |
US9396730B2 (en) | 2013-09-30 | 2016-07-19 | Bank Of America Corporation | Customer identification through voice biometrics |
US20150332331A1 (en) * | 2014-05-13 | 2015-11-19 | Pubmatic, Inc. | Intelligent ad auction and sla compliance techniques |
US10127301B2 (en) * | 2014-09-26 | 2018-11-13 | Oracle International Corporation | Method and system for implementing efficient classification and exploration of data |
US9942203B2 (en) | 2015-03-30 | 2018-04-10 | International Business Machines Corporation | Enhanced security when sending asynchronous messages |
US9634962B2 (en) | 2015-04-14 | 2017-04-25 | International Business Machines Corporation | Pre-staging messages at a remote location |
US10489725B2 (en) * | 2016-07-18 | 2019-11-26 | Aetna Inc. | Systems and methods for controlling business processes through information technology operational controls |
-
2017
- 2017-06-15 US US15/624,558 patent/US10628211B2/en active Active
-
2018
- 2018-05-10 WO PCT/US2018/031989 patent/WO2018231383A1/en active Application Filing
- 2018-06-15 CN CN201810616393.7A patent/CN109150952B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156919A1 (en) * | 2005-06-21 | 2007-07-05 | Sunil Potti | Enforcing network service level agreements in a network element |
CN101263521A (zh) * | 2005-08-01 | 2008-09-10 | 伏特资讯科学公司 | 外包式服务水平协议供应管理系统及方法 |
US20070257103A1 (en) * | 2006-03-02 | 2007-11-08 | Douglas Fisher | Method and system for performing two factor authentication in mail order and telephone order transactions |
US20070234369A1 (en) * | 2006-04-03 | 2007-10-04 | Microsoft Corporation | Policy based message aggregation framework |
CN105247506A (zh) * | 2013-07-26 | 2016-01-13 | 惠普发展公司,有限责任合伙企业 | 服务等级协议分析 |
US20150227923A1 (en) * | 2014-02-12 | 2015-08-13 | Mastercard International Incorporated | Biometric solution enabling high throughput fare payments and system access |
CN104717158A (zh) * | 2015-03-02 | 2015-06-17 | 中国联合网络通信集团有限公司 | 一种调整带宽调度策略的方法及装置 |
US20170004020A1 (en) * | 2015-06-30 | 2017-01-05 | Coursera, Inc. | Automated batch application programming interfaces |
US20170147962A1 (en) * | 2015-11-25 | 2017-05-25 | Upstream Works Software Ltd. | Method and system for assigning service requests |
Non-Patent Citations (2)
Title |
---|
ANONYMOUS: "Intercommunication", 《INTERCOMMUNICATION》 * |
PETERPOTKAY: "MQSeries.net Forum Index » General IBM MQ Support » Batch size", 《MQSERIES.NET :: VIEW TOPIC - BATCH SIZE》 * |
Also Published As
Publication number | Publication date |
---|---|
US10628211B2 (en) | 2020-04-21 |
CN109150952B (zh) | 2022-04-19 |
WO2018231383A1 (en) | 2018-12-20 |
US20180365049A1 (en) | 2018-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8738451B2 (en) | System, program product, and method for debit card and checking account autodraw | |
US8788382B2 (en) | Systems and methods for automatic migration of a consumer between financial accounts | |
US8666886B2 (en) | System, program product, and method for debit card and checking account autodraw | |
US20150100442A1 (en) | Systems and Methods for Providing Enhanced Point-Of-Sale Services | |
CN109313766A (zh) | 用于预算、金融账户警报管理、补救动作控制和欺诈监控的系统和方法 | |
US20150363785A1 (en) | Systems and methods for consumer authentication using behavioral biometrics | |
US20090094124A1 (en) | Real-time point-of-sale change-of-address processing | |
US20070038560A1 (en) | Transaction payment system and processing | |
US20150100443A1 (en) | Systems and Methods for Providing Enhanced Point-Of-Sale Services Involving Multiple Financial Entities | |
US20100258620A1 (en) | Methods and systems for linking multiple accounts | |
US20190122218A1 (en) | Methods and systems for reducing network traffic associated with fraudulent transactions | |
CN109150952A (zh) | 用于异步整合和发送数据的系统和方法 | |
US10740748B2 (en) | System for improving card on file transactions | |
US10565645B1 (en) | Systems and methods for operating a math-based currency exchange | |
EP1769432A2 (en) | Real-time point-of-sale change-of-address processing | |
US20180060839A1 (en) | Systems and methods for predicting chargeback stages | |
US20240037513A1 (en) | Payment processing method and apparatus using an intermediary platform | |
US20130339237A1 (en) | Methods and systems for investigating fraudulent transactions | |
US8832120B2 (en) | Methods and systems for analyzing weirdness of variables | |
US7725391B1 (en) | Savings system based on time of transaction | |
KR20240027410A (ko) | 외환 거래 시스템 및 방법 | |
US10290051B1 (en) | Savings system based on cent portion of transaction amount |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |