CN112292707A - 使用模式识别来处理事件流 - Google Patents

使用模式识别来处理事件流 Download PDF

Info

Publication number
CN112292707A
CN112292707A CN202080003241.5A CN202080003241A CN112292707A CN 112292707 A CN112292707 A CN 112292707A CN 202080003241 A CN202080003241 A CN 202080003241A CN 112292707 A CN112292707 A CN 112292707A
Authority
CN
China
Prior art keywords
user
web
pattern
identified
event stream
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
CN202080003241.5A
Other languages
English (en)
Inventor
J·特拉诺
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN112292707A publication Critical patent/CN112292707A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

实施例使用模式识别来处理事件流以与渐进式web应用进行通信。可以接收代表用户与web浏览器和渐进式web应用的交互的事件流。可以结合关于该用户的上下文数据来处理该事件流。可以在该事件流内识别出多个预定模式中的一个预定模式。可以基于识别出的模式将web推送消息发送到该用户的电子设备,其中基于该识别出的一个模式生成该web推送消息的内容。

Description

使用模式识别来处理事件流
技术领域
本公开的实施例一般地涉及使用模式识别来处理事件流以与渐进式(progressive)web应用进行通信。
背景技术
随着互联网商业持续扩展,消费者已经生成了与现实世界产品或服务供应相关的大量在线活动数据。另外,潜在的消费者例如使用移动设备以自组织(ad-hoc)方式与在线商家进行交互。结果,到实体店的物理行程的批处理已被持续可用的购买商品或服务的方式所代替。因此,可以从用户的在线行为中识别模式的***可以将及时且相关的通信提供给用户的电子设备,从而改进用户与在线商家进行交互的方式。
发明内容
本公开的实施例一般地针对用于使用模式识别来处理事件流以与渐进式web应用进行通信的***和方法。可以接收代表用户与web浏览器和渐进式web应用的交互的事件流。可以结合关于该用户的上下文数据来处理该事件流。可以在该事件流内识别出多个预定模式中的一个预定模式。可以基于识别出的模式将web推送消息发送到该用户的电子设备,其中基于该识别出的一个模式来生成该web推送消息的内容。
实施例的特征和优点在以下的描述中被阐述,或者根据描述而将变得显而易见,或者可以通过本公开的实践而被得知。
附图说明
通过以下结合附图对优选实施例的详细描述,进一步的实施例、细节、优点和修改将变得清楚。
图1示出根据示例实施例的用于使用模式识别来处理事件流以与渐进式web应用进行通信的***。
图2示出根据示例实施例的可操作地耦合至***的计算设备的框图。
图3示出根据示例实施例的用于使用模式识别来处理事件流的***。
图4示出根据示例实施例的基于用户的活动流生成web推送消息的图。
图5示出根据示例实施例的将web推送消息发送到浏览器的流程图。
图6示出根据示例实施例的使用模式识别来处理事件流以与渐进式web应用进行通信的流程图。
具体实施方式
实施例使用模式识别来处理事件流以与渐进式web应用进行通信。例如,用户可以使用电子设备与网站进行交互,并且可以通过在该电子设备上运行的渐进式web应用来实现该交互。渐进式web应用可以被用于生成类似于本地应用的体验,而无需下载和存储这样的本地应用。在一些实施例中,渐进式web应用可以包括服务工作线程(service worker),或者与渐进式web应用一起被执行的脚本。
当用户浏览网站时,可以基于用户的动作(action)生成事件流。例如,(例如,对于产品、类别等的)搜索、查看特定于产品的页面、将项目添加至购物车以及任何其他合适的动作可以被添加到事件流。可以接收并处理事件流以便识别模式。例如,可以预定由一个或多个事件定义的多个模式。当定义模式的该一个或多个事件与事件流相匹配时,可以在该事件流内识别出多个模式中的一个模式。
在一些实施例中,***可以包括上下文数据(诸如关于电子设备的用户的数据、关于电子设备的数据、与地理区域相关联的数据等),并且上下文准则(contextualcriteria)可以被定义。例如,当定义模式的一个或多个事件与事件流相匹配时,可以在该事件流内识别出多个模式中的一个模式,并且当定义准则的上下文数据与用户/电子设备的上下文数据相匹配时,可以满足上下文准则。在另一个示例中,一个或多个预定模式除了一个或多个定义的事件之外还可以包括上下文准则。在该示例中,这些模式与由用户的交互生成的事件相匹配,并且与相关的上下文信息相匹配。
在一些实施例中,可以基于识别出的模式将web推送消息发送到电子设备。例如,识别出的模式可以指示与电子设备的用户互动的机会。与电子商业网站相关的示例识别出的模式可以是放弃的购物车。在该示例中,可以生成具有与放弃的购物车相关的内容的web推送消息,诸如关于购物车中被放弃的产品或服务的促销材料或营销材料。
预定模式可以指示用户/访客的意图,因此对特定用户的事件流内的预定模式中的一个预定模式的识别可以被用于使与预定模式相关联的意图与特定用户相关。例如,与放弃的购物车相似的预定模式可以与购买产品的意图相关联,其中该意图被打断或以其他方式改变。在该示例中,存在与特定用户互动(或重新互动)的机会以恢复此初始意图。例如,用户的意图可能已经受到了价格的影响,因此促销可能说服用户购买该产品。其他动作可能类似地影响用户。因此,对用户的事件流内的预定模式的识别可以被用于使意图(例如,与识别出的预定模式相关联的意图)与该用户相关,从而可以基于该意图来采取动作,如本文进一步所述。
在一些实施例中,识别出的模式和/或上下文信息还可以指示用于发送web推送消息的定时。例如,对用户在线行为的分析可以指示在一天的某个时间期间(例如,在正常工作日的工作时间期间)查看产品并在一天的另一个时间期间(例如,在工作日的午餐期间、或在正常工作时间之后)购买产品的趋势。结果,可以在与用户购买产品的趋势相对应的时间发送web推送消息。实施例可以使用浏览器/服务工作线程/渐进式web应用在用户的电子设备的显示器上显示与该web推送消息相对应的web推送通知。例如,服务工作线程(例如,脚本)可以与渐进式web应用一起运行,并且该服务工作线程可以被用于显示web推送通知。
渐进式web应用(“PWA”)指的是如同常规网页或网站一样加载但是如同本地应用一样工作(诸如提供脱机网页、web推送通知和改进加载次数)的网络应用。例如,PWA可以是可安装的并可以存在于用户的主屏幕(screen)上(例如,无需应用商店)。PWA可以供应沉浸式全屏体验,并可以将本地应用的快速体验传递给web上多得多的用户。可以使用各种web技术和/或框架(诸如Angular(AngularJS)、React,Vue.js、Ember.js、JavaServer Pages(“JSP”)、PHP:超文本预处理器(“PHP”)、ASP.net、超文本传输协议(“HTTP”)5.0、层叠样式表(“CSS”)和相关框架、JavaScript、以及任何其他合适的web技术和/或框架)来实现这样的应用的功能。PWA还可以包括加载到用户/访客的电子设备上的清单(manifest)文件,诸如基于JavaScript对象简谱(“JSON”)的清单文件,该清单文件为元数据提供集中位置。在一些实现中,PWA可以利用安全协议(例如,HTTPS)以及应用外壳体系架构来传递本地应用体验。
PWA的实施例还包括服务工作线程/与服务工作线程一起工作,该服务工作线程可以充当web浏览器中的网络代理以管理请求(例如,HTTP请求或其他web请求)。例如,当用户的电子设备访问网站时,可以下载/配置/安装服务工作线程。在一些实施例中,为了实现网站的服务工作线程,可以例如在网站的JavaScript中注册该服务工作线程。例如,注册服务工作线程可以导致web浏览器下载/配置/安装该服务工作线程(例如,在后台)。因此,可以在网站的/PWA的JavaScript与服务工作线程之间建立连接。
在一些实施例中,用于web推送通知的内容可以包括用于与用户互动的界面。例如,在放弃的购物车示例中,可以用于购买放弃的产品的web链接(例如,统一资源定位符(“URL”))可以被包括在web推送通知中。在其他示例中,识别出的模式可以指示与用户互动的其他内容或技术,并且这些项目可以被包括在相关的web推送通知中。
现在将详细参考本公开的实施例,本公开的示例在附图中被示出。在以下详细描述中,阐述了许多具体细节以便提供对本公开的透彻理解。然而,对于本领域的普通技术人员将清楚的是,可以在没有这些具体细节的情况下实践本公开。在其他情况中,未详细描述众所周知的方法、过程、组件和电路,以免不必要地模糊实施例的方面。在尽可能的情况下,相同的附图标记将被用于相同的元件。
图1是根据示例实施例的用于使用模式识别来处理事件流以与渐进式web应用进行通信的***。如图1所示,***100包括商业云客户端102、商业云服务器104、事件中枢106、流分析108、一致性数据110、数据湖112、推送消息传递服务器114和数据库116。在一些实施例中,商业云客户端102可以包括运行在电子设备的web浏览器中的软件,诸如渐进式web应用的组件。web浏览器的示例可以包括
Figure BDA0002821889130000051
或运行渐进式web应用的其他合适的web浏览器,诸如Opera、
Figure BDA0002821889130000052
Microsoft
Figure BDA0002821889130000053
Samsung Internet或任何其他合适的商用浏览器。实施例包括与渐进式web应用一起运行的服务工作线程或软件脚本,该渐进式web应用可以被用于提供诸如显示web推送通知的功能。例如,服务工作线程可以是运行以增强渐进式web应用的功能的JavaScript代码。
在一些实施例中,用户可以与电子设备进行交互以使用商业云客户端102来访问网站。例如,用户可以通过执行各种动作(诸如查看不同的网页或网页的一部分、搜索内容、将项目添加至购物车等)来浏览网站。实现包括在web浏览器内作为单页应用(“SPA”)运行的商业云客户端102。在一些实施例中,商业云服务器104可以实现用户使用电子设备访问的网站。例如,商业云服务器104可以托管网站并且可以与商业云客户端102进行通信。
在一些实施例中,商业云服务器104可以与事件中枢(event hub)106进行通信(或可以包括事件中枢106)。事件中枢106可以构建(消耗和流水线化)事件流,该事件流代表用户在使用商业云102(例如,和/或电子设备、web浏览器、服务工作线程等)浏览网站时所采取的动作。例如,事件流可以包括时间戳,其中每个事件都可以被添加到保持先前事件的数据结构中以构建(流水线化)流。
在一些实施例中,事件中枢106可以是
Figure BDA0002821889130000061
事件中枢云服务(“EHCS”)。例如,商业云服务器104可以代表店面端点(storefront endpoint),其可以包括用元数据注释的数据。在一些实施例中,框架可以实现诸如以下的功能:创建消息、序列化消息以及将消息发布到多个Kafka主题(例如,在事件中枢106中);将事件流数据指引到Kafka代理端点(例如,由事件中枢106展示);并消耗新的Kafka主题设置来接收该传入的流传输数据。
在一些实施例中,事件中枢106可以在构建事件流时访问数据库116。数据库116可以是与商业云服务器104相关联的操作数据库。例如,数据库116可以存储数据,诸如订单、产品、促销、用户简档等。数据库112可以是与商业云服务器104相关联的大数据湖,数据库112可以存储数据,诸如页面查看、搜索事件、站点访问等(例如,未存储在数据库116中的大量数据)。
流分析108可以接收构建的事件流,并且可以进一步处理该流以识别模式。在一些实施例中,流分析108可以注册为由事件中枢106构建(或流水线化)的事件流的消耗者。可以预定由一个或多个事件定义的多个模式,并且可以由流分析108访问这些模式。当定义模式的一个或多个事件与事件流匹配时,可以在该事件流内识别出多个模式中的一个模式。
在一些实施例中,***可以包括上下文数据,诸如关于电子设备的用户的数据、关于电子设备的数据、与地理区域相关联的数据等,并且可以定义上下文准则。例如,一致性数据110和/或数据湖112可以存储可以由流分析108访问的上下文数据以执行模式识别和其他分析。上下文数据可以包括第一方数据、第三方数据、预报或预测数据(例如,预报天气数据)、或任何其他合适的上下文数据。
在一些实施例中,用户/访客可以与诸如访客ID的访客标识符相关联。可以由标识服务(诸如
Figure BDA0002821889130000071
商业云服务访客ID服务)分配这样的访客ID。可以使用对应的访客ID来检索关于特定用户/访客的上下文数据。例如,访客ID可以被用作参考以在数据存储库(例如,大数据云服务、NoSQL历史数据存储库、
Figure BDA0002821889130000072
一致性存储器中(in-memory)数据网格等)中查找简档、受众、RFM(近期、频率、货币值)集群等以获得上下文信息(例如,可以利用访客ID和访问ID值来条带化(stripe)保持访问/搜索/页面查看事件的历史的数据存储库)。
在一些实施例中,当定义模式的一个或多个事件与事件流相匹配时,可以在该事件流内识别出多个模式中的一个模式,并且当定义准则的上下文数据与来自用户、电子设备、地理区域或相关的实体/场景(诸如上下文数据涉及的实体/场景,或类似场景集)的上下文数据相匹配时,可以满足上下文准则。在另一个示例中,一个或多个预定模式除了一个或多个定义的事件之外还可以包括上下文准则。在该示例中,这些模式与由用户生成的事件流相匹配,并且与相关的上下文信息相匹配(例如,识别出的模式可以是上下文流模式)。
一旦在事件流中识别出模式,流分析108就可以与商业云104进行通信以生成响应识别出的模式的动作。例如,流传输分析108可以调用商业云104上的REST API目标/端点,其可以(与推送消息传递服务器114一起)生成web推送消息/显示web推送通知。
实施例包括生成发送到与用户相关联的电子设备的web推送消息。例如,与web推送消息相对应的web推送通知的内容可以包括基于识别出的模式与用户互动的界面。例如,在放弃的购物车示例中,可以用于购买放弃的产品的web链接(例如,URL)可以被包括在web推送通知中。在其他示例中,识别出的模式可以指示与用户互动的其他内容或技术,并且这些项目可以被包括在相关的web推送通知中。在一些实施例中,可以(例如基于识别出的模式)针对web推送消息生成并由对应的web推送通知显示的其他可动作内容包括:可以用于将产品添加到愿望清单的web链接、可以用于注册服务(例如,高级服务)的web链接、点击聊天链接(例如,被配置为生成与客服代表或聊天机器人的聊天)、点击通话链接(例如,可以被点击以在移动设备上执行通话)、免费样品的供应(例如,为了接收免费供应而可以填写的表格/web链接)、执行产品评论的一个或多个链接、提供运送选项的内容、涉及常见问题的内容等。
在一些实施例中,识别出的模式和/或上下文信息还可以指示用于发送web推送消息的定时。例如,对用户浏览动作的分析可以指示在一天的某个时间期间(例如,在正常工作日的工作时间期间)查看产品并在一天的另一个时间期间(例如,在工作日的午餐期间、或在正常工作时间之后)购买产品的趋势。结果,可以在与用户购买产品的趋势相对应的时间发送(或可以调度发送)web推送消息。
在一些实施例中,商业云104可以指示推送消息传递服务器114例如在确定的时间将web推送消息发送到商业云客户端102(例如,电子设备、web浏览器、服务工作线程等)。然后,对应的web推送通知可以由电子设备显示(在一些示例中,可以由服务工作线程实现)。在一些实施例中,可以使用
Figure BDA0002821889130000081
产品或服务来实现商业云客户端102、商业云服务器104、事件中枢106、流分析108,一致性数据110(例如,
Figure BDA0002821889130000082
一致性存储器中数据网格)、数据湖112和数据库116。
图2是根据实施例的计算机服务器/***210的框图。***210的全部或一部分可以被用于实现图1所示的任何元件。如图2所示,***210可以包括总线设备212和/或被配置为在***210的各个组件(诸如处理器222和存储器214)之间传送信息的其他通信机制。另外,通信设备220可以通过对从处理器222通过网络(未示出)发送到另一个设备的数据进行编码并对处理器222通过网络从另一个***接收的数据进行解码,来在处理器222和其他设备之间实现连接。
例如,通信设备220可以包括被配置为提供无线网络通信的网络接口卡。可以使用各种无线通信技术,包括红外、无线电、蓝牙
Figure BDA0002821889130000091
Wi-Fi和/或蜂窝通信。可替代地,通信设备220可以被配置为提供有线网络连接,诸如以太网连接。
处理器222可以包括一个或多个通用或专用处理器,以执行***210的计算和控制功能。处理器222可以包括单个集成电路(诸如微处理设备),或者可以包括多个集成电路设备,和/或电路板协同工作以实现处理器222的功能。另外,处理器222可以执行存储在存储器214内的计算机程序,诸如操作***215、流传输处理模块216和其他应用218。
***210可以包括用于存储信息和由处理器222执行的指令的存储器214。存储器214可以包含用于检索、呈现、修改和存储数据的各种组件。例如,存储器214可以存储在由处理器222执行时提供功能的软件模块。模块可以包括为***210提供操作***功能的操作***215。模块可以包括操作***215、被配置为对接收的事件流数据执行分析的流传输处理模块216、以及其他应用模块218。操作***215为***210提供操作***功能。在一些情况下,流传输处理模块216可被实现为存储器中配置。当***210执行流传输处理模块216的功能时,它实现作为执行本文公开的功能的非传统专用计算机***。
非暂态存储器214可以包括可以由处理器222访问的各种计算机可读介质。例如,存储器214可以包括随机存取存储器(“RAM”)、动态RAM(“DRAM”)、静态RAM(“SRAM”)、只读存储器(“ROM”)、闪存、高速缓存存储器和/或任何其他类型的非暂态计算机可读介质的任何组合。
处理器222还经由总线212耦合至显示器224,诸如液晶显示器(“LCD”)。键盘226和光标控制设备228(诸如计算机鼠标)还耦合至通信设备212,以使用户能够与***210对接。
在一些实施例中,***210可以是较大***的一部分。因此,***210可以包括一个或多个附加功能模块218以包括附加功能。其他应用模块218可以包括各种模块,例如
Figure BDA0002821889130000092
商业云服务(“OCCS”)、
Figure BDA0002821889130000103
Golden Gate、
Figure BDA0002821889130000101
大数据云服务(“BDCS”)、
Figure BDA0002821889130000102
分析云、
Figure BDA0002821889130000104
流分析(“OSA”)、
Figure BDA0002821889130000106
事件中枢云服务(“EHCS”)和/或
Figure BDA0002821889130000105
Kafka***。数据库217耦合至总线212,以针对模块216和218提供集中存储,并存储例如从各种设备接收的数据。数据库217可以将数据存储在逻辑相关的记录或文件的集成集合中。数据库217可以是操作数据库、分析数据库、数据仓库、分布式数据库、最终用户数据库、外部数据库、导航数据库、存储器中数据库、面向文档的数据库、实时数据库、关系数据库、面向对象的数据库、非关系数据库、NoSQL数据库、
Figure BDA0002821889130000107
分布式文件***(“HFDS”)或本领域已知的任何其他数据库。
尽管被示为单个***,但是***210的功能可以被实现为分布式***。例如,存储器214和处理器222可以被分布在共同代表***200的多个不同计算机上。在一个实施例中,***210可以是设备(例如,智能手机、平板电脑、计算机等)的一部分。在实施例中,***210可以与设备分离,并且可以为设备远程提供所公开的功能。此外,可以不包括***210的一个或多个组件。例如,对于作为用户或消费者设备的功能,***210可以是智能手机或其他无线设备,其包括处理器、存储器和显示器,而不包括图2所示的其他组件中的一个或多个组件,并且包括图2中未示出的附加组件,诸如天线、收发器或任何其他合适的无线设备组件。
各个实施例可以包括运行能够显示渐进式web应用的移动浏览器的无线设备。例如,无线设备可以是作为便携式通信设备(诸如移动电话、智能手机、平板电脑等)的电子设备。设备的用户界面可以包括触摸屏和/或其他输入/输出设备。然而,应该理解,用户界面和相关联的方法可以被应用于其他设备(诸如个人计算机、膝上型计算机等),该其他设备可以包括一个或多个其他物理用户界面设备,诸如键盘和或鼠标或任何其他合适的用户界面设备。电子设备可以支持各种应用,诸如互联网浏览器、文本信使、体验管理以及各种其他应用。可以在电子设备上执行的各种应用可以至少使用一个通用的物理用户界面设备。另外,电子设备的通用物理体系架构可以通过直观且透明的用户界面来支持各种应用。
返回参考图1,实施例包括提供渐进式web应用功能的商业云客户端102和商业云104。例如,商业云客户端102可以包括在电子设备上执行的脚本或者服务工作线程以提供渐进式web应用体验。例如,商业云客户端102可以与诸如
Figure BDA0002821889130000113
Chrome的web浏览器一起运行。商业客户端102和/或web浏览器可以与商业云104进行通信,以使用户能够浏览由商业云托管的网站。在浏览网站时,用户可以利用web浏览器和商业客户端102来查看网站的各个部分(诸如不同网页(例如,产品网页等))以搜索网站等。在一些实施例中,PWA可以层叠在商业云客户端102上。例如,渐进式web应用可以从商业云104实现的网站被安装或被加载(例如,当用户/电子设备首次访问该网站时),然后可以与web浏览器一起运行。
在一些实施例中,商业云104可以与事件中枢106进行通信(或可以包括事件中枢106),其中事件中枢可以根据用户在网页上的动作来构建(消耗和流水线化)事件流。例如,事件中枢106可以实现基于云和云管理的
Figure BDA0002821889130000114
Kafka生态***。例如,Kafka***可以包括生产者元件和消耗者元件,其中生产者元件可以产生事件流,而消耗者元件可以订阅和消耗这些事件流。Kafka生态***还可以包括流处理元件,该流处理元件可以接收用于处理(诸如转换、重新打包、分析(例如模式识别)等)的事件流。Kafka生产者元件、消耗者元件和流处理元件中的每一个元件都可以基于特定于元件的应用编程接口(API)相互通信。
在一些实现中,Kafka生产者元件可以实现可以用于组织事件流的主题,并且可以进一步实现可以用于进一步组织/构造这些事件流的分区。Kafka消耗者和流处理元件可以订阅某些主题和/或分区。
实施例实现实时流传输数据流水线化,其中可以使用Kafka消息队列/管道(例如,在
Figure BDA0002821889130000111
事件中枢云服务内)、使用
Figure BDA0002821889130000112
流分析进行模式识别以及使用渐进式web技术的访客/用户通信来管理摄取(ingest)。会话范围的持久层(诸如
Figure BDA0002821889130000122
一致性数据缓存)以及
Figure BDA0002821889130000121
大数据云服务及其关联的大数据连接器(例如GoldenGate大数据Kafka处理程序等)可以支持对购物者上下文的见解(insight)。
图3示出根据示例实施例的用于使用模式识别来处理事件流的***,该***可以包括事件中枢106、数据库116、流分析108,一致性数据110/数据湖112、商业云104和/或推送消息传递服务器114的功能。例如,***300可以代表Kafka生态***,该Kafka生态***包括事件生产者元件、摄取元件、流处理元件以及可以基于先前的Kafka元件的功能采取动作的元件。Kafka生态***的实施例可以包括低延迟、高吞吐量、可扩展和解耦消息代理。
设备和网关302可以包括电子设备、网络组件(诸如网关)和任何其他合适的设备。应用304可以包括可以接收/产生发布到事件流的事件的软件应用,并且可以进一步包括微服务。实时交易306可以包括软件元件(诸如数据库),并且可以将实时交易作为流发布。这些元件中的每一个元件都可以充当Kafka生产者的输入。例如,数据库交易日志、传感器数据、社交媒体数据、点击流或web活动(例如,针对电子设备的用户)或地理位置数据中的一个或多个可以被用于产生事件流。
事件中枢308可以被用来从生产者摄取数据以构建事件流。例如,事件中枢308可以对来自生产者的数据进行过滤、聚集、转换、相关和/或地理围栏(geofence),以构建(消耗和流水线化)事件流。在一些实施例中,事件中枢308接收来自设备和网关302、应用304和实时交易306中的一个或多个的输入,并构建用于构造Kafka生态***中的事件流的Kafka主题和分区。例如,设备和网关302、应用304和实时交易306中的一个或多个可以是
Figure BDA0002821889130000123
云商业客户端产生元件。
在一些实施例中,产生兴趣的事件(诸如页面查看、搜索等)的客户端可以生成符合标准或协议(例如,(Apache)Avro模式)的数据。例如,可以使用JSON定义Avro模式,而Jackson(处理如同读取和写入(解析/生成)以及到/从Java对象的数据绑定的任务的Java库)可以将JSON对象转化为生成的Avro模式类。然后,这些生成的Avro模式可以被序列化为字节数组,并作为Kafka消息的有效负载被发送。可以实现任何其他合适的数据格式和功能元件(例如,Jackson替代品)。
在一些实施例中,可以将数据放置在Kafka主题上(例如,在Kafka元件(诸如OCCS和EHCS)之间共享)。例如,数据可以经由在EHCS中定义并配置的Kafka主题从OCCS流入EHCS。OCC REST端点可以调用将数据序列化为要放入该主题的消息的代码。在一些实施例中,可以在消耗点对数据进行反序列化(逆处理)。
在一些实施例中,访客ID可以与特定用户/访客/电子设备相关联(例如,经由识别服务)。例如,可以通过OCCS访客ID服务为用户分配访客ID值。在一些实施例中,访客ID可以被传递到事件中枢308或其他Kafka生态***组件(例如,经由Kafka消息传递)。例如,访客ID可以被用于访问数据存储库(例如,数据湖)以检索关于用户/访客/电子设备的数据(例如,上下文数据)。基于此检索的数据,可以采取不同动作。例如,如果数据指示用户/访客/电子设备在一段时间内花费的金额满足第一阈值(例如,大于$100),则可以在推送消息中包括第一促销(例如,九折),而如果数据指示在一段时间内花费的金额满足第二阈值(例如,大于$200),则可以在推送消息中包含第二促销(例如,八折)。其他实施例可以包括其中可以基于该检索的数据采取动作(例如,推送生成的消息)的其他示例。
在一些实施例中,一个或多个事件生产者可以包括Kafka的
Figure BDA0002821889130000131
GoldenGate大数据处理程序,其中对数据库记录的更新(诸如订单和用户简档)可以实时被复制到Kafka组件,诸如事件中枢308。在Kafka的上下文中,
Figure BDA0002821889130000132
GoldenGate提供了用于流传输对表(或表集合)所做的改变并使它们可用于流水线中的其他组件/处理的机制。在一些实施例中,事件中枢308可以是
Figure BDA0002821889130000133
事件中枢和/或
Figure BDA0002821889130000134
流分析服务或Kafka企业***的任何其他合适的组件。
流分析310可以被用于分析构建的事件流以执行附加处理。例如,流分析310可以是Kafka流处理元件。在一些实施例中,使用
Figure BDA0002821889130000142
事件中枢和/或
Figure BDA0002821889130000141
流分析来实现流分析310。实施例包括使用流分析310在构建的事件流内执行模式识别。例如,可以定义多个预定模式,并且流分析310可以分析构建的事件流以识别该流内的预定模式。
可以用于确定意图的示例预定模式可以包括预定义的关联或事件关系。例如,预定模式可以包括事件关联,诸如:“A”后跟“B”(‘A’followed by‘B’)、“A”后不跟“B”((‘A’not followed by‘B’))、检测丢失(missing)事件、地理代码或反向地理代码:附近、地理围栏邻近度、地理过滤器、检测重复和其他合适的模式。具有“A”后跟“B”关联的预定模式可以包括“A”和“B”事件的事件定义,诸如将产品添加至购物车的“A”事件和从购物车中移除产品的“B”事件。其他“A”后跟“B”的示例可以包括:搜索产品或类别,然后查看特定于产品的网页;搜索产品,然后搜索该产品的特定变体;在被通知运送延迟后取消订单;将产品添加至购物车并触发确定该项目在附近的商店有库存的库存检查等。
具有“A”后不跟“B”关联的预定模式还可以包括“A”和“B”事件的事件定义,诸如将产品添加至购物车的“A”事件和不包括购物车结账的“B”事件(例如,完成订单)。其他“A”后不跟“B”的示例可以包括:搜索特定产品或类别,然后不查看任何特定于产品的详情页面;导航到最低级别的产品类别,但不查看任何特定于产品的详情页面;搜索用户先前购买的产品,但不将该产品添加至购物车;购物车中有项目,但无法结账;对订单结账,但无法基于该订单的总金额获得免费运送的资格;对订单结账但无法获得促销的资格等。
预定的丢失事件模式可以定义一系列事件,其中它在定义的事件中的一个事件丢失的情况下(诸如搜索产品或类别、将产品添加至购物车但无法结账(例如,完成订单))可以被识别。其他丢失事件模式可以包括:将产品添加至购物车,结账,但遇到导致没有提交/处理订单的付款授权失败(或某种其他失败);重复查看特定于产品的页面,而不将产品添加至购物车等。
地理代码或反向地理代码:附近、地理围栏邻近度和/或地理过滤器模式可以定义事件关联,该事件关联包括位置信息,诸如在实体店的地理围栏内查看特定于产品的页面。其他位置信息相关的模式可以包括:在实体店的地理围栏内搜索产品或类别;将产品添加至购物车,并将产品在附近的实体商店中库存等。
改变检测器模式,上升趋势模式和/或下降趋势模式可以定义与数据点的值的改变相关的事件关联,其中可以检测改变,可以检测上升趋势,或者可以检测下降趋势。示例事件可以包括执行的搜索数量的增加或减少、用户访问数量(例如,在一段时间内对给定网站的访问)的增加或减少、用户在网站花费的金额(例如,在一段时间内花费的美元金额)的增加或减少等。可以检测其改变或趋势的其他示例数据点是交易类型(例如,在线下单在店取货的交易或直接运送到消费者的交易的数量改变)、退货数量等。
在一些实施例中,可以(例如,在流水线中)组合这些模式,使得定义的模式可以包括上述模式的任何组合,包括但不限于:具有基于位置的模式的“A”后跟“B”模式、多个“A”后跟“B”模式(或任何模式的多次迭代)、具有基于位置的模式的丢失事件模式等。
在一些实施例中,例如,在事件的“A”后跟“B”模式和仍然可以在事件流内识别出的预定模式之间可以发生多个事件。例如,对于包括从购物车添加和移除产品的“A”和“B”事件的模式,介入(intervening)事件可以包括查看不同产品页面、从购物车添加和/或移除其他产品、执行搜索等。在该示例中,在介入事件之间的事件流内识别出“A”后跟“B”模式。在存在介入事件的情况下,可以类似地识别出其他模式。
在一些实施例中,可以使用识别出的模式来将相关信息提供给内部***/实体。例如,可以将关于上次访问(或X次访问)中查看或搜索但未被用户/访客购买的产品的实时信息提供给各个团队(例如,消费者体验、消费者互动、市场营销等)。
在一些实施例中,关于电子设备或电子设备的用户的上下文数据可以被用于确定意图。例如,该上下文数据可以包括过去的在线购物行为(例如,过去的产品购买、购买频率、利用促销的频率等)、过去的产品查看(例如,在30天的时间窗口内)、过去的搜索、地理位置历史、设备类型(例如,移动设备、膝上型计算机、台式机)、星期/月中的天和/或一天中的时间的行为(例如,当用户通常查看或浏览时与当用户通常提交在线购买时的星期/月中的天和/或一天中的时间)、天气历史(例如当前或预报的/预测的天气)、用户人口统计信息等。
在一些实施例中,除了识别出的预定模式之外,还可以使用上下文准则。例如,当在事件流中识别出模式时,可以将对应用户的上下文数据与上下文准则进行比较。上下文准则可以是基于识别出的模式的。例如,当模式指示产品的重复查看时,上下文准则可以与对应的用户利用促销(例如,购买带有促销的产品)的频率相关。当频率满足上下文准则时(例如,当用户定期购买带有促销的产品时),可以采取对应的动作(例如,可以向用户提供具有对重复查看的产品的促销的web推送消息/通知)。
在具有类似模式的示例中,上下文准则可以与用户的位置以及库存中有商品的实体店是否在附近相关。如果库存中有商品的商店在附近(例如,上下文数据符合准则),则可以采取对应的动作(例如,可以向用户提供指示商店中产品可用性的使用的web推送消息/通知)。
在模式代表已经移除了产品的购物车的示例中,上下文准则可以包括用户对该产品的过去的交易历史。例如,如果用户先前已经购买了该产品(例如,上下文数据满足准则),则可以采取对应的动作(例如,可以向用户提供包括用于购买该产品的web链接的web推送消息/通知)。在另一个示例中,如果用户先前未购买过该产品(例如,上下文数据满足第二准则),则可以采取第二对应的动作(例如,可以向用户提供包括用于购买该产品的web链接以及基于首次购买的折扣的web推送消息/通知)。
在一些实施例中,上下文数据可以被用于定义预定模式。例如,定义的模式可以包括用户/电子设备的上下文信息,诸如包括证明产品的重复购买的订单历史和包括查看产品的事件流的预定模式。在另一个示例中,预定模式可以包括用户感兴趣的产品,并且该感兴趣的产品受到促销。在该示例中,可以基于用户的上下文在线购物行为(例如,基于用户的先前订单、搜索、产品查看、确定的兴趣等)来确定产品是用户感兴趣的。
基于由流分析310执行的处理和分析,可以执行一个或多个动作。例如,模块314可以执行实时商业智能功能或可以在数据湖中存储相关/见解数据。此外,模块316可以执行与电子设备/用户的交互,诸如基于在与电子设备相关联的事件流内识别出的模式和/或与满足上下文准则的电子设备的用户相关联的上下文数据,将web推送消息发送到电子设备。
实施例可以使用多种技术、框架、标准和实现来实现所公开的功能。例如,可以利用Apache Kafka流API进行流处理。Apache Flink还可以在高吞吐量、低延迟模式下被用于流传输和批处理。来自Confluent的KSQL(使实时数据处理能够针对Apache Kafka的流传输SQL引擎)可以被用于分析/处理Kafka流。Apache Spark Streaming(来自Databricks)是可扩展的本地支持批和流传输工作负载二者的容错流传输处理***。
Figure BDA0002821889130000175
大数据SQL(“BDSQL”)可以跨Kafka主题(例如,飞航数据)和持久性数据(例如,在
Figure BDA0002821889130000173
关系数据库、NoSQL数据存储库、Hadoop数据湖等中)进行查询。另外,
Figure BDA0002821889130000172
12c数据库中的SQL模式匹配功能还可以被用于增强或代替
Figure BDA0002821889130000171
流传输分析模式匹配。实施例还可以使用SQL来识别事件序列中的模式,例如通过将序列当作行流,并使用流中的行来代表事件。
Figure BDA0002821889130000174
12c数据库的实施例将MATCH_RECOGNIZE子句合并到解析函数语法中,以增强来自SQL的模式匹配。
Figure BDA0002821889130000181
Sparkline还可以被与/代替数据湖商业智能(例如,大规模)使用。
在一些实施例中,可以基于识别出的模式和/或上下文数据来生成web推送消息/通知的内容。例如,web推送通知可以包括对特定产品的促销、关于购物车的免费运送或一旦通过购物车达到某个阈值后就免费运送、基于对购物车结账的定时(例如,今天结账)免费运送等。在另一个示例中,识别出的模式和/或上下文数据可以与用户/电子设备的位置相关,因此web推送通知可以包括特定产品在用户附近有库存、对在线购买在店取货的交易的促销和其他基于位置的促销的指示。web推送通知的其他内容可以包括用户具有要兑换的忠实积分、可以用于购买产品(诸如从购物车中放弃的产品)的web链接等的指示。
在一些实施例中,识别出的模式可以指示搜索/查看/细想但未购买的产品(例如,用户的上次访问或上X次访问时)。在该示例中,对于这些指示的产品中的一个产品的积极产品评论可以被包括在web推送通知中。在另一个示例中,模式可以指示返回的高价值购物者,并且web推送通知的内容可以包括:“很高兴再次见到您!我们重视您的业务!供应此折扣XXX”。在另一个示例中,识别出的模式可以指示用户(例如,匿名用户)查看产品类别,但是通常无法订购其产品(例如,基于历史分析)。在该示例中,匿名用户可以被描述为“橱窗购物者”,web推送通知的内容可以包括降价销售产品页面(例如,web链接)。在一些实施例中,可以基于识别出的模式和/或上下文数据来确定用于发送web推送消息的定时(或调度时间)。
可以针对商家的电子商业web存在(诸如网站)来实现实施例。考虑商家网站的访客(例如,使用OCCS,并且OCCS客户端被配置为渐进式web应用)。可以基于发给访客的电子设备的消息来检索访客对于从站点接收推送通知的同意和选择加入。例如,最初可以基于消息传递来保护选择加入,随后可以基于该初始的选择加入将web推送消息发送到用户/电子设备。在一些实施例中,必须在访客的电子设备可以接收推送消息之前保护选择加入。此后,基于访客的行为事件(例如,意图)的预定检测模式并基于访客的上下文(例如,过去的行为、地理位置、设备、受众、一天中的时间、天气、人口统计信息等),可以将一个或多个面向相关的营销/重新定向/服务的web推送消息发送到访客的电子设备,该访客的电子设备可以配置为显示这样的通知(例如,实时在移动web浏览器中)。这样的功能可以避免商家错失机会,减少购物体验的摩擦,并根据通过行为分析更好地理解到的访客的意图来提供其他实惠。
例如,失去的机会可以是上下文流模式,其中访客在现场搜索产品或类别、将产品添加至购物车、然后从购物车中移除该产品。这可能类似于实体店中的流程,在该流程中,客户实体地拿起产品、检查它但把它放回原处(并且在一些情况下,这种交互可以通过诸如照相机的感测装备来捕获)。在该示例中,例如当商家/云服务提供商实现渐进式web应用时,无需本地移动应用即可执行介入动作(利用推送通知)。实施例包括提供与本地安装的传统应用类似的用途的渐进式web应用,包括脱机网页、web推送通知和改进的加载次数。然而,渐进式web应用无需被下载/安装在设备本身上,因此提供了更易于被用户/访客采用的增强型在线体验。
web推送消息/通知可以是可选择的(可单击的)消息,该消息被发送到用户/访客/订户的浏览器,并且可以出现在任务栏旁边(或在移动设备的显示器中)。这些消息/通知可以是“基于浏览器的”,这意味着它们可以通过不同平台和设备访问。另外,无论用户是通过移动设备、平板电脑还是台式机连接,web推送消息/通知都可以实时到达其设备。另外,当web浏览器正在浏览任何网站时,可以显示web推送通知。在一些实施例中,web推送通知可以包括可选择的动作,诸如超链接和富媒体。web推送消息/通知可以特别有效,例如因为它们可以很简短并且可以被实时传递以提高用户互动和消费者保留率。
在一些实施例中,渐进式web应用可以与诸如图1的商业云客户端102的客户端一起运行,并且当用户/访客访问OCCS站点时,他们可以选择加入接收web推送消息/通知。当用户/访客的电子设备访问网站时,可以在用户/访客的电子设备上安装服务工作线程(以及清单文件)(或者,当电子设备首次访问该网站时,可以在先前已经加载了服务工作线程)。基于选择加入并使用服务工作线程,之后可以接收并显示web推送消息/通知。图4示出根据示例实施例的基于用户的活动流来生成web推送消息的流程图。在一个实施例中,图4(以及以下的图5和图6)的功能由存储在存储器或其他计算机可读或有形介质中的软件实现,并由处理器执行。在其他实施例中,每个功能可以由硬件(例如,通过使用专用集成电路(“ASIC”)、可编程门阵列(“PGA”)、现场可编程门阵列(“FPGA”)等)、或硬件和软件的任何组合执行。在实施例中,可以由图1的***100或图2的***210的一个或多个元件来执行图4-图6的功能。
例如当用户使用web浏览器加载网站时,可以在用户的电子设备上显示选择加入通知402。用户可以选择选项以选择加入接收通知,诸如web推送消息。还可以配置选择加入显示的定时,诸如当用户对网站表现出一定兴趣时(例如,在已经导航到几个网页或查看网站达到阈值时间后等)。在一些实施例中,当用户/电子设备访问网站时,可以在用户的电子设备上下载/安装/配置(例如,利用/与商业云客户端102一起配置)服务工作线程(或者当用户/电子设备首次访问该网站时可能先前已经加载了服务工作线程)。在电子设备上,用户可以继续浏览该网站,并且在一些实施例中,该网站可以由云服务(例如,图1的商业云服务104)托管。
使用web浏览器,用户可以执行搜索404,诸如搜索产品(例如,珠宝)。在查看搜索结果之后,用户可以选择用于查看的产品(诸如戒指),随后web浏览器可以加载产品页面406。在所示的示例中,然后,用户可以将对应的产品添加至购物车或购物篮中并生成加载的购物车408。之后在所示的示例中,用户可以从购物车或购物篮中移除对应的产品以达到清空购物车410。
在一些实施例中,用户与网站的交互代表用户的web活动。如本文所述,此web活动可以被用于构建可以被进一步处理并分析的事件流。例如,可以在用户的事件流内识别出多个预定模式中的一个预定模式。预定模式112可以被定义为A后跟B模式,其中A代表将产品添加至购物车的动作,而B代表移除购物车的产品的动作。在该示例中,添加产品以生成加载的购物车408和随后移除产品导致清空购物车410可以与预定模式412的定义相匹配,由此可以在用户的事件流中识别出预定模式412。
结果,可以将web推送消息发送到用户的设备,该web推送消息包括与被添加然后从购物车中被移除的产品相关的内容。例如,可以基于接收的web推送消息,在用户的设备上显示包括关于相关产品的促销的web推送通知414。
在一些实施例中,发送的定时可以是基于识别出的模式和/或是基于关于用户的上下文数据的。例如,对关于用户的上下文数据(例如,在线行为)的分析可以指示在一天中的某个时间期间(例如,在正常工作日的工作时间期间)查看产品而在一天中的另一个时间期间(例如,在工作日的午餐期间、或在正常工作时间之后)购买产品的趋势。结果,可以在与用户购买产品的趋势相对应的时间发送web推送消息。在一些实施例中,当用户/电子设备处于某个位置时,模式被识别或上下文准则被满足,因此web推送消息的定时是基于用户的位置的。
图5示出根据示例实施例的将web推送消息发送到浏览器的流程图。例如,图5的功能可以被用于发送与图4的web推送通知414相对应的web推送消息。
用户的电子设备可以包括浏览器502,该浏览器502可以与软件客户端(例如,云客户端)一起运行并且可以与渐进式web应用进行交互。使用浏览器502,例如在用户已经选择加入服务之后,可以利用推送消息传递服务器504来创建订阅。订阅详情可以包括公钥、认证密钥和端点(例如,URL将消息发送到的端点)。在一些实施例中,推送消息传递服务器504可以是Firebase云消息传递服务或任何其他合适的消息传递服务。可以将订阅信息从推送消息传递服务器504传送到浏览器502,进而可以将该订阅信息传送到云服务提供商506。在访问网站/PWA之后,还可以加载服务工作线程以与浏览器502进行交互。例如,一旦模式的识别和/或用户的上下文信息满足上下文准则,云服务提供商506可以经由推送消息传递服务器504将web推送消息发送到浏览器502。例如,与web推送消息相对应的web推送通知可以由用户的电子设备的显示器508显示。
在一些实施例中,通知可以是在诸如浏览器的应用正常用户界面的外部被显示给用户的消息。推送消息可以是从服务器发送到客户端的消息。web推送通知可以是响应于推送消息而创建的通知。通知API可以是被用于配置并显示通知给用户的接口(例如,在用户的电子设备上)。推送API可以是用于订阅推送服务的应用(诸如PWA)并且用于接收在服务工作线程中的推送消息的接口。web推送(或web推送消息发送)可以是非正式术语,指的是在web上将消息从服务器推送到客户端的处理中涉及的处理或组件。推送服务可以是用于将推送消息从服务器路由到客户端的***。例如,每个浏览器都可以实现它自己的推送服务。web推送协议描述了应用服务器或用户代理如何与推送服务进行交互。在一些实施例中,与web推送通知相关的功能可以包括(例如,使用消息服务推送API)发送的web推送消息和(例如,使用通知API)正在显示的对应的通知。
各种实施例的功能在多个领域中是有益的,诸如移动应用下载率可能低、首次访客率可能高的领域,或者在与网站的偶尔访客互动可能有益的情况下的类似零售的领域和/或多个其他领域。另外,当访客被注册或访客是匿名/未知时,可以实现这些软件技术。在一些实施例中,可以在访客已经离开站点时(实际上,访客的web浏览器可能确实已经关闭)发送/接收web推送消息。另外,访客的设备类型可以是台式机、平板电脑或智能手机,并且可以实现多种操作***
图6示出根据示例实施例的使用模式识别来处理事件流以与渐进式web应用进行通信的流程图。在602处,可以基于用户的web活动来构建事件流。例如,用户可以与用户的电子设备上运行的渐进式web应用和浏览器进行交互。在实施例中,在用户选择加入服务之后,已经利用服务工作线程配置了用户的电子设备。用户经由浏览器与渐进式web应用的交互可以被用于构建事件流。例如,Apache Kafka生产者/生态***可以接收用户交互并产生/构建(或流水线化)事件流。可以类似地实现用于产生/构建事件流的其他合适的技术。
在604处,可以接收代表用户与web浏览器和渐进式web应用的交互的事件流。例如,该事件流可以由诸如Apache Kafka处理元件的处理元件接收。可以类似地实现用于处理事件流的其他合适的技术。
在606处,可以结合上下文数据来处理事件流。例如,可以与接收的事件流一起访问并处理关于用户/用户的电子设备的上下文数据。可以类似地实现用于处理事件流的其他合适的技术。
在608处,可以在动作流内识别出多个预定模式中的一个预定模式。例如,预定模式可以通过一个或多个事件和/或上下文数据或上下文准则来定义。在动作流和上下文数据内识别出该一个模式可以包括将事件流中的一个或多个事件与针对该识别出的一个模式定义的事件进行匹配,并将关于用户的上下文数据与针对该识别出的一个模式定义的上下文数据进行匹配。在一些实施例中,匹配的事件可以至少包括两个事件,并且匹配的上下文数据可以至少包括用户的交易历史。
在610处,可以确定发送到用户的电子设备的定时。例如,将web推送消息发送到用户的电子设备的定时是基于该识别出的一个模式或上下文数据的。在612处,可以执行到用户的电子设备的发送。例如,可以诸如在确定的定时将web推送消息发送到用户的电子设备。在一些实施例中,可以使用配置的服务工作线程和/或浏览器在用户的电子设备上显示对应的web推送通知。
实施例使用模式识别来处理事件流以与渐进式web应用进行通信。例如,用户可以使用电子设备与网站进行交互,并且可以通过在电子设备上运行的渐进式web应用来实现交互。渐进式web应用可以被用于生成类似于本地应用的体验,而无需下载和存储这样的本地应用。在一些实施例中,渐进式web应用可以包括服务工作线程,或者与渐进式web应用一起执行的脚本。
当用户浏览网站时,可以基于用户的动作生成事件流。例如,可以将搜索(例如,产品、类别等)、查看特定于产品的页面、将项目添加至购物车以及任何其他合适的动作添加到事件流。可以接收并处理事件流以便识别模式。例如,可以预定由一个或多个事件定义的多个模式。当定义模式的一个或多个事件与事件流相匹配时,可以在该事件流内识别出多个模式中的一个模式。
在一些实施例中,***可以包括上下文数据,诸如关于电子设备的用户的数据、关于电子设备的数据、与地理区域相关联的数据等,并且可以定义上下文准则。例如,当定义模式的一个或多个事件与事件流相匹配时,可以在该事件流内识别出多个模式中的一个模式,并且当定义准则的上下文数据与来自用户、电子设备、地理区域或相关的实体/场景(诸如上下文数据涉及的实体/场景,或类似场景集)的上下文数据相匹配时,可以满足上下文准则。在另一个示例中,一个或多个预定模式除了一个或多个定义的事件之外还可以包括上下文准则。在该示例中,这些模式与由用户的交互生成的事件相匹配并且与相关的上下文信息相匹配。
在一些实施例中,可以基于识别出的模式将web推送消息发送到电子设备。例如,识别出的模式可以指示与电子设备的用户互动的机会。与电子商业网站相关的示例识别出的模式可以是放弃的购物车或已经移除项目的购物车。在该示例中,可以生成具有与放弃的购物车相关的内容的web推送消息,诸如关于从购物车移除或放弃的产品或服务的促销材料或营销材料。其他识别出的模式可以标志其他用户/访客意图,并且可以基于识别出的特定模式来采取其他动作。
预定模式可以指示用户/访客的意图,因此对特定用户的事件流内的预定模式中的一个预定模式的识别可以被用于使与预定模式相关联的意图与特定用户相关。例如,与放弃的购物车相似的预定模式可以与购买产品的意图相关联,其中该意图被打断或另外改变。在该示例中,存在机会与特定用户互动以恢复该初始意图。例如,用户的意图可能受到了价格的影响,因此促销可能说服用户购买该产品。其他动作可能类似地影响用户。因此,在用户事件流内识别出预定模式可以被用于将意图(例如,与识别出的预定模式相关联的意图)与该用户相关,并且因此可以基于该意图采取动作,如本文进一步所述。
在一些实施例中,识别出的模式和/或上下文信息还可以指示用于发送web推送消息的定时,例如,如果更合适于在稍后的时间点(例如,不是实时地)发送web推送消息。例如,对用户在线行为的分析可以指示在一天的某个时间期间(例如,在正常工作日的工作时间期间)查看产品并在一天的另一个时间期间(例如,在工作日的午餐期间、或在正常工作时间之后)购买产品的趋势。结果,可以在与用户购买产品的趋势相对应的时间发送web推送消息(并且用户不必为了web推送通知的接收/显示而处于商家的网站上)。
实施例可以使用浏览器/服务工作线程/渐进式web应用在用户的电子设备的显示器上显示与web推送消息相对应的web推送通知。例如,服务工作线程(例如脚本)可以与渐进式web应用一起运行,并且该服务工作线程可以被用于显示web推送通知。在一些实施例中,用于web推送通知的内容可以包括用于与用户互动的界面。例如,在放弃的购物车示例中,可以用于购买放弃的产品的web链接(例如,统一资源定位符)可以被包括在web推送通知中。在其他示例中,识别出的模式可以指示与用户互动的其他内容或技术,并且这些项目可以被包括在相关的web推送通知中。
在整个说明书中描述的本公开的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。例如,“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其他类似语言的使用在整个说明书中指的是结合实施例描述的特定特征、结构或特性可以被包括在本公开的至少一个实施例中的事实。因此,短语“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其他类似语言的出现在整个说明书中不一定全指的是相同组实施例,并且描述的特征、结构或特性可以以任何合适的方式被组合在一个或多个实施例中。
本领域的普通技术人员将容易地理解,可以以不同顺序的步骤和/或以与所公开的配置不同的配置的元件来实践如上所述的实施例。因此,尽管本公开考虑了概述的实施例,但是对于本领域技术人员显而易见的是,某些修改、变化和替代构造将是显而易见的,同时仍在本公开的精神和范围内。因此,为了确定本公开的边界和范围,应参考所附的权利要求书。

Claims (20)

1.一种用于使用模式识别来处理事件流以与渐进式web应用进行通信的方法,所述方法包括:
接收代表用户与web浏览器和渐进式web应用的交互的事件流;
结合关于所述用户的上下文数据来处理所述事件流;
在所述事件流内识别多个预定模式中的一个预定模式;并且
基于识别出的模式将web推送消息发送到所述用户的电子设备,其中基于该识别出的一个模式来生成所述web推送消息的内容。
2.根据权利要求1所述的方法,其中结合关于所述用户的上下文数据来处理所述事件流。
3.根据权利要求2所述的方法,其中在所述事件流和所述上下文数据内识别出所述多个预定模式中的一个预定模式。
4.根据权利要求3所述的方法,其中基于所述识别出的一个模式和所述上下文数据来生成所述web推送消息的内容。
5.根据权利要求4所述的方法,其中在发送所述web推送消息之前,将服务工作线程加载到所述用户的电子设备上,并且由所述服务工作线程在所述用户的电子设备上显示与所述web推送消息相对应的web推送通知。
6.根据权利要求5所述的方法,其中所述服务工作线程包括被配置为与所述web浏览器和所述渐进式web应用一起执行的脚本。
7.根据权利要求4所述的方法,其中在所述事件流和所述上下文数据内识别出所述一个模式还包括:将动作流中的一个或多个事件与针对所述识别出的一个模式定义的动作进行匹配,并将关于所述用户的上下文数据与针对所述识别出的一个模式定义的上下文数据进行匹配。
8.根据权利要求7所述的方法,其中匹配的事件包括至少两个事件,并且匹配的上下文数据至少包括所述用户的交易历史。
9.根据权利要求8所述的方法,其中所述web推送消息的调度定时是基于所述识别出的一个模式或所述上下文数据的。
10.根据权利要求4所述的方法,其中所述事件流是由Apache Kafka生产者产生的,并且所述事件流是由Apache Kafka处理元件处理的。
11.根据权利要求4所述的方法,其中所述识别出的模式包括以下中的至少一个:A后跟B模式、A后不跟B模式、丢失事件模式、重复事件模式、改变检测器模式、上升/下降趋势模式、或基于位置的模式。
12.根据权利要求4所述的方法,其中所述上下文数据包括以下中的中的一个或多个:所述用户的交易历史、所述用户的浏览模式、或所述用户的位置。
13.一种具有存储在其上的指令的非暂态计算机可读介质,所述指令在由处理器执行时,使所述处理器使用模式识别来处理事件流以与渐进式web应用进行通信,其中,所述指令在被执行时使所述处理器执行以下操作:
接收代表用户与web浏览器和渐进式web应用的交互的事件流;
结合关于所述用户的上下文数据来处理所述事件流;
在所述事件流内识别多个预定模式中的一个预定模式;并且
基于识别出的模式将web推送消息发送到所述用户的电子设备,其中基于该识别出的一个模式来生成所述web推送消息的内容。
14.根据权利要求13所述的计算机可读介质,其中结合关于所述用户的上下文数据来处理所述事件流。
15.根据权利要求14所述的计算机可读介质,其中在所述事件流和所述上下文数据内识别出所述多个预定模式中的一个预定模式。
16.根据权利要求15所述的计算机可读介质,其中基于所述识别出的一个模式和所述上下文数据生成所述web推送消息的内容。
17.根据权利要求16所述的计算机可读介质,其中在发送所述web推送消息之前,将服务工作线程加载到所述用户的电子设备上,并且由所述服务工作线程在所述用户的电子设备上显示与所述web推送消息相对应的web推送通知。
18.根据权利要求16所述的计算机可读介质,其中在所述事件流和所述上下文数据内识别所述一个模式还包括:将动作流中的一个或多个事件与针对所述识别出的一个模式定义的动作进行匹配,并将关于所述用户的上下文数据与针对所述识别出的一个模式定义的上下文数据进行匹配。
19.根据权利要求18所述的计算机可读介质,其中匹配的事件包括至少两个事件,并且匹配的上下文数据至少包括所述用户的交易历史。
20.一种用于使用模式识别来处理事件流以与渐进式web应用进行通信的***,所述***包括:
处理器;以及
存储器,存储由所述处理器执行的指令,所述指令对所述处理器进行配置以执行以下操作:
接收代表用户与web浏览器和渐进式web应用的交互的事件流;
结合关于所述用户的上下文数据来处理所述事件流;
在所述事件流内识别多个预定模式中的一个预定模式;并且
基于识别出的模式将web推送消息发送到所述用户的电子设备,其中基于该识别出的一个模式来生成所述web推送消息的内容。
CN202080003241.5A 2019-01-28 2020-01-09 使用模式识别来处理事件流 Pending CN112292707A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/259,068 US20200244752A1 (en) 2019-01-28 2019-01-28 Processing an Event Stream Using Pattern Recognition
US16/259,068 2019-01-28
PCT/US2020/012866 WO2020159686A1 (en) 2019-01-28 2020-01-09 Processing an event stream using pattern recognition

Publications (1)

Publication Number Publication Date
CN112292707A true CN112292707A (zh) 2021-01-29

Family

ID=69469210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080003241.5A Pending CN112292707A (zh) 2019-01-28 2020-01-09 使用模式识别来处理事件流

Country Status (5)

Country Link
US (1) US20200244752A1 (zh)
EP (1) EP3918562A1 (zh)
JP (1) JP2022517891A (zh)
CN (1) CN112292707A (zh)
WO (1) WO2020159686A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800064A (zh) * 2021-02-05 2021-05-14 成都延华西部健康医疗信息产业研究院有限公司 一种基于Confluent社区开源版的实时大数据应用开发方法及***
CN113836235A (zh) * 2021-09-29 2021-12-24 平安医疗健康管理股份有限公司 基于数据中台的数据处理方法及其相关设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11297035B2 (en) * 2020-02-05 2022-04-05 Shopify Inc. Systems and methods for web traffic control
US11507438B1 (en) * 2020-02-28 2022-11-22 The Pnc Financial Services Group, Inc. Systems and methods for processing digital experience information
CN113783931B (zh) * 2021-08-02 2023-07-25 中企云链(北京)金融信息服务有限公司 一种物联网数据聚合、分析方法
US11681772B2 (en) 2021-08-13 2023-06-20 Capital One Services, Llc Systems, methods, and media enabling streamlined user experiences across progressive web applications
US11656881B2 (en) 2021-10-21 2023-05-23 Abbyy Development Inc. Detecting repetitive patterns of user interface actions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662516A (zh) * 2012-07-27 2015-05-27 谷歌公司 Web应用之间的消息发送
US20160014057A1 (en) * 2014-07-08 2016-01-14 Samsung Electronics Co., Ltd. Method and system for providing dynamically customized web push messages in a wireless network
US20190007511A1 (en) * 2017-06-22 2019-01-03 Aeris Communications, Inc. ISSUING ALERTS FOR IoT DEVICES

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120296697A1 (en) * 2011-05-17 2012-11-22 Amit Kumar Systems and methods for automated real time e-commerce marketing activities
WO2015188885A1 (en) * 2014-06-13 2015-12-17 Nec Europe Ltd. Method and system for determining a recommendation for content
US10375188B2 (en) * 2015-11-11 2019-08-06 Facebook, Inc. Sending notifications as a service
WO2019083909A1 (en) * 2017-10-24 2019-05-02 Antenna Audio, Inc. SYSTEMS AND METHODS FOR MULTIMEDIA GUIDED TOURS
US11170405B2 (en) * 2017-10-31 2021-11-09 Oracle International Corporation Cross-domain tracking for context aware mobile services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662516A (zh) * 2012-07-27 2015-05-27 谷歌公司 Web应用之间的消息发送
US20160014057A1 (en) * 2014-07-08 2016-01-14 Samsung Electronics Co., Ltd. Method and system for providing dynamically customized web push messages in a wireless network
US20190007511A1 (en) * 2017-06-22 2019-01-03 Aeris Communications, Inc. ISSUING ALERTS FOR IoT DEVICES

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800064A (zh) * 2021-02-05 2021-05-14 成都延华西部健康医疗信息产业研究院有限公司 一种基于Confluent社区开源版的实时大数据应用开发方法及***
CN112800064B (zh) * 2021-02-05 2023-06-02 成都延华西部健康医疗信息产业研究院有限公司 一种基于Confluent社区开源版的实时大数据应用开发方法及***
CN113836235A (zh) * 2021-09-29 2021-12-24 平安医疗健康管理股份有限公司 基于数据中台的数据处理方法及其相关设备
CN113836235B (zh) * 2021-09-29 2024-04-09 平安医疗健康管理股份有限公司 基于数据中台的数据处理方法及其相关设备

Also Published As

Publication number Publication date
US20200244752A1 (en) 2020-07-30
EP3918562A1 (en) 2021-12-08
JP2022517891A (ja) 2022-03-11
WO2020159686A1 (en) 2020-08-06

Similar Documents

Publication Publication Date Title
CN112292707A (zh) 使用模式识别来处理事件流
US10853847B2 (en) Methods and systems for near real-time lookalike audience expansion in ads targeting
US20180336597A1 (en) Offer personalization engine for targeted marketing of consumer packaged goods
US9665881B1 (en) Physical store online shopping control
JP7455252B2 (ja) セグメンテーション・アズ・ア・サービスのための方法及びシステム
JP5955286B2 (ja) 評価算出装置、評価算出方法及び評価算出プログラム
CA2907874A1 (en) On-site and in-store content personalization and optimization
US10318546B2 (en) System and method for test data management
US20140289036A1 (en) Marketing Prediction, Analysis, and Optimization
US20160196579A1 (en) Dynamic deep links based on user activity of a particular user
US20200098030A1 (en) Inventory-assisted artificial intelligence recommendation engine
US10380675B2 (en) Method, medium, and system for manipulation of dynamically assembled ecommerce web pages
US11126986B2 (en) Computerized point of sale integration platform
US20150221014A1 (en) Clustered browse history
US11615097B2 (en) Triggering a user interaction with a device based on a detected signal
US20230196399A1 (en) Computer-based systems and/or computing devices configured for implementing browser extensions that provide contextually relevant information to a user via a graphical user interface
US9589292B1 (en) Alternative item identification service
US11443350B2 (en) Mapping and filtering recommendation engine
US10540709B2 (en) Presentation of digital data
US20210090109A1 (en) Messaging, Protocols and APIs for Dynamic Inventory Provision by One-Time Codeshares Across Platforms
CN111881148A (zh) 对象组合的属性确定方法、装置、电子设备
US10885534B1 (en) Determining product demand

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