CN111226207A - 自愈实时数据处理 - Google Patents
自愈实时数据处理 Download PDFInfo
- Publication number
- CN111226207A CN111226207A CN201780096038.5A CN201780096038A CN111226207A CN 111226207 A CN111226207 A CN 111226207A CN 201780096038 A CN201780096038 A CN 201780096038A CN 111226207 A CN111226207 A CN 111226207A
- Authority
- CN
- China
- Prior art keywords
- data
- time
- time constraint
- event data
- processing
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 212
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000015654 memory Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 42
- 238000004891 communication Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003090 exacerbative effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2372—Updates performed during offline database operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1865—Transactional file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本文描述用于实时处理传入数据的方法和***。输入的数据被实时处理以生成数据记录,这些数据记录可以随着时间而改进(例如,通过自动校正记录中的不准确数据)。在一些实施例中,当接收到数据时,最初在第一时间约束下对接收到的数据执行实时处理,以产生用于数据记录的第一数据。随后在第二时间约束下对接收到的数据执行一个或多个非实时处理,以产生用于数据记录的第二数据。第二数据可用于更新数据记录,例如,以校正由对接收到的数据的实时处理引起的任何误差。优选地,第二时间约束比第一时间约束更长。
Description
技术领域
本说明书总体涉及对数据的实时处理以生成数据记录以供存储,并且更具体地,在各种实施例中涉及提供自动校正数据记录中的误差的处理机制。
背景技术
企业服务器通常需要每天处理与数亿事件(如登录尝试、支付交易等)相关的数据。通常要求实时(例如,具有短延迟要求,例如小于1秒)处理事件数据,以便服务器可以通过依赖准确表示当前条件的数据来进行操作和/或作出反应。由于严格的时间要求、高处理负载和各种其他原因(如数据包丢失、实时处理的数据库性能不稳定、短延迟要求内无法解决的数据写入冲突、数据损坏等),典型的企业服务器通常无法实时处理一个或多个事件,作为结果,产生的数据记录的质量受到影响。进一步加剧这个问题的是,如果企业服务器的实时处理应用崩溃或者在实时处理事件数据时数据存储耗尽内存,则一部分数据可能会丢失并变得不可恢复。因此,需要改进的实时数据处理***和方法。
发明内容
本发明描述了用于实时处理传入数据以生成数据记录并随时间自动提高生成的数据记录的质量的方法和***。在一些实施例中,当接收到数据时,最初在第一时间约束下对接收到的数据执行实时处理以产生用于数据记录的第一数据。随后,可以在第二时间约束下对接收到的数据执行一个或多个非实时处理,以产生用于数据记录的第二数据。第二数据可用于更新数据记录,例如,以校正由对接收到的数据的实时处理引起的任何误差。在各种情况下,第二时间约束比第一时间约束更长(例如更宽松)。
用于实时处理的数据可以是任何类型的数据,包括与一个或多个事件相关联的事件数据。可能需要企业服务器实时处理的事件数据的示例包括登录尝试数据和交易数据,例如支付交易数据。这些类型的数据由于其对时间敏感的性质而可能需要实时处理,因为由企业服务器执行的后续操作可能取决于先前发生的事件。注意,在各种实施例中,“实时”处理通常可指对数据进行快速处理,以满足服务水平协议(SLA)或其他指定的短期时间约束,在各种实施例中,其可为毫秒或秒量级(例如,1ms、5ms、10ms或1s、5s、10s)。
根据本发明的各种实施例,通过处理接收到的事件数据而生成的数据可以存储在数据结构中,该数据结构使得非实时处理能够校正所生成的数据中的任何数据误差。这种数据结构的一个示例是滑动窗口数据结构。滑动窗口数据结构包括一个或多个数据桶(bucket)。每个数据桶包括多个时隙,其中每个时隙对应于不同的时间帧。在这些实施例中的一些中,与一个或多个事件相关联的接收到的事件数据包括时间戳,该时间戳指示一个或多个事件是何时发生的。当接收到事件数据时,根据本公开的各种实施例的实时处理从事件数据导出数据值,并更新与事件数据的时间戳相对应的时隙中的数据。由于实时处理必须在紧张的时间约束下处理事件数据,因此正在更新的时隙通常对应于包括当前时间的时间帧。实时处理必须处理事件数据的紧张的时间约束可能导致不准确的数据被写入(或更新)到时隙中。
因此,相同的事件数据也可以由一个或多个非实时处理在更宽松(更长)的时间约束下进行处理。在一些实施例中,一个或多个非实时处理执行与实时处理基本相同的操作。由于时间约束较长,在各实施例中,由处理事件数据的非实时处理生成的数据具有比由实时处理生成的数据更高的质量。在一些实施例中,由非实时处理生成的数据可用于更新(例如,校正)滑动窗口数据结构中相应时隙中的数据值。在一些实施例中,非实时处理可在更新和/或校正时隙中的数据值之前等待时隙中的数据值到期(mature)。当数据值由于时隙的相应时间帧相对于当前时间超出了紧张的时间约束而不再可以被实时处理更新时,时隙中的数据值将到期。因此,更新和/或校正数据值的非实时处理确保即使由实时处理生成的初始数据值可能不准确,但误差被非实时处理校正。因此,数据记录的质量随着时间而提高。
附图说明
图1是示出根据本公开实施例的用于自校正从传入数据的实时处理生成的数据记录的***的框图;
图2是示出根据本公开实施例的用于自校正从传入数据的实时处理生成的数据记录的方法的流程图;
图3示出了根据本公开实施例的用于对由传输数据的实时处理生成的数据记录执行自校正的***的示例性数据流;并且
图4A至图4F示出了根据本公开实施例的在不同时间帧处的滑动窗口数据结构内的事件数据的快照。
图5是用于实现根据本发明实施例的设备的***的框图。
通过参考下面的详细描述,本公开的实施例及其优点将被最好地理解。应理解,类似的附图标记用于标识附图中的一个或多个中所示的类似元件,其中附图所示是为了说明本公开的实施例,而不是为了对其进行限制。
具体实施方式
本公开描述了用于实时处理传入数据以生成数据记录并且随时间自动提高所生成的数据记录的质量的方法和***。如上所述,当在短延迟要求下实时处理大量数据时,由于各种技术缺陷,产生的数据记录的质量可能会受到影响。所公开的方法和***提供了自校正机制,该自校正机制例如通过在不妨碍实时数据处理的操作的情况下自动校正记录中的不准确数据,来随时间自动提高生成的数据记录的质量。因此,所公开的方法和***有利地提高了生成的数据记录的质量,而不降低对传入数据的实时处理操作的性能。
在一些实施例中,当接收到数据(例如,事件数据)时,最初在第一时间约束(例如,一秒、几秒等)下对接收到的数据执行实时处理以产生用于数据记录的第一数据。随后可以在第二时间约束(例如,5分钟、15分钟等)下对接收到的数据执行一个或多个非实时处理,以产生用于数据记录的第二数据。第二数据可用于更新数据记录,例如,以校正由对接收到的数据的实时处理引起的任何误差。在各种情况下,第二时间约束比第一时间约束更长(例如,更宽松)。
用于实时处理的数据可以是任何类型的数据,包括与一个或多个事件相关联的事件数据。可能需要企业服务器实时处理的事件数据的示例包括与关于一个或多个用户帐户的交易动作(例如,对该一个或多个用户帐户执行的交易动作)相关联的数据,例如与使用用户帐户的登录尝试相关联的数据,与使用用户帐户进行的支付交易相关联的数据,与使用用户帐户进行的资金转移交易相关联的数据,与使用用户帐户购买商品或服务相关联的数据。这些类型的数据由于其对时间敏感的性质而可能需要实时处理(例如,需要诸如几秒或几毫秒的非常短的延迟),因为企业服务器执行的后续操作可能取决于先前发生的事件(例如,在该后续操作前一秒或前几秒发生的事件)。注意,在各种实施例中,“实时”处理通常可指对数据进行快速处理以满足服务水平协议(SLA)或其他指定的短期时间约束,在各种实施例中,其可以为约几毫秒或几秒(例如1秒、5秒、10秒)。例如,企业服务器可以实现在连续五次登录尝试失败后锁定用户帐户的策略。在此示例中,是否授予对用户帐户的访问权限可能取决于在当前登录尝试之前已发生了多少次连续的失败登录尝试。
根据本发明的各种实施例,通过处理接收到的事件数据而生成的数据可以存储在数据结构中,该数据结构使得非实时处理能够校正所生成的数据中的任何数据误差。这样的数据结构的示例是滑动窗口数据结构。滑动窗口数据结构包括一个或多个数据桶。每个数据桶包括多个时隙,其中每个时隙对应于不同的时间帧。在这些实施例中的一些实施例中,与一个或多个事件相关联的接收到的事件数据包括时间戳,该时间戳指示该一个或多个事件是何时发生的。当接收到事件数据时,根据本公开各实施例的实时处理从事件数据中导出数据值并更新对应于该事件数据的时间戳的时隙中的数据。在一些实施例中,更新可以包括用所导出的数据值替换时隙中的现有数据。在其他实施例中,更新数据可以包括为接收到的事件数据创建新的数据记录,并将所导出的数据值***新创建的数据记录的时隙中。由于实时处理必须在紧张的时间约束下(例如,在几秒钟内)处理事件数据,因此正在更新的时隙通常对应于包括当前时间的时间帧。如上所述,紧张的时间约束(实时处理必须在该时间约束下处理事件数据)可导致不准确的数据被写入(或更新)到时隙中。例如,由于在紧张的时间约束内处理大量的时间数据的处理能力不足、无法在紧张的时间约束内解决的数据写入冲突、数据存储不稳定性、数据损坏、或任何其他技术缺点,一些事件数据可能无法被处理和/或数据可能无法在时隙中更新。
因此,设想同一事件数据还可以由一个或多个非实时处理在更宽松(更长)的时间约束下进行处理。在一些实施例中,一个或多个非实时处理执行与实时处理基本相同的操作。由于较长的时间限制,在各实施例中,由处理事件数据的非实时处理生成的数据具有比由实时处理生成的数据更高的质量(例如,更准确)。在一些实施例中,由非实时处理生成的数据可用于更新(例如,校正)滑动窗口数据结构中相应时隙中的数据值。在一些实施例中,非实时处理可在更新和/或校正时隙中的数据值之前等待时隙中的数据值到期。当数据值由于时隙的相应时间帧相对于当前时间超出了紧张的时间约束而不再可以被实时处理更新时,时隙中的数据值到期。因此,更新和/或校正数据值的非实时处理确保了即使由实时处理生成的初始数据值可能不准确,但误差被非实时处理校正。因此,数据记录的质量随着时间的过去而提高。
图1示出了基于网络的***100的框图的一个实施例,该***100适于对由通过网络160接收的数据(例如,事件数据)的实时处理生成的数据记录执行自校正。如图所示,***100可以包括或实现多个服务器和/或软件组件,这些服务器和/或软件组件操作来执行根据所描述的实施例的各种方法。示例***器可以包括例如操作服务器操作***(例如OS、OS、OS或其他合适的基于服务器的操作***)的独立服务器和企业级服务器。可以理解,图1所示的服务器可以以其他方式部署,并且对于给定的实现方式,由这样的服务器执行的操作和/或提供的服务可以被组合或分离,并且可以由更多或更少的服务器执行。一个或多个服务器可以由相同或不同的实体操作和/或维护。
如图1所示,***100包括通过网络160通信的用户设备112(例如,智能手机、台式计算机、膝上型计算机、平板电脑等)、商家服务器122和服务提供商服务器102(例如,网络服务器设备)。在一个实施例中,网络160可以被实现为单个网络或多个网络的组合。例如,在各实施例中,网络160可以包括互联网和/或一个或多个内联网、陆地线网络、无线网络和/或其他适当类型的通信网络。在另一示例中,网络160可包括适于与诸如互联网之类的其它通信网络通信的无线电信网络(例如,蜂窝电话网络)。
在一个实施例中,用户设备120可被用户用于通过网络160与商家服务器122和/或服务提供商服务器102交互。例如,用户可以使用用户设备112登录到用户帐户以通过服务提供商服务器102进行帐户服务或进行金融交易(例如,帐户转移或支付)。类似地,与商家服务器122相关联的商家可以使用商家服务器122登录商家账户,以通过服务提供商服务器102进行账户服务或金融交易(例如,支付交易)。在各种实施例中,可以使用配置用于通过网络160进行有线和/或无线通信的硬件和/或软件的任何适当组合来实现用户设备112。在各实现方式中,用户设备112可以包括无线蜂窝电话、可穿戴计算设备、PC、膝上型计算机等中的至少一个。
在一个实施例中,用户设备112包括用户接口应用114,用户可以利用该用户接口应用114经由网络160通过服务提供商服务器102进行交易(例如,购物、购买、竞价等)。在一个方面中,购买费用可以通过用户接口应用114直接和/或自动从与用户相关的账户中借记。
在一个实现方式中,用户接口应用114包括软件程序,例如图形用户接口(GUI),该软件程序可由被配置为经由网络160与服务提供商服务器102接口连接和通信的处理器执行。在另一实现方式中,用户接口应用114包括浏览器模块,该浏览器模块提供网络接口以浏览网络160上可获得的信息。例如,用户接口应用114可以部分地实现为网络浏览器,以查看网络160上可获得的信息。
在各实施例中,用户设备112可以包括在本公开的一个或多个实施例中可能需要的其他应用116,以向用户提供可用的附加特征。在一个示例中,这样的其他应用116可以包括用于实现客户端安全特性的安全应用、用于通过网络160与适当的应用程序编程接口(API)接口连接的编程客户端应用、和/或各种其他类型的公知程序和/或软件应用。在其它示例中,其它应用116可以与用户接口应用114接口连接以提高效率和便利性。
在一个实施例中,用户设备112可包括至少一个用户标识符118,其可被例如实现为操作***注册表条目、与用户接口应用114相关联的cookie、与用户设备112的硬件相关联的标识符(例如,媒体控制访问(MAC)地址)、或各种其他适当的标识符。用户标识符118可以包括与用户设备112的用户相关的一个或多个属性,例如与用户相关的个人信息(例如,一个或多个用户名、密码、照片图像、生物特征ID、地址、电话号码、社会保险号码等)以及银行信息和/或资金源(例如,一个或多个银行机构、***发行人、用户账号、安全数据和信息等)。在各种实现方式中,用户标识符118可以与用户登录请求一起经由网络160传递给服务提供商服务器102,并且服务提供商服务器102可以使用用户标识符118将用户与由服务提供商服务器102维护的特定用户帐户相关联。
在各种实现方式中,用户能够将数据和信息输入到用户设备112的输入组件(例如键盘)中,以提供用户信息和交易请求(例如,资金转移请求)。用户信息可以包括用户标识信息。
在各种实施例中,用户设备112包括定位组件120,该定位组件120被配置为确定、跟踪、监测和/或提供用户设备112的即时地理位置。在一个实现方式中,地理位置可以包括GPS坐标、邮政编码信息、区号信息、街道地址信息、和/或各种其他公知类型的位置信息。在一个示例中,位置信息可由用户通过用户输入组件(例如键盘、触摸显示器和/或语音识别麦克风)直接输入到用户设备112中。在另一示例中,位置信息可由用户设备112通过使用全球定位***(GPS)和/或辅助GPS(A-GPS)的内部或外部监测组件自动获取和/或提供,其中全球定位***(GPS)使用基于卫星的定位,而辅助GPS(A-GPS)使用信号发射塔信息提高基于GPS的定位的可靠性和准确性。在其他实施例中,可以在不使用GPS的情况下自动获取位置信息。在一些情况下,使用小区信号或无线信号。例如,可以通过在诸如信标之类的位置处使用用户设备112通过签入(check-in)设备进行签入来获得位置信息。这有助于节约电池寿命,并允许更好的室内定位(其中GPS通常不起作用)。
虽然在图1中仅示出了一个用户设备112,但也设想了一个或多个用户设备(各自类似于用户设备112)可以经由***100内的网络160与服务提供商服务器102通信地耦合。
在各种实施例中,商家服务器122可由业务实体(或在某些情况下,由代表业务实体处理交易的业务实体的伙伴)维护。业务实体的示例包括商业网站、资源信息网站、公用事业网站、房地产管理网站、社交网站等,这些网站提供供购买的各种商品并处理用于购买的付款。商家服务器122可包括用于标识可购得的商品的商家数据库124,可以使得该商家数据库124可用于用户设备112,以供用户查看和购买。
在一个实施例中,商家服务器122可以包括市场应用126,市场应用126可以被配置为通过网络160向用户设备112的用户接口应用114提供信息。例如,用户设备112的用户可以通过用户接口应用114经由网络160与市场应用124进行交互,以在商家数据库124中搜索和查看可供购买的各商品。
在一个实施例中,商家服务器122可以包括至少一个商家标识符128,商家标识符128可以被包括来作为可供购买的一个或多个商品的一部分,使得例如特定商品与特定商家相关联。在一个实现方式中,商家标识符128可以包括与商家相关的一个或多个属性和/或参数,例如业务和银行信息。商家标识符286可以包括与商家服务器122相关的属性,例如标识信息(例如,序列号、位置地址、GPS坐标、网络识别号等)。
商家还可以使用商家服务器122来通过网络160与服务提供商服务器102通信。例如,在服务提供商向商家提供的各种服务(例如商家的客户与商家自身之间的支付中介)的过程中,商家可以使用商家服务器122与服务提供商服务器102通信。例如,商家服务器122可以使用允许其提供商品销售的应用编程接口(API),其中客户被允许通过服务提供商服务器102进行支付,而用户可以在服务提供商服务器处具有帐户,该账户允许用户使用服务提供商服务器102向商家(该商家允许使用服务提供商的认证、授权和支付服务作为支付中介)进行支付。商家也可以在服务提供商服务器102处具有帐户。虽然在图1中仅示出了一个商家服务器122,但也设想了一个或多个商家服务器(各自类似于商家服务器122)可以经由***100中的网络160与服务提供商服务器102通信地耦合。
在一个实施例中,服务提供商服务器102可由交易处理实体或在线服务提供商维护,其可提供对用户设备112的用户与一个或多个商家之间的金融交易和/或信息交易的处理。因此,服务提供商服务器102包括服务应用108,该服务应用108可适于通过网络160与用户设备112和/或商家服务器122进行交互,以便于用户从一个或多个商家处搜索、选择、购买和/或支付商品。在一个示例中,服务提供商服务器102可由公司、美国加利福尼亚州圣何塞市的和/或一个或多个金融机构、或可在多个位置提供多个销售点设备以促进商家和例如金融机构之间的交易路由的相应的中介提供。
在一个实施例中,服务应用108可以包括支付处理应用(未示出),该支付处理应用用于处理用户和商家之间的金融交易的购买和/或支付。在一个实现方式中,支付处理应用通过验证、交付和结算来帮助解决金融交易。因此,服务应用108结合支付处理应用解决用户与商家之间的债务,其中账户可以以银行业接受的方式直接和/或自动借记和/或贷记货币资金。
在各种实施例中,服务处理应用108还包括数据处理模块104,该数据处理模块104用于处理经由网络160接收的传入数据。如上所述,在向用户和商家提供服务的过程中,可以在服务提供商服务器102处接收传入数据。传入数据可以包括与一个或多个事件相关联的事件数据。例如,当用户通过网络160经由用户设备112登录(或尝试登录)到用户帐户时,在服务提供商服务器102处接收到与登录事件相关联的事件数据。在另一示例中,商家可以使用商家服务器122来请求处理支付,并且在服务提供商服务器102处接收到与支付处理请求相关联的事件数据。传入数据可被序列化,以形成要由服务提供商服务器102处理的数据流。数据处理模块104被配置为随后使用根据本发明的各实施例在本文中所描述的技术来处理传入数据。虽然数据处理模块104被示出为被包括在服务处理应用108中,但是设想了数据处理模块104的一部分或整体可以替代地被实现为服务处理应用108之外的独立组件。
在一个实施例中,服务提供商服务器102可被配置为在账户数据库110中维护一个或多个用户账户和商家账户,其中每个账户可以包括与一个或多个单独的用户(例如,与用户设备112相关联的用户)和商家相关联的账户信息。例如,账户信息可以包括用户和商家的私人金融信息,例如一个或多个账号、密码、***信息、银行信息、使用的数字钱包、或其他类型的金融信息,这些信息可以用于促进用户和商家之间的金融交易。在某些实施例中,账户信息还包括用户购买简档信息,例如与用户相关联的账户资金选项和支付选项、支付信息、收据、以及响应于完成的出资和/或支付交易而收集的其他信息。
可以任何合适的方式编译或确定用户购买简档信息。在一些情况下,当用户首次向服务提供商注册时被要求提供一些信息。这些信息可包括人口统计信息、购买兴趣调查、和/或过去购买的调查。在其他情况下,可以从其他数据库获得信息。在某些情况下,关于用户和购买的产品的信息在用户购物和购买各种商品时被收集。
在一个实现方式中,用户可以具有身份属性,该身份属性存储在服务提供商服务器102处,并且用户可以具有用于向服务提供商服务器102认证或验证身份的凭据。用户属性可以包括个人信息、银行信息和/或资金源。在各种方面中,用户属性可以作为登录、搜索、选择、购买和/或支付请求的一部分传递给服务提供商服务器102,并且服务提供商服务器102可以利用用户属性将用户与服务提供商服务器102维护的一个或多个特定用户帐户相关联。
现在参考图2,其中示出了根据本公开实施例的用于处理数据的过程200。在一些实施例中,过程200可由数据处理模块104执行。如上所述,在向用户和商家或可与服务提供商服务器102交互的任何其他实体提供服务的过程中,服务提供商服务器102可连续地从用户设备112、商家设备122、和/或经由网络160与服务提供商服务器102通信的任何其他设备接收传入数据(框205)。传入数据可以包括与一个或多个事件(例如,与用户帐户相关的交易动作)相关联的事件数据。例如,当用户通过网络160经由用户设备112登录(或尝试登录)到用户帐户时,在服务提供商服务器102处接收到与登录事件相关联的事件数据。在另一示例中,商家可以使用商家服务器122来请求处理支付,并且在服务提供商服务器102处接收到与支付处理请求相关联的事件数据。
来自各种设备的传入数据可以在不同时间被发送到服务提供商服务器102。传入数据可能已经包括时间戳,该时间戳指示相关联的事件是何时发生的。替代地,如果传入数据没有时间戳信息,则服务提供商服务器102可以被配置为向数据附加时间戳,该时间戳指示相关联的事件发生的时间。此外,由于与不同事件相关联的数据可以随时间被连续地接收,服务提供商服务器102可以例如对传入数据进行序列化,以形成要被处理的序列化数据流。
参考图3,其是用于处理事件数据的***300的框图。***300可以由服务提供商服务器102的数据处理模块104实现。如图所示,通过网络接收的来自一个或多个设备的与一个或多个事件相关联的事件数据可以被序列化为事件数据流,并由实时事件发信总线302分发给各个处理。通过该实时事件发信总线,可以将事件数据分发到不同的处理模块(例如实时处理模块304、近实时处理模块306、以及离线批次处理模块306)以处理事件数据。例如,实时处理模块304可以在第一时间约束下处理(框210)事件数据。在一些实施例中,第一时间约束是提供用于处理事件数据的小时间窗口(例如,一秒、几秒等)的紧张约束。在一些实施例中,由于第一时间约束,实时处理模块304可以首先确定接收到的事件数据在第一时间约束下是否已经期满(例如,基于所确定的当前时间,已从事件数据的时间戳所指示的时间过去了第一时间约束所指示的时间段)。换句话说,实时处理模块304确定实时处理模块304处理事件数据是否为时过晚。如果确定事件数据已经期满,则实时处理模块304可以忽略事件数据,并且转为处理后续事件数据。另一方面,如果确定事件数据未期满,则实时处理模块304可以如本文所述地处理该事件数据。
根据本发明的各种实施例,处理与事件相关的事件数据可以包括为与事件相关联的数据记录生成数据,并用所生成的数据来更新数据记录。在一些实施例中,更新数据记录可以包括确定数据库310中是否存在与事件相关联的数据记录。如果数据库310中存在这样的数据记录,则可以检索和更新该数据记录。如果不存在这样的数据记录,则可以为该事件创建新的数据记录,并将所生成的数据***到该新创建的数据记录中。例如,事件可以包括针对特定用户帐户的登录尝试。在该示例中,实时处理模块304可以至少执行为跟踪针对特定用户帐户的登录尝试次数的数据记录生成更新值的操作,例如,通过将现有值增加一。在事件数据与支付交易事件相关的另一示例中,实时处理304可以执行将金额记入接收者的账户的操作(将该金额添加到与接收者的账户相关联的数据记录中的现有金额),从给予者的帐户中借记该金额(从与给予者的帐户相关联的数据记录中的现有金额中减去该金额),将表示接收者的交易数量的数据记录的现有值增加一,和/或将表示给予者的交易数量的数据记录的现有值增加一。实时处理模块304可以对与不同事件或事件类型相关联的事件数据执行不同的数据操作。
如上所述,可以使用作为数据记录的元数据的特定数据结构来实现用于处理事件数据的自校正机制。可用于启用自校正机制的一个示例数据结构是滑动窗口数据结构。滑动窗口数据结构可以包括一个或多个数据桶。每个数据桶包括多个数据时隙,并且对应于不同的时间粒度。例如,用于跟踪针对特定用户帐户的登录尝试次数的数据记录可以包括三个数据桶:每小时数据桶、每日数据桶和每年数据桶。每小时数据桶可以包括60个时隙,每个时隙表示一小时内的不同分钟间隔。每日数据桶可以包括24个时隙,每个时隙表示一天中不同小时间隔。年度数据桶可以包括365个时隙,每个时隙代表一年中不同日间隔。数据桶中每个时隙中的数据值表示根据在相应的时间间隔内发生的一个或多个事件而生成的值。如图3所示,数据记录存储在数据存储装置310中。数据存储装置310可以使用支持滑动窗口数据结构的多种类型的数据库(例如数据库、数据库等)中的一种来实现。存储在数据存储装置310中的数据记录可以被诸如服务处理应用108的其他应用访问和/或消耗。
图4A示出了用于登录尝试数据记录的示例性每日数据桶402的快照。如图所示,每日数据桶402包括许多时隙,例如时隙404、时隙406和时隙408。每个时隙代表一天中的不同小时。例如,时隙404表示小时“11:00至12:00”,时隙406表示小时“12:00至13:00”,时隙408表示小时“13:00至14:00”。具体地,图4A示出了时间11:59的每日数据桶402的快照。如每日数据桶402所示,在11:00至12:00的小时内,对用户帐户进行了两次登录尝试。由于这是11:59时的数据桶402的快照,因此时隙406和时隙408(表示12:00至13:00的小时和13:00至14:00的小时)中的数据值为“0”。
当在服务提供商服务器102处接收到与一个或多个登录事件相关联的事件数据时,事件数据被分发到数据处理模块104,特别地,被经由实时事件发信总线302分发到实时数据处理模块304。实时处理模块304被配置为随后处理传入的事件数据并更新与用户帐户的登录事件相关联的数据记录。特别地,根据本公开的各种实施例的实时处理模块304被配置为更新数据桶(包括登录事件数据记录的每日数据桶402)。
在给定的示例中,分别在12:01、12:10、12:59和13:01接收与用户帐户的四次登录尝试相关的事件数据。响应于接收到与12:01的登录尝试相关的事件数据,实时处理模块304被配置为更新时隙406中的数据值,时隙406对应于12:00-13:00的小时。图4B示出了在实时处理模块304处理了12:01的登录事件之后的12:02的每日数据桶402的快照。如图所示,实时处理模块304已将时隙406中的数据值从“0”更新为“1”。
响应于接收到与12:10的登录尝试相关的事件数据,实时处理模块304被配置为更新时隙406中的数据值,时隙406对应于12:00至13:00的小时。图4C示出了在实时处理模块304处理了12:10的登录事件之后的12:11的每日数据桶402的快照。如图所示,实时处理模块304已将时隙406中的数据值从“1”更新为“2”。
响应于接收到与12:59的登录尝试相关的事件数据,实时处理模块304被配置为更新时隙406中的数据值,时隙406对应于12:00至13:00的小时。图4D示出了在实时处理模块304处理了12:59的登录事件之后的13:00的每日数据桶402的快照。如图所示,实时处理模块304已将时隙406中的数据值从“2”更新为“3”。
响应于接收到与13:01的登录尝试相关的事件数据,实时处理模块304被配置为更新时隙408中的数据值,时隙408对应于13:00至14:00的小时。图4E示出了在实时处理模块304处理了13:01的登录事件之后的13:02的每日数据桶402的快照。如图所示,实时处理模块304已将时隙408中的数据值从“0”更新为“1”。注意,虽然仅示出了每日数据桶402被实时处理模块304更新,但实时处理模块304也可以更新对应于登录尝试数据记录的其他数据桶(例如,每小时数据桶和每年数据桶)。
回到图2,除了在第一时间约束下处理事件数据外,在块中,事件数据还被分发到近实时处理模块306,以在第二时间约束下处理事件数据(块215)。如上所述,第二时间约束可以比第一时间约束更长(例如,更宽松)。例如,近实时处理模块306处理事件数据的延迟要求可以是几分钟(例如,1分钟、5分钟、15分钟等)而不是几秒。应注意,由于时间约束更宽松,由近实时处理模块306产生的数据可以比由实时处理模块304产生的数据更精确(例如,质量更高)。因此,数据处理模块104可以使用由近实时处理模块306产生的数据来更新(例如,重写(overwrite))数据记录,例如,以校正由实时处理模块304引起的任何数据误差。在一些实施例中,由于第二时间约束,近实时处理模块306可以首先确定在第二时间约束下接收到的事件数据是否已经期满(例如,(基于所确定的当前时间)已从事件数据的时间戳所指示的时间过去了第二时间约束所指示的时间段)。换句话说,近实时处理模块306确定近实时处理模块306处理事件数据是否为时过晚。如果确定事件数据已经期满,则近实时处理模块306可以忽略事件数据,并转为处理后续事件数据。另一方面,如果确定事件数据未期满,则近实时处理模块304可以如本文所述地处理该事件数据。
根据本公开的一个实施例,近实时处理模块306对事件数据执行的(一个或多个)操作可以与实时处理模块304执行的(一个或多个)操作基本相同。此外,近实时处理模块306可以与实时处理模块并行地执行事件数据的处理,并且访问与实时处理模块相同的数据记录。因此,近实时处理模块306可以在后台运行并且仅在数据值到期后更新时隙的数据值,以避免与实时处理模块304同时更新同一时隙。在一些实施例中,时隙的数据值是否到期是基于当前时间、对应于该时隙的时间间隔以及第一时间约束来确定的。当实时处理模块304不再更新时隙中的数据值时,数据值到期。在一些实施例中,可以基于当前时间和其他数据处理模块的时间约束来确定时隙的数据值是否到期。例如,如果与实时处理模块304相关联的第一时间约束是5秒,则在时隙期满后5秒(即,当当前时间是时隙的相应时间间隔结束后5秒时),时隙的数据值到期用于近实时处理模块306。回到每日数据桶402,时隙404中的数据值在给定的一天的12:00之后5秒到期用于近实时处理模块306。
在上面给出的示例中,近实时处理模块306可以在12:30完成12:01和12:10的登录事件的处理。然而,由于实时处理模块304仍然可以基于在12:30到13:00之间发生的潜在事件来更新时隙406的数据值(参见图4C),所以近实时处理模块306可以存储所处理的数据的副本(例如,在缓冲区或临时存储装置中)并且等待时隙406中的数据值到期,然后更新时隙406中的数据值。另一方面,由于时隙404中的数据值已经在12:10到期,因此近实时处理模块306可以将时隙404中的数据值与近实时处理模块基于11:00到12:00之间发生的事件而生成的数据进行比较,并用所生成的数据替换(例如,重写)时隙404中的数据值。
在13:02,时隙406的数据值到期用于近实时处理模块306,并且近实时处理模块306此时可以用其基于在12:00到13:00之间发生的事件而生成的数据来更新数据值。如上所述,由于各种原因,实时处理模块304生成的数据可能不准确。例如,由于实时处理模块304开始处理事件数据时,事件数据对于实时处理模块304已经期满,因此可能丢弃了与事件相关联的事件数据。图4F示出了在接近实时处理模块306更新时隙406的数据值之前,每日数据桶402在13:02的另一示例性快照。如图所示,时隙406中的数据值不准确(显示的数据值为“2”,但在12:00到13:00的小时内发生了三次登录尝试),这可能是由于实时处理模块304未能处理在12:00到13:00之间发生的事件中的一个而引起的。此时,近实时处理模块306可以例如经由数据恢复发信总线312将时隙406的数据值更新为“3”。尽管这里未示出,但当相应的数据值到期时,近实时处理模块306还可以更新其他数据桶(例如,每小时数据桶和每年数据桶)中的相应时隙。
已经设想了虽然近实时处理模块306可以产生比由实时处理模块304产生的数据记录更准确(例如,质量更高)的数据记录,但是由于时间限制和/或其他原因,它可能仍然不完全精确。因此,事件数据也可以被分发到离线批次处理模块308以在第三时间约束下进行处理(图2的框220)。第三时间约束比第一时间约束和第二时间约束更长(例如,更宽松)。例如,第三时间限制可以是几天(例如,2天、5天等)。此外,与在一时间段(例如,在几个小时内、一天内等)内发生的事件相关的事件数据可以在被分发到离线批次处理模块308并由离线批次处理模块308处理之前被批量编译。根据本公开的各种实施例,离线批次处理模块308执行的(一个或多个)操作可以与由近实时处理模块306执行的(一个或多个)操作以及实时处理模块304执行的(一个或多个)操作基本相同。离线批次处理模块308可以离线运行,并且在与实时处理模块304和近实时处理模块306分离的过程中运行。离线批次处理模块308与其他在线处理模块304和306分离离线运行的优点之一是,在数据处理模块104的在线数据处理部分崩溃的情况下,离线批次处理模块308仍然可以通过离线处理事件数据来恢复数据。
与近实时处理模块306类似,离线批次处理模块308可以处理事件数据以生成用于相应数据记录的数据值,并且例如经由数据恢复发信总线312用所生成的数据值来更新(例如,重写)数据记录。在一些实施例中,离线批次处理模块308可以在数据桶中的时隙的数据值到期用于离线批次处理模块308时(即,当数据值由于时隙的相应时间帧相对于当前时间超过第二时间约束而不再可以被近实时处理模块306更新时)更新数据值。例如,如果与近实时处理模块306相关联的第二时间约束是5分钟,则在时隙期满后5分钟(即,当当前时间是时隙的相应时间间隔结束后5分钟时),时隙的数据值到期用于离线批次处理模块308。回到每日数据桶402,时隙404中的数据值在给定的一天的12:00之后5分钟到期用于离线批次处理模块308。由近实时处理模块306和离线批次处理模块308更新(例如,重写)后得到的数据记录具有比仅由实时处理模块304准备的数据记录更准确的数据(例如,更高质量的数据)。虽然在上面给出的示例中仅示出了与登录尝试相关联的数据记录的数据值的生成和校正,但是还可以应用类似的过程来生成和/或校正其他数据记录(例如,支付交易数据记录、其他用户帐户的登录尝试)的数据值,以实现相同的益处。然后,数据记录可以被诸如服务处理应用108之类的其他应用访问和/或消耗。此外,根据本公开的各种实施例的数据处理模块104可以通过组合数据桶的时隙中的数据值来生成数据记录的总计数据值,然后向数据消费者提供总计数据值。例如,基于数据消费者的请求,数据处理模块104可以基于存储在数据桶的时隙中的数据值来计算一小时内、一天内、一年内等的总登录尝试次数。可以基于数据桶的时隙中的更新的数据值来动态地生成总计数据值,使得虽然在给定时间处生成的总计数据值可能不准确,但可以在由近实时处理模块306和/或离线批次处理模块308更新(例如,校正)数据桶的时隙中的数据值之后,在稍后的时间生成更准确的总计数据值。
图5是适于实现本公开的一个或多个实施例的计算机***500的框图,计算机***500包括用户设备112、商家服务器122和服务提供商服务器102。在各种实现方式中,用户设备112可以包括适于无线通信的移动蜂窝电话、个人计算机(PC)、膝上型计算机、可穿戴计算设备等,并且商家服务器122和服务提供商服务器102中的每个可以包括诸如服务器之类的网络计算设备。因此,应理解,设备112、122和102可以以下方式实现为计算机***500。
计算机***500包括总线512或其他通信机制,用于在计算机***500的各个组件之间传送信息数据、信号和信息。组件包括输入/输出(I/O)组件504,该输入/输出(I/O)组件504处理用户(即发送者、接收者、服务提供者)动作,例如从小键盘/键盘选择键、选择一个或多个按钮或链路等,并向总线512发送相应的信号。I/O组件504还可以包括输出组件,例如显示器502和光标控制508(例如键盘、小键盘、鼠标等)。显示器502可被配置为呈现用于登录到用户帐户的登录页或用于从与商家服务器122相关联的商家购买商品的结账页。还可以包括可选的音频输入/输出组件506,以允许用户使用语音来输入信息(通过转换音频信号)。音频I/O组件506可以允许用户听到音频。收发器或网络接口520经由网络522在计算机***500和其它设备(诸如另一用户设备、商家服务器或服务提供商服务器等)之间发送和接收信号。在一个实施例中,传输是无线的,但其他传输介质和方法也可以是合适的。处理器514(可以是微控制器、数字信号处理器(DSP)或其它处理组件)处理这些各种信号,例如用于在计算机***500上显示或经由通信链路524传送到其它设备。处理器514还可以控制信息(例如cookie或IP地址)到其它设备的传输。
计算机***500的组件还包括***存储器组件510(例如RAM)、静态存储组件516(例如ROM)和/或磁盘驱动器518(例如固态驱动器、硬盘驱动器)。计算机***500通过执行包括在***存储器组件510中的一个或多个指令序列来由处理器514和其他组件执行特定操作。例如,处理器514可以接收来自商家的购买请求,处理该购买请求,评估用户的购买简档,提高用户的转换率,识别用户的数字钱包,确定哪些数字钱包最适合用户并且应该被推荐,并向商家提供推荐的数字钱包。逻辑可以被编码在计算机可读介质中,该计算机可读介质可以指参与向处理器514提供指令以供执行的任何介质。这种介质可以有多种形式,包括但不限于非易失性介质、易失性介质和传输介质。在各种实现方式中,非易失性介质包括光盘或磁盘,易失性介质包括动态存储器,例如***存储器组件510,并且传输介质包括同轴电缆、铜线和光纤,包括含有总线512的线。在一个实施例中,逻辑被编码在非暂态计算机可读介质中。在一个示例中,传输介质可以采用声波或光波的形式,例如在无线电波、光学和红外数据通信期间产生的声波或光波。
一些常见的计算机可读介质包括,例如,软盘、软磁盘、硬盘、磁带、任何其他磁性介质、CD-ROM、任何其他光学介质、穿孔卡、纸带、任何其他具有孔图案的物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储芯片或磁带盒,或电脑适合阅读的任何其他介质。
在本公开的各种实施例中,可以由计算机***400执行用于实施本公开的指令序列的执行。在本公开的各其它实施例中,通过通信链路524耦合到网络的多个计算机***400(例如,LAN、WLAN、PTSN、和/或各种其它有线或无线网络,包括电信、移动和蜂窝电话网络)可以执行指令序列,以相互协调来实施本公开。
根据本公开,应理解,已根据一个或多个实施例描述了各种方法和***,以促进数字钱包交易。
在适用的情况下,本公开提供的各种实施例可以使用硬件、软件或硬件和软件的组合来实现。此外,在适用的情况下,本文所述的各种硬件组件和/或软件组件可以组合成包括软件、硬件和/或两者的复合组件,而不脱离本公开的精神。在适用的情况下,本文所述的各种硬件组件和/或软件组件可以被分离为包括软件、硬件或两者的子组件,而不脱离本公开的范围。此外,在适用的情况下,设想了软件组件可以实现为硬件组件,反之亦然。
根据本公开的软件(例如程序代码和/或数据)可以存储在一个或多个计算机可读介质上。还设想了,本文中标识的软件可以使用一个或多个通用或专用计算机和/或计算机***、联网和/或以其他方式来实现。在适用的情况下,本文描述的各种步骤的顺序可以改变,组合成复合步骤,和/或分离成子步骤来提供本文描述的特征。
本文描述的各种特征和步骤可以实现为包括存储本文描述的各种信息的一个或多个存储器以及耦合到一个或多个存储器和网络的一个或多个处理器的***,其中,一个或多个处理器可操作用于执行本文描述的步骤,其作为非暂态机器可读介质,包括多个机器可读指令,当该多个机器可读指令由一个或多个处理器执行时适于使得一个或多个处理器执行包括本文所描述的步骤的方法,以及由一个或多个设备执行的方法,例如硬件处理器、用户设备、服务器和本文描述的其他设备。
Claims (20)
1.一种用于处理事件数据的***,包括:
非暂态存储器;和
一个或多个硬件处理器,所述一个或多个硬件处理器耦合到所述非暂态存储器,并被配置为从所述非暂态存储器中读取指令以使得所述***执行操作,所述操作包括:
接收与一个或多个交易动作相关联的事件数据,所述一个或多个交易动作与用户账户相关;
在第一时间约束下处理所述事件数据,以更新与所述一个或多个事件相关联的数据记录;
基于当前时间和所述第一时间约束来确定所述数据记录在所述第一时间约束下是否到期;以及
响应于确定所述数据记录在所述第一时间约束下到期,在第二时间约束下处理所述事件数据以进一步更新所述数据记录,其中,所述第二时间约束比所述第一时间约束更长。
2.根据权利要求1所述的***,其中,在所述第一时间约束下处理所述事件数据以更新所述数据记录包括:更改现有数据记录中的值或为接收到的事件数据创建新的数据记录。
3.根据权利要求1所述的***,其中,所述事件数据包括时间戳,所述时间戳表示所述一个或多个交易动作发生的时间,其中,在所述第一时间约束下处理所述事件数据包括:
基于所述当前时间、所述事件数据的时间戳和所述第一时间约束来确定所述事件数据在第一时间约束下是否期满;
响应于所述确定事件数据未期满,更新所述数据记录;以及
响应于所述确定事件数据已期满,忽略所述事件数据。
4.根据权利要求1所述的***,其中,所述事件数据包括时间戳,所述时间戳表示所述一个或多个交易动作发生的时间,其中,所述数据记录包括对应于不同时间间隔的多个数据值时隙。
5.根据权利要求4所述的***,其中,在所述第一时间约束下处理所述事件数据包括:
基于所述一个或多个事件的时间戳,从所述多个数据值时隙中确定对应于所述一个或多个事件的第一数据值时隙;以及
更新所述第一数据值时隙的数据值。
6.根据权利要求4所述的***,其中,在所述第二时间约束下处理所述事件数据包括:
基于所述一个或多个事件的时间戳,从所述多个数据值时隙中确定对应于所述一个或多个事件的第一数据值时隙;以及
更新所述第一数据值时隙的数据值。
7.根据权利要求6所述的***,其中,确定所述数据记录在所述第一时间约束下是否到期包括:
基于对应于所述第一数据值时隙的时间间隔和所述第一时间约束来为所述第一数据值时隙确定到期时间;以及
确定所述当前时间何时已超过所述到期时间。
8.根据权利要求4所述的***,其中,所述操作还包括基于所述多个数据值时隙中的数据值为所述数据记录生成总计数据值。
9.根据权利要求1所述的***,其中,所述操作还包括:在所述第二时间约束下处理事件数据之后,在第三时间约束下处理所述事件数据以进一步更新所述数据记录,其中,所述第三时间约束比所述第二时间约束更长。
10.根据权利要求9所述的***,其中,在所述第一时间约束下处理所述事件数据是在在线环境中执行的,并且在所述第三时间约束下处理所述事件数据是在离线环境中执行的。
11.根据权利要求1所述的***,其中,所述一个或多个事件包括登录事件或交易事件中的至少一个。
12.一种用于处理事件数据的方法,包括:
由一个或多个硬件处理器接收与一个或多个事件相关联的事件数据;
由所述一个或多个硬件处理器在第一时间约束下处理所述事件数据,以更新与所述一个或多个事件相关联的数据记录;以及
在在所述第一时间约束下处理事件数据之后,在第二时间约束下处理所述事件数据以进一步更新所述数据记录,其中,所述第二时间约束比所述第一时间约束更长。
13.根据权利要求12所述的方法,其中,所述一个或多个事件的所述事件数据包括时间戳,所述时间戳表示所述一个或多个事件发生的时间。
14.根据权利要求13所述的方法,其中,所述数据记录包括对应于不同时间间隔的多个数据值时隙。
15.根据权利要求14所述的方法,其中,在第一时间约束下处理所述事件数据包括:
基于所述一个或多个事件的时间戳,从所述多个数据值时隙中确定对应于所述一个或多个事件的第一数据值时隙;以及
更新所述第一数据值时隙的数据值。
16.根据权利要求14所述的方法,其中,在第二时间约束下处理所述事件数据包括:
基于所述一个或多个事件的时间戳,从所述多个数据值时隙中确定对应于所述一个或多个事件的第一数据值时隙;以及
更新所述第一数据值时隙的数据值。
17.一种非暂态机器可读介质,其上存储有机器可读指令,所述机器可读指令可被执行来使得机器执行操作,所述操作包括:
接收与一个或多个事件相关联的事件数据;
在第一时间约束下处理所述事件数据,以更新与所述一个或多个事件相关联的数据记录;以及
在所述第一时间约束下处理事件数据之后,在第二时间约束下处理所述事件数据以进一步更新所述数据记录,其中,所述第二时间约束比所述第一时间约束更长。
18.根据权利要求17所述的非暂态机器可读介质,其中,在所述第一时间约束下处理所述事件数据以更新所述数据记录包括:更改现有数据记录中的值或为接收到的事件数据创建新的数据记录。
19.根据权利要求17所述的非暂态机器可读介质,其中,所述一个或多个事件的事件数据包括时间戳,所述时间戳表示所述一个或多个事件发生的时间,其中,所述数据记录包括对应于不同时间间隔的多个数据值时隙。
20.根据权利要求19所述的非暂态机器可读介质,其中,在所述第一时间约束下处理所述事件数据包括:
基于所述一个或多个事件的时间戳,从所述多个数据值时隙中确定对应于所述一个或多个事件的第一数据值时隙;以及
更新所述第一数据值时隙的数据值。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/098075 WO2019033397A1 (en) | 2017-08-18 | 2017-08-18 | REAL-TIME DATA PROCESSING AT SELF-GENERATION |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111226207A true CN111226207A (zh) | 2020-06-02 |
Family
ID=65362744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780096038.5A Pending CN111226207A (zh) | 2017-08-18 | 2017-08-18 | 自愈实时数据处理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11354295B2 (zh) |
EP (1) | EP3676682A4 (zh) |
CN (1) | CN111226207A (zh) |
WO (1) | WO2019033397A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11768954B2 (en) * | 2020-06-16 | 2023-09-26 | Capital One Services, Llc | System, method and computer-accessible medium for capturing data changes |
US20230185941A1 (en) * | 2021-12-14 | 2023-06-15 | International Business Machines Corporation | Multi-partitioned global data system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002039355A1 (en) * | 2000-11-09 | 2002-05-16 | Accenture Llp | Method and system for enhancing a commercial transaction conducted via a communications network |
US20020107777A1 (en) * | 2001-02-06 | 2002-08-08 | Lane Thomas P. | System and method for auctioning goods seized or recovered by local, county, state, or federal law enforcement agencies |
CN101790743A (zh) * | 2007-08-03 | 2010-07-28 | 奥马尔科网络解决方案有限公司 | 处置多功能交易的***及方法 |
CN102804219A (zh) * | 2010-03-19 | 2012-11-28 | 维萨美国公司 | 用基于交易的数据增强搜索数据的***和方法 |
CN103733633A (zh) * | 2011-05-12 | 2014-04-16 | 索林科集团 | 视频分析*** |
CN105612544A (zh) * | 2013-07-17 | 2016-05-25 | 谷歌公司 | 报告非接触交易数据的***、方法和计算机程序产品 |
CN107005599A (zh) * | 2015-07-24 | 2017-08-01 | 谷歌公司 | 改善位置传感器查准率的***和方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5212789A (en) * | 1989-10-12 | 1993-05-18 | Bell Communications Research, Inc. | Method and apparatus for updating application databases used in a distributed transaction processing environment |
US6832187B1 (en) * | 1999-05-10 | 2004-12-14 | Hewlett-Packard Development Company, L.P. | Methods of providing page protection in a digital printing system having multiple output devices |
US6754657B2 (en) * | 2001-08-24 | 2004-06-22 | Microsoft Corporation | Time stamping of database records |
US7233947B2 (en) * | 2003-05-22 | 2007-06-19 | Microsoft Corporation | Timestamping in databases |
US7822721B2 (en) * | 2004-04-15 | 2010-10-26 | Sap Ag | Correction server for large database systems |
WO2007022517A2 (en) * | 2005-08-19 | 2007-02-22 | Gary Durbin | Time-span representation and time chain of events in a relational database |
US20070130215A1 (en) * | 2005-11-22 | 2007-06-07 | Udo Klein | Methods and systems for managing multiple updates to time-constrained data |
US20090144221A1 (en) * | 2007-12-03 | 2009-06-04 | International Business Machines Corporation | Dynamic time-dimension-dependent physical management on diverse media of very large event-recording data-store |
JP5198929B2 (ja) * | 2008-04-25 | 2013-05-15 | 株式会社日立製作所 | ストリームデータ処理方法及び計算機システム |
US8965889B2 (en) * | 2011-09-08 | 2015-02-24 | Oracle International Corporation | Bi-temporal user profiles for information brokering in collaboration systems |
CN102682399A (zh) | 2012-05-27 | 2012-09-19 | 黄洪程 | 一种两段式拼单的电子商务方法 |
US8676851B1 (en) * | 2012-08-30 | 2014-03-18 | Google Inc. | Executing transactions in distributed storage systems |
US10412121B2 (en) * | 2012-11-20 | 2019-09-10 | Genesys Telecommunications Laboratories, Inc. | Distributed aggregation for contact center agent-groups on growing interval |
US9519551B2 (en) * | 2013-03-28 | 2016-12-13 | Microsoft Technology Licensing, Llc | Recovery processing for database in persistent system |
JP6114473B2 (ja) | 2013-06-21 | 2017-04-12 | 株式会社日立製作所 | 時間調整を使用したストリームデータ処理方法 |
CN104239019B (zh) | 2013-06-21 | 2017-11-03 | 华为技术有限公司 | 搜索请求生成方法和*** |
US9336265B2 (en) * | 2013-08-06 | 2016-05-10 | Wal-Mart Stores, Inc. | System and method for processing web service transactions using timestamp data |
US10509527B2 (en) * | 2013-09-13 | 2019-12-17 | Box, Inc. | Systems and methods for configuring event-based automation in cloud-based collaboration platforms |
GB2523357A (en) * | 2014-02-21 | 2015-08-26 | Ibm | Shared resource updating method and system |
US9710529B2 (en) * | 2014-06-02 | 2017-07-18 | Accenture Global Services Limited | Data construction for extract, transform and load operations for a database |
US10452641B1 (en) * | 2015-06-30 | 2019-10-22 | EMC IP Holding Company LLC | Snapshot conscious internal file data modification for network-attached storage |
US9858310B2 (en) * | 2015-09-14 | 2018-01-02 | Sap Se | Maintaining in-memory database consistency by parallelizing persistent data and log entries |
US10191768B2 (en) | 2015-09-16 | 2019-01-29 | Salesforce.Com, Inc. | Providing strong ordering in multi-stage streaming processing |
US10768920B2 (en) * | 2016-06-15 | 2020-09-08 | Microsoft Technology Licensing, Llc | Update coordination in a multi-tenant cloud computing environment |
US10915519B2 (en) * | 2016-09-09 | 2021-02-09 | Salesforce.Com, Inc. | Processing offline updates to records of a database system |
US10515063B1 (en) * | 2016-12-19 | 2019-12-24 | Cboe Exchange, Inc. | System and method for real-time data acquisition and display |
US11334552B2 (en) * | 2017-07-31 | 2022-05-17 | Palantir Technologies Inc. | Lightweight redundancy tool for performing transactions |
-
2017
- 2017-08-18 EP EP17921511.6A patent/EP3676682A4/en not_active Withdrawn
- 2017-08-18 US US15/553,952 patent/US11354295B2/en active Active
- 2017-08-18 WO PCT/CN2017/098075 patent/WO2019033397A1/en unknown
- 2017-08-18 CN CN201780096038.5A patent/CN111226207A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002039355A1 (en) * | 2000-11-09 | 2002-05-16 | Accenture Llp | Method and system for enhancing a commercial transaction conducted via a communications network |
US20020107777A1 (en) * | 2001-02-06 | 2002-08-08 | Lane Thomas P. | System and method for auctioning goods seized or recovered by local, county, state, or federal law enforcement agencies |
CN101790743A (zh) * | 2007-08-03 | 2010-07-28 | 奥马尔科网络解决方案有限公司 | 处置多功能交易的***及方法 |
CN102804219A (zh) * | 2010-03-19 | 2012-11-28 | 维萨美国公司 | 用基于交易的数据增强搜索数据的***和方法 |
CN103733633A (zh) * | 2011-05-12 | 2014-04-16 | 索林科集团 | 视频分析*** |
CN105612544A (zh) * | 2013-07-17 | 2016-05-25 | 谷歌公司 | 报告非接触交易数据的***、方法和计算机程序产品 |
CN107005599A (zh) * | 2015-07-24 | 2017-08-01 | 谷歌公司 | 改善位置传感器查准率的***和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3676682A1 (en) | 2020-07-08 |
WO2019033397A1 (en) | 2019-02-21 |
US20190197030A1 (en) | 2019-06-27 |
EP3676682A4 (en) | 2021-03-31 |
US11354295B2 (en) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093310B2 (en) | Flow based pattern intelligent monitoring system | |
US11615362B2 (en) | Universal model scoring engine | |
US11182795B2 (en) | Systems and methods for classifying accounts based on shared attributes with known fraudulent accounts | |
US11023889B2 (en) | Enhanced merchant identification using transaction data | |
US11900271B2 (en) | Self learning data loading optimization for a rule engine | |
US10902429B2 (en) | Large dataset structuring techniques for real time fraud detection | |
US11157398B2 (en) | Systems and methods for testing online use-case scenarios in a staging environment | |
US11711406B2 (en) | Systems and methods for providing dynamic and interactive content in a chat session | |
US10733018B2 (en) | Systems and methods for providing services in a stateless application framework | |
US10963885B2 (en) | Systems and methods for using machine learning to predict events associated with transactions | |
US20210241382A1 (en) | Employment status detection based on transaction information | |
US11205180B2 (en) | Fraud detection based on an analysis of messages in a messaging account | |
US11227220B2 (en) | Automatic discovery of data required by a rule engine | |
US20160358136A1 (en) | Portal interface for establishment and management of confirmed payment account | |
US20190005492A1 (en) | Self-correcting transactions | |
US11354295B2 (en) | Self-healing real-time data processing | |
US11188917B2 (en) | Systems and methods for compressing behavior data using semi-parametric or non-parametric models | |
US20220327397A1 (en) | Predicting activity-specific engagement events using trained artificial-intelligence processes | |
US11314848B2 (en) | System for dynamically appending and transforming static activity data transmitted to a user device application | |
US10732990B2 (en) | Systems and methods for providing services in a stateless application framework | |
US20220318622A1 (en) | Method, system, and computer program product for managing model updates | |
CA3160880A1 (en) | Real-time provisioning of directed digital content based on decomposed structured messaging data |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200602 |
|
RJ01 | Rejection of invention patent application after publication |