业务活动监视运行时程序的制作方法

文档序号:6378860阅读:194来源:国知局
专利名称:业务活动监视运行时程序的制作方法
技术领域
本申请涉及业务活动监视应用,特别是提供业务活动监视运行时程序。
背景技术
业务活动监视(BAM)应用包括一个或多个业务模型,这些业务模型可以包括处理模型、分析模型、规则等等。使用各种建模工具来创建和保存这些业务模型,依靠这些建模工具可以使用各种现有的应用来实现所述模型。传统地,业务应用包括一个或多个相关的模型以及可选地相应模型的部分或全部实现。另外,业务应用可以经历一个管控步骤,在该步骤中,由适合的授权机构、执行机构等来审阅、并批准或拒绝这些业务应用的组成模型以及这样的模型的改变。在批准之后,发布业务应用,并且随后可以针对完整性和一致性来验证所发布的业务应用的组成模型以及它们各自的实现。

发明内容
提供本发明内容以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。在一个实施例中,将数据从被监视的应用中的应用编程接口(API)提供给收集运行时程序。收集运行时程序基于数据收集模型来收集数据。将当前时间增量分配给所收集的数据。将所收集的数据作为事件数据流提供给事件处理服务,所述事件处理服务对所述数据流执行一个或多个查询。查询的结果被提供给数据存储和/或用户接口。根据数据收集简档创建数据收集模型,并且,根据观察模型创建查询。


为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中图I是业务活动监视(BAM)服务的高级框图。图2示出在BAM运行时程序的一个实施例中的事件处理(EP)服务的组件。图3是概述根据一个实施例的用于监视业务应用的过程的流程图。图4是概述根据一个实施例的用于使用数据收集模型的过程的流程图。图5是概述根据一个实施例的用于生成查询模型的过程的流程图。图6显示了其上可以实现图1-5的示例的适当的计算和网络环境的示例。
具体实施例方式业务活动监视(BAM)提供了一种用于监视业务过程的业务活动的体系结构。该体系结构的部分是一个执行层,该执行层收集由应用发出的事件,并随后基于业务用户建模的意图来计算感兴趣的事件和KPI (关键性能指示符)。由应用组件发出的原始事件被建模为事件流,其中各事件具有计算时使用的生命周期。流还具有当前时间增量(CTI)的概念,该当前时间增量可以是推断出的或计算出的。在一个实施例中,应用编程接口(API)被各应用用来发出事件。一旦发出事件,事件处理器收集这些事件,并将它们转换成依赖于感兴趣的KPI的事件流。图I是业务活动监视(BAM)服务的高级框图。简档储存 库101保持用于数据收集的模型。这些模型标识对哪些数据是感兴趣的以及如何收集该数据。数据收集模型标识从哪收集来自用户业务应用的数据/从用户业务应用收集哪些数据/如何从用户业务应用收集数据。例如,如果被监视的应用是订购过程,则模型可以标识应该收集哪些订单和顾客信息以及如何收集这些数据。将模型应用到用户的被监视的应用102,该应用可以是业务应用、网站或任何感兴趣的代码。监视API 103监视应用102中的代码调用。监视API 103标识并跟踪被监视的应用102中的数据。收集运行时程序104从简档储存库101读取模型以标识感兴趣的数据。收集运行时程序104从监视API 103收集数据,并随后选择由模型所标识的相关数据。在这种方式中,监视API 103本身不需要被修改以收集感兴趣的具体数据。相反,在收集运行时程序104中使用模型来确定哪些数据是感兴趣的。收集运行时程序104创建收集在事件存储105中的数据流。事件存储中的数据由监视应用106来处理。不同的事件存储105可被用于不同的被监视应用,或者单个事件存储105可保持多个应用102的数据。一个单独的监视应用106可被用于每个用户或每个被监视的应用102。监视应用106中的输入适配器107与一个或多个事件存储105通信。存在许多不同类型的事件存储105,例如不同的数据库,并且输入适配器107被配置为与每个类型的事件存储105通信并从其提取数据。输入适配器107按需转换或修改自事件存储105的数据,并将所述数据提供给查询模块108。查询模块108对从被监视的应用102处收集到的数据执行计算和查询。这些计算和查询的结果被提供给输出适配器109。输出适配器109与一个或多个观察/KPI存储110通信。存在许多不同类型的观察/KPI存储110,例如不同的数据库。输出适配器109被配置为与每个类型的观察/KPI存储110通信,并将数据推入存储110中。输出适配器110按需转换或修改来自查询模块108的数据,并将所述计算的输出提供给观察/KPI存储110。BAM REST (代表性状态转换)服务111向用户提供对存储在观察/KPI存储110中的数据的访问权。BAM REST服务111提供了用于显示和/或进一步分析从查询模块108输出的数据的工具。BAM REST服务111可以以用户所请求的格式来显示该数据。在一个实施例中,BAM REST服务111提供了数据订阅源,例如RSS订阅源,包括查询模块108的输出。BAM门户112提供了计算数据的附加输出。在一个实施例中,BAM门户112增强、组织或细化从BAM REST服务111输出的数据,并将所述数据显示给用户。例如,BAM门户112可以使用来自BAM REST服务111的数据并为用户创建图表、表格或其它增强的显示。在其它实施例中,BAM门户112可以提供允许用户从观察/KPI存储110中检索所选的数据的接口,所选的数据为例如来自某个时间段的数据或用于特定被监视的应用102的数据。监视应用102可以进一步包括定义用于数据收集的参数(诸如哪些/哪里/何时数据收集)的收集简档113。这些收集简档113可以基于存储在简档储存库101中的数据收集模型。BAM组件/服务接口 114访问收集简档113以及观察模型115。BAM组件/服务接口 114使用EP代理117来创建用于查询模块108的查询。查询模块108与输入适配器107和输出适配器109 —起可以是使用流处理架构的事件处理(EP)服务116的部分。通过事件存储105,由EP服务116来处理来自收集运行时程序104的事件流。所述流可以表示从诸如制造和金融交易应用或Web或操作分析之类的业务应用处收集到的数据。EP服务116计算或查询来自事件流的数据以标识模式、KPI、趋势、异常以及警告。在一个实施例中,EP服务116可以使用微软的STREAMINSIGHTTM平台。·EP代理117基于观察模型115创建用于查询模块108的查询。观察模型115中的计算可以被转换为由查询模块108对来自事件存储105的数据流应用的查询。从收集运行时程序104输出到事件存储105并随后到EP服务116的数据流与生成该数据的时间相关联,并与当前时间指示符(CTI)相关联。可以对该数据进行分区,以便扩展处理,例如处理较大量的事件。EP服务116和查询模块108可以处理对数据流的分区。监视应用106可以包括多个EP服务116和计算108。在数据流内的不同分区可以被路由到不同的计算108。可以基于用户或模型中的参数来选择查询模块108。在一个实施例中,查询模块108可以是从不同的被监视的应用102中收集数据并将相关的数据联合在一起的联合计算。例如,在业务过程中,可以存在用于订购商品、准备所订购的商品的运送以及处理用于商品购买的信用卡的分开的应用。简档储存库101中的模型被监视API 103和收集运行时程序104用于从这些不同的应用中收集相关的数据。从这些应用收集的数据被流传送给联合查询模块108,该模块将相关的数据联合在一起。经联合的数据可以在分析查询模块108中被进一步处理和/或通过BAM REST服务111或BAM门户112显示给用户。在图I中示出的BAM服务是高度可缩放的。监视应用106中的所有组件可以在单个服务器上执行,或者它们各自都可以在单独的服务器上执行。图2示出在BAM运行时程序的一个实施例中的事件处理(EP)服务200的组件。输入适配器201接收数据或事件流。在EP服务中可以存在多个输入适配器201,每个适配器被配置为与一个不同的数据源操作。输入适配器201可以被耦合到被监视的应用中的收集运行时程序或事件存储。输入适配器201将所接收的数据或事件流转换成查询202可用的格式。在图2所示出的实施例中,查询202是联合查询。然而,可以理解,查询可以是任何类型的查询,例如分析、KPI或观察/模型(OM)查询。联合查询202从输入适配器201接收经格式化的输入,并对数据流执行联合计算。在一个实施例中,来自不同应用的不同数据集被组合成联合查询202。基于特定用户、应用或CTI来联合数据。联合查询202将其计算的结果提供给输出适配器203。在一个实施例中,输出适配器203被配置为将来自联合查询202的数据提供给SQL服务器。可以理解,输出适配器203可以另选地被配置为将输出提供给另一服务器或给其它代码以便进一步处理。联合查询202的输出可以被提供给单个目的地或多个源。例如,联合查询202的输出还可以被路由给KPI查询204和KPI查询205以便进一步处理。KPI查询204的输出可以被提供给输出适配器,例如SQL输出适配器206,或给另一个KPI查询,例如KPI SLA (月艮务级协议)查询207。来自查询的数据可以如在207中所示的在存储器中传输,而不使用输出适配器。可以将KPI查询205的输出提供给另一个输出适配器208,该适配器将数据路由到观察/KPI存储、BAM REST服务或BAM门户,在这些地方用户可以访问所述数据。图3是概述根据一个实施例的用于监视业务应用的过程的流程图。在步骤301中, 由API监视业务应用,所述API将数据提供给收集运行时程序。在步骤302,收集运行时程序基于数据收集模型从业务应用收集数据。所述数据收集模型标识哪些数据要被收集,如何收集数据以及何时收集数据。在步骤303,所收集的数据被分配给当前时间增量。在步骤304,将所收集的数据作为事件数据流提供给事件处理服务。事件数据流可以与当前时间增量(CTI)相关联。在一个实施例中,可以在事件数据到达事件处理器之前,由输入适配器对其进行转换。在步骤305,事件处理服务对事件数据流执行一个或多个查询。所述查询可以是观察/模型查询、联合查询、KPI查询或任意其它分析。在步骤306中,查询的结果被提供给数据存储和/或用户接口。在一个实施例中,可以在结果数据到达数据存储或用户接口之前,由输出适配器对其进行转换。用户接口可以是例如BAM REST服务和/或BAM门户。图4是概述根据一个实施例的用于使用数据收集模型的过程的流程图。在步骤401,从用户或其它源接收数据收集简档。在步骤402,根据数据收集简档创建数据收集模型。数据收集模型标识要从业务应用中收集的数据以及这种数据收集的方式和时间。在步骤403,数据收集模型被提供给在被监视的业务应用中的收集运行时程序。在步骤404,收集运行时程序根据数据收集模型从被监视的业务应用收集数据。收集运行时程序可以将数据收集模型应用于从业务应用中的监视API提供的数据。在步骤405,将所收集的数据从收集运行时程序提供到事件处理服务。将所述数据作为事件流来提供。事件流中的数据可以与当前时间增量相关联。图5是概述根据一个实施例的用于生成查询模型的过程的流程图。在步骤501,从用户或其它源接收观察模型。在步骤502,将观察模型提供给事件处理代理。在步骤503,事件处理代理将观察模型转换为可以由事件处理服务执行的查询。在步骤504,将查询提供给事件处理服务。事件处理服务从被监视的业务应用上的收集运行时程序接收数据流。在步骤505,对数据流运行查询。在步骤506中,查询的结果被提供给观察/KPI存储以供进一步处理并显示给用户。可以理解,在图3-5中所说明的过程中示出的步骤可以同时和/或顺序执行。可以进一步理解,每个步骤可以以任意顺序执行,并可被执行一次或重复执行。图6显示了在其上面可以实现图1-5的示例的适当的计算和网络环境600的示例。计算系统环境600只是合适计算环境的一个示例,而非意在暗示对本发明使用范围或功能有任何限制。本发明可用各种其他通用或专用计算系统环境或配置来操作。适用于本发明的公知计算系统、环境、和/或配置的示例包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括任何以上系统或设备的分布式计算环境
坐坐寸寸O本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。请参看图6,用于实现本发明的各个方面的示范性系统可以包括以计算机600的形式存在的通用计算设备。组件可以包括,但不限于,处理单元601、诸如系统存储器的数据存储602、以及将包括数据存储602的各种系统组件耦合到处理单元601的系统总线603。系统总线603可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线,以及也称为夹层(Mezzanine)总线的外围部件互连(PCI)总线。计算机600通常包括各种计算机可读介质604。计算机可读介质604可以是能由计算机601访问的任何可用介质,并同时包含易失性和非易失性介质以及可移动、不可移动介质。作为示例而非限制,计算机可读介质604可包括计算机存储介质和通信介质。计算机存储介质包括以存储诸如计算机可读的指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质·包括,但不仅限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可以被计算机600访问的任何其他介质。通信介质通常以诸如载波或其他传输机制之类的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上面各项中的任何项的组合也包括在计算机可读介质的范围内。数据存储或系统存储器602包括诸如只读存储器(ROM)和/或随机存取存储器(RAM)之类的易失性和/或非易失性存储器形式的计算机存储介质。基本输入/输出系统(BIOS)包含有助于诸如启动时在计算机600中元件之间传递信息的基本例程,它通常被存储在ROM中。RAM通常包含处理单元601可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制性,存储器602保存操作系统、应用程序、其他程序模块、和程序数据。计算存储602还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,数据存储602可以是对不可移动、非易失性磁介质进行读写的硬盘驱动器,对可移动、非易失性磁盘进行读写的磁盘驱动器,以及对诸如CD ROM或其它光学介质等可移动、非易失性光盘进行读写的光盘驱动器。可在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。上文所描述的并且在图6中所显示的驱动器以及它们的关联的计算机存储介质,为计算机600提供对计算机可读取的指令、数据结构、程序模块及其他数据的存储。用户可通过用户接口 605或诸如平板、电子数字化仪、话筒、键盘和/或定点设备(通常指的是鼠标、跟踪球或触摸垫)等其它输入设备输入命令和信息。其他输入设备可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些及其他输入设备常常通过耦合到系统总线603的用户输入接口 605连接到处理单元601,但是,也可以通过其他接口和总线结构,如并行端口、游戏端口或通用串行总线(USB),来进行连接。监视器606或其他类型的显示设备也通过诸如视频接口之类的接口连接至系统总线603。监视器606也可以与触 摸屏面板等集成。注意到监视器和/或触摸屏面板可以在物理上耦合至其中包括计算设备600的外壳,诸如在平板型个人计算机中。此外,诸如计算设备600等计算机还可以包括其他外围输出设备,诸如扬声器和打印机,它们可以通过输出外围接口等连接。计算机600可使用至一个或多个远程计算机(如远程计算机)的逻辑连接607在网络化环境中操作。远程计算机可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并且一般包括上面相对于计算机600所述的许多或全部元件。图6中所描述的逻辑连接包括一个或多个局域网(LAN)和一个或多个广域网(WAN),但是,也可以包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。当在LAN网络环境中使用时,计算机600通过网络接口或适配器607连接至LAN。当在WAN联网环境中使用时,计算机600通常包括调制解调器或用于通过诸如因特网等的WAN建立通信的其它装置。调制解调器可以是内置或外置的,它经由网络接口 607或其它适当的机制连接至系统总线603。诸如包括接口和天线的无线联网组件可通过诸如接入点或对等计算机等合适的设备耦合到WAN或LAN。在联网环境中,相对于计算机600所示的程序模块或其部分可被存储在远程存储器存储设备中。可以理解,所示的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其他手段。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种业务活动监视系统,包括收集运行时组件(104),所述收集运行时组件被配置为根据数据收集模型从被监视的业务应用收集数据并将所收集的数据作为事件流来提供;以及事件处理组件(116),所述事件处理组件被配置为对所述事件流运行查询,由观察模型来确定所述查询。
2.如权利要求I所述的业务活动监视系统,其特征在于,还包括适用于将所述观察模型转换成查询的事件处理代理组件。
3.如权利要求I所述的业务活动监视系统,其特征在于,还包括耦合到所述收集运行时组件的事件存储,所述事件存储适用于存储所述事件流中的数据。
4.如权利要求I所述的业务活动监视系统,其特征在于,还包括代表性状态转换(REST)服务,所述代表性状态转换服务被耦合到所述事件处理组件并适用于将所述事件处理组件的输出提供给一个或多个用户。
5.如权利要求I所述的业务活动监视系统,其特征在于,其中事件流数据与当前时间增量相关联。
6.一种用于监视业务活动的方法,包括定义一个或多个数据收集模型(402);基于所述数据收集模型从被监视的应用收集数据(404);将所收集的数据作为事件流提供给监视应用(405);对所述监视应用中的事件流运行查询,所述查询基于观察模型(503 );以及将所述查询的结果提供给数据存储(506 )。
7.如权利要求10所述的方法,其特征在于,还包括使用在所述被监视的应用上运行的收集运行时程序从所述被监视的应用收集数据。
8.如权利要求10所述的方法,其特征在于,还包括接收数据收集简档;以及根据所述数据收集简档定义所述数据收集模型。
9.如权利要求10所述的方法,其特征在于,还包括接收观察模型;以及使用事件处理服务代理将所述观察模型转换为查询。
10.如权利要求10所述的方法,其特征在于,还包括将来自所述数据存储的所述查询结果提供给代表性状态转换(REST)服务,所述REST 服务适用于将所述事件处理组件的输出提供给一个或多个用户。
全文摘要
本申请涉及业务活动监视运行时程序。公开了用于监视业务应用的系统和方法。将数据从被监视的应用的应用编程接口(API)提供至收集运行时程序。收集运行时程序基于数据收集模型来收集数据。将当前时间增量分配给收集到的数据。将所收集的数据作为事件数据流提供给事件处理服务,所述事件处理服务对所述数据流执行一个或多个查询。查询的结果被提供给数据存储和/或用户接口。根据数据收集简档创建数据收集模型,并根据观察模型创建查询。
文档编号G06F17/30GK102929759SQ20121039117
公开日2013年2月13日 申请日期2012年10月15日 优先权日2011年10月13日
发明者J·R·高特缇, R·塔尔沃, K·K·科利, T·K·纳亚克 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1