业务过程日志记录的系统和方法

文档序号:6369158阅读:322来源:国知局
专利名称:业务过程日志记录的系统和方法
技术领域
本发明涉及用于业务过程的高性能的、目的驱动的(purpose-driven)日志记录的软件、计算机系统、以及计算机实现的方法。
背景技术
各组织在它们自己的组织内部以及跨越公司界线执行操作、交易、以及业务过程,诸如通过与比如业务伙伴、配送中心、外包公司、合规审计方、银行和后勤提供商的外部实体开展业务。许多业务模型已经从単一的企业业务模型演变成为互相连接的以及网络化的业务模型。在运行过程期间,业务过程将它们的操作记录在过程日志中。各个过程參与方、实体、以及用户可以查看过程日志以确定所运行的业务过程的各种操作的有效和成功。业务过程建模标注法(Businessprocess modeling notation,BPMN)是用于业务过程建模的标准,并且可用于以具有不同技术知识和能力的个体通常可理解的形式来设计 和创建详细的业务过程。一般来说,BPMN的目标在于通过提供对于业务用户来说直观却能够表示复杂的过程语义的标注,来支持全部技术用户和业务用户两者的业务过程管理。此夕卜,BPMN规范可以与业务过程运行语言(Business Process Execution Language, BPEL)引擎一起使用,以提供标注的图形与运行语言的底层构造之间的映射。在其它实例中,基于BPMN的过程执行运行时可以用来翻译、处理和理解BPMN。因为全部技术用户和业务用户两者都可以理解BPMN,所以网络化的业务过程可以使用BPMN来描述,从而为来自不同实体的用户提供理解的共同点。BPMN设计的业务过程可以与日志记录(logging)机制或模块相关联,以便在开发或生产运行时环境中在运行时记录系统的操作和/或任何人的交互。

发明内容
本公开涉及在运行时过滤业务过程日志记录信息的系统、软件和计算机实现的方法。一个过程包括接收与至少ー个实体的运行相关联的日志记录信息的集合,至少ー个实体与定义用于执行定义的业务过程的业务过程实体的集合的业务过程模型相关联;识别与实体相关联的过程日志过滤器规则;将识别出的过程日志过滤器规则应用到所接收的日志记录信息的集合,以生成与实体的运行相关联的日志记录信息的经过滤的集合;以及将日志记录信息的经过滤的集合存储在与实体的运行相关联的过程日志中。识别与实体相关联的过程日志过滤规则可以包括识别实体特性以及确定与识别出的实体特性相对应的至少一个过程日志过滤器规则。虽然一般描述为体现在具体介质上的计算机实现的软件处理和变换各个数据,一些或全部方面可以是计算机实现的方法,或者进ー步包括在用于执行这个描述的功能的各个系统或其它设备中。本公开的这些和其它方面以及实施例的细节在附图和以下的描述中阐明。从所述描述和附图以及从权利要求中,本公开的其它特征、对象和优点将变得清晰。


图I示出用于实现提供业务过程的高性能的、目的驱动的日志记录的系统的各种特征的示例环境。图2A示出在向诸如图I中描述的系统的合适系统中的一个或多个业务过程实体自动指定特定的日志记录粒度(granularities)之前、以业务过程模型标注法(BPMN)示出的示例业务过程的框图。图2B示出在已经向示例业务过程的各种业务过程实体指定日志记录粒度的集合之后、在图2A中示出的示例业务过程的框图。图3是用于在设计时将过程日志记录粒度应用到一个或多个业务过程实体的示例过程的流程图。图4是用于在运行时确定应用到特定业务过程实体的动态过程日志记录粒度的示例过程的流程图。 图5是用于将运行时过程日志过滤器应用到在特定业务过程的运行期间接收到的过程日志信息的至少ー个集合的示例过程的流程图。
具体实施例方式本公开一般描述了用于提供业务过程的高性能的、目的驱动的日志记录的计算机系统、软件和计算机实现的方法,以及在运行时对与业务过程日志记录的结果相关联的灵活的过滤准则的应用。本公开提供了增强由不同类型的业务过程实体所生成的信息、以及在相关联的过程日志中保持的该信息的级别、数量、细节、和/或粒度的日志记录的工具和过程。一般来说,业务过程日志允许对过程运行的事后检查,以及对“活动的”(即,尚未终止的)过程实例的运行的检查。存储在过程日志中的信息可用来理解业务过程在连接的或相关的应用和系统中产生的效果,为过程及其实体如何执行提供审计跟踪(audit trace),检测业务过程的运行期间所发生的错误和非预期的行为,识别过程所消费的资源、查看用户交互、以及确认所运行的过程步骤的及时的次序。在一些系统中,可以为业务过程提供单一级别的过程日志记录粒度,从而为与业务过程本身相关联地运行的每个实体收集类似级别和深度的信息。然而,在一些实例中,除了其它的以外,在特定业务过程实体(或作为ー个整体的业务过程)中所要求的粒度的级别可以与其它过程、过程实体、过程实例不同。此外,使用过程日志的目的也可以确定需要由日志记录过程产生、以便适当地执行该目的的信息的级别。对于不同的目的,过程日志记录粒度的级别可以不同,包括所日志记录的业务过程事件的频率、数量和细节的级别。而且,特定过程的日志记录粒度也可以取决于其它的影响,比如,当前处理的业务过程实体(即,活动、关ロ(gateway)、事件等)、与运行的业务过程相关联的语义过程分段(semantic process fragment)、或其它上下文相关的參数。虽然精细(fine)级别的过程日志记录粒度可以提供整个业务过程的完整的过程日志和/或运行轨迹,但是精细级别的过程日志记录粒度也可以是底层系统中附加的问题的原因,所述附加的问题包括若干个与性能有关的不利结果(penalty)。例如,当业务过程内的所有实体都被以精细粒度来记录日志时,用于存储日志条目的数据空间消费和过程运行速度两者都要受损。此外,为了记录日志而收集(assembling)和准备信息可能消费大量的运行时资源,包括CPU周期和主存储器。因此,系统的总拥有成本(TCO)増加了,而没有由需要过程日志的实际要求来调整。
本公开通过提供能够基于与作为ー个整体的业务过程实例相关联的设计时和运行时确定的组合、以及ー个或多个与各个业务过程实体自身相关联的规则和确定的集合,自动地向业务过程实例内的不同实体指定(assign)不同的过程日志记录粒度的机制和エ具,来部分地解决这些问题。除了自动指定各种日志记录粒度之外,具有适当访问级别的用户和管理员可以根据特定业务过程实例的特定需要或兴趣来手动地修改自动指定。在ー些实例中,这些改变可以被监视并且用作反馈,以进一歩修改ー个或多个与自动指定相关联的规则的集合,如此提供对本公开的学习元素。本公开的工具提供两个级别的过程日志记录增強。第一,基于设计时的粒度概念被引入,以用于业务过程模型(BPM)以及它们的相关联的实体。例如,BPM实体在业务过程实例被运行之前、基于与实体相关联的ー个或多个属性和信息,在设计时与特定粒度级别相关联。可以提供各种级别的日志记录粒度,比如,低级粒度、中级粒度和高级粒度,或基于严重程度(severity)的粒度级别,比如,“信息”、“警告”和“错误”。在各种实施方案中可以指定或使用附加以及不同级别的粒度,包括比在本示例中描述的三个级别更多或更少级别的粒度。粒度确定可以从底层元数据模型实体指定(基于ー个或多个与关联的BPM关联 的规则)自动地得到,而自动得到的粒度——基于过程模型中可用的信息而得到的,比如过程实体类型(例如,活动、事件、关ロ等)以及其它属性一一可以由与该特定业务过程相关联的技术人员或用户手动修改。不同类型的操作可以与适当的不同粒度相关联。例如,因为决策(decision)关ロ可能具有较少的与其关联的因果关系(consequence)或相关的动作,所以决策关ロ实体可以与低级别的过程日志记录粒度相关联。相反,对特定业务过程实例的运行具有直接影响的用户任务可以与高粒度级别的过程日志记录相关联,以便确保用户和管理员以后例如为了审计目的而查看用户任务的操作和效果的能力。在一些实例中,过程日志记录粒度可以被指定为根据ー个或多个特定运行时上下文的值、而在运行时最终确定的值的动态集合。例如,如果用户任务导致特定的输入/输出A,则相关联的用户任务的粒度可以被设置为“中”,而如果用户任务导致特定的输入/输出B,则该任务的粒度可以设置为“高”。换句话说,在设计时确定粒度的严重程度或粒度的级别。该确定可以是静态指定或者可以考虑模型数据。在运行时,严重程度或粒度级别与日志级别相匹配,所述日志级别可以被指定给过程实例或者从用户定义的规则中计算出。作为第二部分,本公开所描述的工具还提供用于在用作不同日志记录粒度、或日志记录的信息中所包括的特定信息的附加过滤器的、业务过程管理套件(BPMS)运行时中配置日志记录级别。具体来说,运行时过滤器基于(已经导致日志记录事件的过程实体的)严重程度或日志记录粒度是否大于或等于预先确定和/或预先定义的值或日志级别的事实来确定是否将对事件进行日志记录。运行时日志级别过滤器可以基于在已经进行了初始过程日志记录粒度指定之后接收或应用的规则或信息的第二集合。运行时过滤器的日志级别可以用来使相同业务过程的不同实例的日志记录适合于特定运行时环境或特定用户。在一个示例中,运行时过滤器的相关联日志级别可以被适配为,仅当满足与业务实体的日志记录信息相关联的预先定义的參数吋,比如当日志记录的信息的特定集合对应于错误相关的信息或种类的特定集合吋,才存储信息。一般来说,基干与日志级别相关联的信息和所接收的日志记录信息,运行时过滤器的日志级别在运行时可以是静态的或者可以是动态的。两种方法——(I)向过程模型或实例应用设计时日志记录粒度/严重程度和(2)向特定过程实例和日志记录事件应用日志级别运行时过滤器一通常被分开应用,尽管它们可以以互补方式应用以便在设计时应用特定过程日志记录粒度,而在运行时进一歩精化(refine)所收集的信息量。第一种方法可以减少特定业务过程实体的初始记录或监视的数据量,而第二种方法可以减少对存储在关联数据库或数据仓库中的日志记录信息的频率,由此使总体日志记录和系统性能受益。在一个实例中,所述方法的组合可以包括(I)导致是否应当对事件进行日志记录的是/否决策的纯过滤器,以及(2)对用于特定事件的日志的细节的级别的确定。 日志级别可以以不同的方式来配置。例如,相同的日志记录级别可以被应用到下列各项中的实体(I)与特定BPMS相关联的所有业务过程、(2)特定业务过程模板或版本、或(3)特定业务过程实例。可替换地,日志级别可以在组件层级结构(即,过程模板被组织成不同的项目或包)的级别上定义,不同类型的日志级别向下传播经过整个组件子树或嵌套的组件和动作。此外,日志级别可以从过程使用从属性(process-usage dependency)中导出,其中子流从其父流中继承其日志记录级别。此外,特定实体的日志级别可以从可以对任何可用的上下文数据操作的特定业务规则中确定,所述任何可用的上下文数据包括过程模板、数据上下文、所涉及的与特定过程实例交互的人或系统、以及其它适合的信息。在设计时提供的初始日志级别和在运行时应用的运行时过滤器两者都可以与包括同一业务过程的不同实例的不同实施方案中的业务过程的全部或部分相关联。本公开的优点很多。第一,在这里描述的工具允许在设计时基于预先定义的规则或规则集合自动指定默认日志记录粒度或严重程度,所述预先定义的规则或规则集合可以将定义业务过程及其关联的实体的信息应用到一个或多个规则,以确定与在业务过程中定义的事件相关联的日志记录粒度或严重程度级别。此外,自动指定的默认日志记录粒度可以由适当的用户或实体手动地修改,以便根据需要(以日志记录要求)定制特定业务过程。手动修改也可以合并到学习机制中,学习机制可用来更新ー个或多个预先定义的规贝U,供将来在一些实施方案中使用。运行时过滤器可以清理和/或限制与要存储在过程日志中的日志条目的相关联的细节的数量,从而降低数据库容量增长并提高总体性能。在一个示例中,运行时过滤器可以运行规则以从将不对其进行日志记录的事件中去除机密信息(即,信用卡号等),比如当法律规定禁止这样的动作吋。除了其它的之外,所述方案共同地(collectively)应对各种日志记录用例,包括错误搜索、审计轨迹(audit trail)、以及追踪(tracing),并且可以基于存储在过程日志中的集中的(focused)信息集合来提供更加用户友好的过程日志。图I示出用于实现提供业务过程的高性能的、目的驱动的日志记录的系统的各种特征的示例环境100。示出的环境包括、或者可通信地耦接到至少ー个业务过程服务器102和一个或多个客户端150、171。客户端150、171中的至少ー些和业务过程服务器102可以跨越或者经由网络177通信。一般,环境100描绘了能够提供目的驱动的业务过程日志记录过程的系统的示例配置,其提供了更高的系统性能和更加集中的业务过程日志记录能力。在替换实施方案中,在业务过程服务器102和/或客户端150、171内示出的元素可以被包括在除了图I中所示出的之外的不同的和/或附加的服务器、客户端、网络或位置中,或者与除了图I中所示出的之外的不同的和/或附加的服务器、客户端、网络或位置相关联。例如,在业务过程服务器102内示出的组件可以包括在能访问业务过程服务器102 (例如,直接地或经由网络177)的多个服务器、基于云的网络、或其它位置。一般来说,业务过程服务器102是经由一个或多个业务过程应用132存储和运行业务过程的任何服务器,其中业务过程应用132与业务过程模型114的至少ー个实例相关联。例如,姆个服务器102可以是遵从Java 2平台企业版(Java 2Platform, EnterpriseEdition, J2EE)的应用服务器,其包括Java技术,比如,企业JavaBeans (EnterpriseJavaBeans, EJB)> J2EE 连接器体系结构(J2EE Connector Architecture, JCA)> Java 消息服务(Java Messaging Service, JMS)、Java命名和目录接ロ(Java Naming and DirectoryInterface, JNDI)、以及 Java 数据库连通性(Java Database Connectivity, JDBC)。在有些实例中、每个业务过程服务器102可以存储多个不同的其它应用,而在其它的实例中,每个业务过程服务器102可以是专用服务器,意图用来存储和运行特定业务过程应用132及其相关功能,以及特定业务过程应用132的集合。在一些实例中,业务过程服务器102可以包含网络(web)服务器或者可通信地耦接到网络服务器,其中与服务器102相关联的特定业务过程应用132表示在一个或多个关联客户端150、171上访问和运行的基于网络(可网络访问)的应用,以执行相应的业务过程应用132的编程的任务或操作,以及提供与业务过 程的用户交互。在高级别,业务过程服务器102包含电子计算设备,其可操作以接收、发送、处理、存储、或管理与环境100相关联的数据和信息。图I中示出的业务过程服务器102能够负责接收来自ー个或多个客户端150、171 (以及与业务过程服务器102交互的任何其它实体或系统)的应用请求,通过在相关联的业务过程应用132中处理接收到的请求来对所述请求做出响应,以及将适当的响应从业务过程应用132发回到请求客户端150、171或其它请求系统。业务过程应用132也可以对来自本地访问相关联的业务过程服务器102的用户的本地请求进行处理和做出响应。因此,除了来自在图I中示出的外部客户端150、171的请求之外,与特定业务过程应用132相关联的请求也可以是从内部用户、外部或第三方顾客、以及其它关联的业务过程应用、以及任何其它适当的实体、个人、系统或计算机发送的。在一些实例中,业务过程应用132可以是运行与联网的或基于云的业务过程相关联的功能的基于网络的应用。如本公开所使用的那样,术语“计算机”意图涵盖任何适合的处理设备。例如,虽然图I示出了単一业务过程服务器102,但是环境100能够利用任何数目的服务器以及除了服务器之外的计算机,包括服务器池,来实现。实际上,业务过程服务器102可以是任何计算机或处理设备,比如,例如,刀片服务器、通用个人计算机(PC)、Macintosh、工作站、基于UNIX的工作站、或任何其它适合的设备。换句话说、本公开设想了除了通用计算机之外的计算机,以及没有传统操作系统的计算机。此外,所示出的业务过程服务器102可以被适配为运行任何操作系统,包括Linux、UNIX、Windows、Mac OS、或任何其它适合的操作系统。在图I示出的实施方案中,业务过程服务器102包括接ロ 105、处理器108、存储器111和业务过程应用132。示出的业务过程服务器102还包括若干附加的组件,包括业务过程模型粒度指定引擎138、日志过滤器引擎141、以及分析规则更新引擎144。在一些实例中,业务过程服务器102及其组件可以在物理上分成设计时工具(粒度指定引擎138是其ー部分)和运行时引擎(日志过滤器引擎141是其一部分)。虽然在图I的示例环境100中被示出为单ー组件,但是替换实施方案可以将业务过程服务器102示出为相应地包括多个部件或部分。接ロ 105被业务过程服务器102用来与连接到网络177的客户端-服务器或其它分布式环境(包括环境100内部)中的其它系统(例如,相关联的客户端150、171、以及可通信地耦接到网络177的其它系统)进行通信。图I既描绘服务器-客户端环境、也可以表示云计算网络。示出的环境100的各种其它实施方案可以被提供以允许底层系统中増加的灵活性,包括多个业务过程服务器102执行或运行业务过程应用132的一个或多个附加的或替换的实例、以及与业务过程应用132相关联的或者有关的其它应用。在这些实例中,不同的业务过程服务器102可以经由基于云的网络或通过网络177提供的连接相互通信。返回到示出的环境,接ロ 105 —般包含以适当的组合在软件和/或硬件中编码的逻辑,并且可操作以与网络177通信。更具体地说,接ロ 105可以包含支持与通信相关联的ー个或多个通信协议,从而网络177或接ロ的硬件可操作以在环境100内部和外部通信物理信号。通常,业务过程服务器102可以可通信地与网络177耦接,网络177促进环境100的组件之间(即,业务过程服务器102和一个或多个客户端150、171之间)的无线或有线通 信,以及可通信地与任何其它本地或远程计算机耦接,比如,可通信地耦接到网络177的附加的客户端、服务器、或其它设备,包括那些未示出在图I中的设备。在示出的环境中,网络177被描写成単一网络,但是其可以由多于ー个的网络组成,而不会背离本公开的范围,只要网络177的至少一部分可以促进发送方和接收方之间的通信即可。在一些实例中,与业务过程服务器102相关联的ー个或多个组件可以包括在网络177中,作为ー个或多个基于云的服务或操作。网络177可以是企业或安全网络的全部或一部分,而在另一个实例中,网络177的至少一部分可以表示到因特网的连接。在一些实例中,网络177的一部分可以是虚拟专用网络(VPN)。此外,网络177的全部或一部分能够包含有线或无线链路。示例无线链路可以包括802. lla/b/g/n、802. 20、WiMax、和/或任何其它适当的无线链路。换句话说,网络177涵盖可操作以促进示出的环境100内部和外部的各种计算组件之间的通信的任何内部或外部网络、子网络或其组合。例如,网络177可以在网络地址之间通信因特网协议(IP)分组、帧中继帧、异步传输模式(ATM)単元、语音、视频、数据、以及其它适合的信息。网络177也可以在ー个或多个位置上包括ー个或多个局域网(LAN)、无线接入网(RAN)、城域网(MAN)、广域网(WAN)、因特网的全部或部分、和/或任何其它通信系统。然而,网络177并非本公开的所有实施方案中必需的组件。如图I中所示,业务过程服务器102包括处理器108。尽管在业务过程服务器102中示出了単一处理器108,但是根据环境100的特定需要、期望或特定实施例,在业务过程服务器102中可以使用两个或更多个处理器。处理器108可以是中央处理单元(CPU)、刀片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或另ー个适合的组件。一般来说,处理器108执行指令并且操纵数据以执行业务过程服务器102的操作,具体地说,执行与相应的业务过程应用132相关联的功能。在一个实施方案中,服务器的处理器108运行接收来自所述ー个或多个客户端150、171的请求和指令并且对其做出响应所需的功能,以及执行关联的业务过程应用132、BPM粒度指定引擎138、日志过滤器引擎141和分析规则更新引擎144的操作所需的功能。不考虑特定实施方案,“软件”可以包括在有形的和非瞬时介质上的计算机可读指令、固件、连线或编程的硬件、或它们的任何组合,当它们被运行时可操作以执行至少这里描述的过程和操作。实际上,每个软件组件都可以全部或部分地用任何适当的计算机语言来编与或描述,所述计算机语目包括C、C++、Java、Visual Basic、汇编语目、Perl、4GL的任何适合的版本、以及其它语音。应当理解,虽然图I中示出的软件的部份被示为通过各种对象、方法、或其它过程来实现各种特征和功能的各个模块,但是该软件可以视情况而改为包括许多子模块、第三方服务、组件、库等等。相反地,各种组件的特征和功能能够视情况而组合到单ー组件中。在示出的环境100中,每个处理器108运行存储在相关联的业务过程服务器102上的相应的业务过程应用132。在一些实例中,特定业务过程服务器102可以与两个或更多业务过程应用132、以及跨越两个或更多业务过程服务器102运行的ー个或多个分布式应用的运行相关联。在高层级,每个业务过程应用132是可以运行、改变,删除、生成、或管理与特定业务过程服务器102相关联的信息的任何应用、程序、模块、过程、或其它软件,并且在ー些情况中,是执行和运行业务过程相关的事件的业务过程。具体来说,业务过程与其它用户、应用、系统和组件通信,以发送和接收事件。在一些实例中,特定业务过程应用132可以响应于并且结合一个或多个从关联客户端150、171接收的请求而操作。此外,特定业务过程应 用132可以响应于并且结合一个或多个从其它业务过程应用132接收的请求而操作,其它业务过程应用132包括与另ー个业务过程服务器102相关联的业务过程应用。在一些实例中,每个业务过程应用132可以表示由远程客户端150、171经由网络177 (例如,通过因特网,或经由ー个或多个与业务过程应用132相关联的基于云的服务)访问和运行的基于网络的应用。此外,虽然示出为在业务过程服务器102的内部,但是与特定业务过程应用132相关联的一个或多个过程可以被远程地存储、引用、或运行。例如,特定业务过程应用132的一部分可以是与远程调用的业务过程应用132相关联的网络服务,而业务过程应用132的另一部分可以是被捆绑用于在远程客户端150、171进行处理的接ロ对象或代理。此外,任何或全部特定业务过程应用132可以是另一软件模块或企业应用(未示出)的子类(child)或子模块(sub-module),而不会背离本公开的范围。再有,特定业务过程应用132的部分可以由直接在业务过程服务器102工作的用户运行或访问,以及在相应的客户端150,171远程地运行或访问。业务过程应用132被示出为包括运行时日志记录模块135。运行时日志记录模块135执行与收集和存储在特定业务过程实例的运行期间生成的过程日志记录信息相关联的操作。虽然业务过程应用132可以用任何适合的标注来表示,但是许多业务过程应用132可以用业务过程建模标注法(BPMN)来表示,如图2A中所示。BPMN (当前版本2.0)提供针对事件、活动、决策、资源、规则/用户指定、控制流、消息流、数据流、以及其它在特定总体过程内部执行的或者与特定总体过程相关联的项目的公知的图形标注(graphicalnotations)。BPMN不必被绑定到特定底层编程语言,并且可以与任何适合的编程语言一起使用,其中包括JAVA、ABAP或C++等。ー些业务过程服务器102可以内在地(natively)运行BPMN,而无需将基于BPMN的过程模型翻译成另ー种编程语言。图2A-B具体地不出了包括业务过程实例201的不例业务过程应用132。业务过程实例201包括由作为BPMN标准的一部分的各种图形元素表示的业务过程模型。与示出的业务过程实例201相关联的开始事件205被触发,以开始业务过程实例201。如图所示,入站(inbound)代理250可以解释从内部源或外部源(包括另ー业务过程应用132、与业务过程服务器102相关联的用户,等等)接收的信息,以触发开始事件205,并且初始化业务过程实例201。在开始事件205被触发之后,执行第一活动210。BPMN中的活动,比如,第一活动210,表示在所建模的业务过程或实例内执行的具体工作或过程。在所示的示例中,第一活动210包括至少ー个嵌套的事件或过程(由活动标签下面的“ + ”符号示出)。在一些实例中,嵌套的事件或过程可以包括多个各种图形元素,它们本身表示一个或多个附加的子流、子过程、或与第一活动210相关联的其它事件。接下来,与第一活动210相关联的数据或第一活动210的结果被提供给中间事件215。中间事件表示在开始事件和结束事件之间发生的事件,并且可以在相应的结束事件之前,为业务过程提供将信息发送到业务过程外部或者从业务过程外部接收信息的机会。例如,如图2A中所示,中间事件215可以与被提供给出站(outbound)代理260的特定信号或消息相关联,其中出站代理260将向外的信号或消息引导至适当的位置。在环境100内部,出站代理260可以处理由中间事件215提供的信号或消息,并且将该信息发送到业务过程模型201外部的有关业务过程或其它活动,以进行进ー步处理。在其它实例中,出站代理 260可以将该信号或消息直接发送到在业务过程服务器102上的或者远离业务过程服务器102的、同一(或另一)业务过程应用132中运行的另ー业务过程实例。在一些实例中,第二入站事件(未示出)可以在中间消息事件215将附加信息提供给业务过程模型201,因此中间消息事件215表示“捕获”中间消息事件215,与“抛出”或“发送”中间消息事件215相反,如图2A中所示。在执行中间事件215的操作时,业务过程模型201在第二活动220继续,其中,执行附加的处理或操作。在第二活动220之后,业务过程模型201包括第二中间事件225,其中,再一次,将与业务过程模型201相关联的当前状况相关联的信息提供给出站事件260。在一些实例中,由中间事件225发送的信号或消息可以被发送到与先前的中间事件215相同的位置,或者发送到不同的位置或接收方。在一些实例中,信号或消息可以被发送到相同的位置,但是被中继给不同的接收方。在第二中间事件225之后,提供决策步骤230。决策步骤230也可以被称为关ロ(gateway),并且可以被用于基于关联的业务过程模型201内的数据流,确定如何对业务过程模型201的控制流进行分叉、分裂或以其它方式进行引导。在一些实例中(这里未示出),关ロ可以被用于合并业务过程实例201中分离的流,比如在当前执行的操作被组合以执行另ー活动时执行这样的合井。基于在决策步骤230接收的条件,业务过程模型201在第三活动235或第四活动240处继续。然而,在其它实例中,决策步骤230可以表示关ロ步骤,而非导致发生两个分离的处理线程,从而第三活动235和第四活动240两者都被执行。当与正确的活动相关联的操作被执行时(或者,在适当的情况下,两个活动都被执行),业务过程模型201在结束事件245处完成业务过程。结束事件245表示过程的結果,并且类似于中间事件,其可以返回过程結果。在当前示例中,结束事件245将过程的结果提供给出站代理260,然后出站代理260可以将那些结果转发到任何适当的位置或接收方。在一些实例中,可以在示出的単一出站代理260的位置处使用多个出站代理。返回图1,在业务过程服务器102中示出另外的模块,包括BPM粒度指定引擎138、日志过滤器引擎141、以及分析规则更新引擎144。在其它业务过程服务器102中可以包括所述模块中的全部或ー些,或者不包括任何ー个。此外,所述模块中的ー些或全部可以相互组合,以及被集成到由另ー组件提供的功能中。BPM粒度指定引擎138与业务过程应用132交互,以向与在业务过程应用132处实例化并且由业务过程应用132运行的ー个或多个业务过程模型114相关联的不同的业务过程实例指定特定的日志记录粒度。BPM粒度指定引擎138在设计时访问存储器111中存储的过程粒度规则集合120,识别特定业务过程模型114中的实体,并且向该业务过程模型114中所包括的实体指定一个或多个级别的过程日志记录粒度。BPM粒度指定引擎138的操作通常在设计时作为设计时组件来执行。日志记录粒度的级别可以在实施方案之间改变。在一些实例中,多级日志记录粒度可以包括低、中和高,并且可以基于业务过程模型114中所包括的特定实体的相对重要性。在其它实例中,日志记录粒度可以与特定实体对业务过程的影响的严重程度相关联。在那些实例中,日志记录粒度可以对应干“信息”、“警告”和“错误”的级别。各种级别的日志记录粒度可以确定在运行时在每个实体处收集的信息的数量和类型。例如,较低级别的粒度可以包括一般信息(general information),比如,实体的名称和/或ID,以及关于其操作是否成功的信息。更高级别的粒度可以提供所运行的实体或元素的更深入和具体的信息,以便提供与被分配了更高级别日志记录粒度的那些实体相关联的附加的日志记录信息。
在一些实例中,过程粒度规则集合120可以为特定业务过程模型114内的每个实体(或元素)定义特定过程日志记录粒度。过程粒度规则集合120可以由粒度指定引擎138结合模型实体图117 (在存储器111中示出)来使用,模型实体图117可以提供描述或附加信息以及各种实体类型和/或与特定实体相关联的元数据。可以将过程粒度规则集合120与模型实体图117中定义特定实体的信息相对比较,以允许粒度指定引擎138确定相应的日志记录粒度,并且将该相应的日志记录粒度指定给关联的实体实例。可替换地,过程粒度规则集合120可以被用于向整个业务过程模型114或特定业务过程模型模板或版本应用特定级别的日志记录粒度。再有,不同类型的实体(即,活动、用户任务、消息事件、关ロ、决策等)可以与不同的过程日志记录粒度相关联,以便BPM粒度指定引擎138可以解析业务过程模型114,并且向粒度指定引擎138识别出的每个实体指定不同级别的粒度。在一些实例中,粒度指定引擎138 (或另ー组件)可以提供接ロ,供用户或管理员经由一个或多个客户端150、171或者通过在业务过程服务器102处的本地接ロ修改或覆盖由引擎138做出的ー个或多个粒度指定。业务过程服务器102还包括日志过滤器引擎141。日志过滤器引擎141可以在日志记录信息被存储在(存储器111中的)过程日志126中之前在运行时使用。例如,日志过滤器引擎141可以与第二规则集合相关联,第二规则集合确定与特定实体和业务过程实例相关联的日志记录信息中的哪些被保持到过程日志126。通过提供该附加过滤器,存储在过程日志126中的数据量可以被限制为与特定运行时或业务过程实例相关(pertinent)或有关的信息。此外,存储在过程日志中的数据可以被进ー步基于第二规则集合来限制,以在过程日志中存储更少的信息,从而提高性能和占用更少的存储空间。日志过滤器引擎141可以被定位,以便拦截由业务过程应用132的运行时日志记录模块135收集的信息。换句话说,所收集的日志记录信息在该信息被存储到过程日志126中之前通过日志过滤器引擎141。日志过滤器引擎141可以访问与业务过程应用132相关联的当前业务过程实例相关联的过滤器日志规则集合123,以确定要存储在过程日志126中的信息的子集。
不同类型的过滤器可以由日志过滤器引擎141应用(并且被包括在过滤器日志规则集合123中)。在一个实例中,静态过滤器可以被应用到在运行时收集的业务过程实例日志记录数据。静态过滤器可以将在设计时(即,基于业务过程模型114和过程粒度规则集合120)提供或确定的所定义的日志记录粒度与为该运行时过滤器定义的日志级别进行对比,以便确定在业务过程实例及其实体的运行期间返回的日志记录信息的实际集合中的哪些将在运行时被存储在过程日志中。例如,在设计时指定的日志记录粒度级别为低、中和高的情况下,业务过程实例中的特定实体可以被指定为“中”的日志记录粒度。静态规则集合可以基于指定给特定业务过程实体(或业务过程本身)的粒度与运行时过滤器规则的比较来提供日志过滤。在一个示例中,与特定业务过程实例相关联的静态过滤器规则可以被设置为“低”。在那些实例中,日志过滤器引擎141将与“中”粒度相关联的业务过程实例中的实体与“低”粒度进行比较,结果是,日志记录的与特定的“中”级实体相关联的信息中的任何信息都不会被存储在过程日志126中。在那些实例中,只有“高”粒度实体会将它们的日志记录信息存储在过程日志中。在不同的示例中,运行时过滤器规则可以被设置为“中”。在那些示例中,在实体具有“中”粒度的情况下,日志过滤器引擎141会将“中”级实体的日志记录信息存储在过程日志126中,但是“低”粒度级别将不会被进行日志记录。在第三示例 中,在运行时规则被配置为“高”的情况下,将对所有活动进行日志记录,以便提供关于特定业务过程实例的运行的信息的完整集合,包括那些比该运行时规则低的粒度。各种类型的过滤器和过滤器日志规则集合123可以被使用或应用在系统中。在一些实例中,可以为特定实体或特定类型的实体个别地定义规则。例如,活动可以被提供以“高”运行时日志记录级别(即,收集所有信息),而决策/关ロ被提供以“低”运行时日志记录级别(即,只有具有“高”设计时日志记录粒度的那些决策/关ロ将它们的信息存储在过程日志126中)。在一些实例中,过滤器日志规则集合123可以产生作用以基于实体类型减少为特定实体存储的信息量。换句话说,虽然一些信息被存储在过程日志126中,但是只有与实体相关联的最重要的信息(和/或通过过滤器日志规则集合123确定的信息)将被存储在过程日志126中。在其它实例中,日志记录级别可以在设计时被应用于各个实体,而设置的运行时日志记录级别可以被应用到整个过程实例。在其它实例中,一个或多个动态运行时过滤器可以被应用到通过日志过滤器弓I擎141接收的日志记录数据。过程实例以及它们的关联实体可以与包含与业务过程实例、特定实体和/或整个环境的运行时上下文相关联的信息的数据对象相关联。可以在运行时用关于系统中的当前运行时状况的信息来填充该数据对象。过滤器日志规则集合123可以定义与不同类型的数据和从数据对象和/或其它运行时位置检索的上下文的信息相关联的一个或多个逻辑表达式(或其它动态确定),以便确定适当的过滤日志级别或数量,从而在运行时确定日志记录信息的集合(或部分)是否应当存储在过程日志126中。在动态过滤器中使用的示例表达式可以对应于这样的情況,即,特定字段包含特定客户或事件ID,以允许分析员、管理员和其它用户识别用于追踪和分析的特定信息。将要被应用的过滤器(和特定过滤器)的类型(动态与静态,以及其它变体)可以在逐个实体的基础上根据过滤器日志规则集合123、以及基于特定业务过程实例或在运行时得到的其它信息来确定。业务过程服务器102还包括分析规则更新引擎144。分析规则更新引擎144识别用户对应用到特定业务过程实例的自动指定的日志记录粒度和过滤器所做出的手动改变和修改。然后,分析规则更新引擎144可以分析那些改变和它们的频率,以确定底层过程粒度规则集合120和/或过滤器日志规则集合123是否将要被修改。分析规则更新引擎144可以使用关于在存储器111的粒度和过滤元数据组件129中存储的修改的信息。在ー些实例中,关于自动指定的值的改变的信息可以由粒度指定引擎138或日志过滤器引擎141存储在粒度和过滤元数据组件129中,而在其它实例中,分析规则更新引擎144可以更新和定义关联的元数据129。分析规则更新引擎144可以收集所述手动更新,并且一旦那些更新的频率达到预定阈值(采用原始数字(raw number)或基于改变的百分比的),分析规则更新弓I擎144就可以修改相应的规则集合120、123。在一些实例中,一旦用户修改了过程实例的日志级别,或者通过改变规则(该规则进而确定日志级别)来间接地修改过程实例的日志级另IJ,关于经改变的日志级别的信息就可以被立即传播到所有受影响的过程实例,从而提供整个系统的一致性。业务过程服务器102也包括存储器111,用于存储数据和程序指令。存储器111可以包括任何存储器或数据库模块,并且可以采取易失性或非易失性存储器的形式,包括但不限于磁介质、光介质、随机存取存储器(RAM)、只读存储器(ROM)、可移动介质、或任何其 它适合的本地或远程存储组件。存储器111可以存储各种对象或数据,包括类、框架、应用、备份数据、业务对象、作业、网页、网页模板、数据库表格、过程上下文、存储业务过程服务器102的本地服务的储存库、以及任何适当的信息,包括參数、变量、算法、指令、规则、约束、或与服务器102及其业务过程应用132的目的关联的对上述的引用。在ー些包括基于云的系统的实施方案中,存储器111的ー些或全部可以被相对于业务过程服务器102远程地存储,并且可以可通信地耦接到业务过程服务器102,以供使用。如图所示,存储器111包括业务过程模型114的集合、模型实体图117、过程粒度规则集合120、过滤器日志规则集合123、过程日志126、以及粒度和过滤元数据129。返回图2A,示出了业务过程应用与BPM粒度指定引擎128的关联。粒度指定引擎138在设计时访问特定业务过程模型201,以解析其中所包括的业务过程实体,并且将那些实体与模型实体图117 (提供对每个实体或实体类型及其关联元数据的描述)和过程粒度规则集合120进行比较,以确定将要被指定的适当的日志记录粒度。图2B示出了在BPM粒度指定引擎138已经向底层业务过程模型201指定了各种日志记录粒度的集合之后的特定业务过程实例202的示例。对各种实体的特定粒度指定基于图2A中描述和示出的BPM粒度指定引擎138在设计时进行的确定和指定。在图2B中,所示出的业务过程实例202中的不同实体已经被指定了不同的日志记录粒度。例如,开始事件205具有“高”的日志记录粒度,第一活动具有“中”的日志记录粒度,第一和第二中间事件215、225具有“高”的日志记录粒度,第二活动220具有“高”的日志记录粒度,决策230具有“中”的日志记录粒度,第三活动235具有“高”的日志记录粒度,第四活动240具有“中”的日志记录粒度,而结束事件245具有“高”的日志记录粒度。如图2B中所描述的,所示出的业务过程实例202的第一活动210包括至少ー个嵌套的来自业务过程模型201的事件或过程。在一些实例中,被包括作为第一活动210的一部分的那些嵌套的事件或过程中的每ー个可以被指定与第一活动210相同或不同的日志记录粒度级别。在一些实例中,日志记录粒度级别可以被应用到业务过程模型201或实例202中的特定层级级别(hierarchy level ),并且更低(子类)过程接收与更高(父类)过程或实体相同的日志记录粒度级别。在其它实例中,嵌套事件或过程中的ー个或多个可以被提供与第一活动210 (由图2A中的粒度指定引擎138确定的)不同的日志记录粒度级别。图2B还示出了在业务过程实例202的运行期间在运行时操作的一部分组件,特别是用于对与所运行的业务过程实例202相关联的日志记录信息进行过滤的组件。运行时日志记录模块135可以由业务过程应用132用来监视并且从所示出的业务过程实例202中所包括的各种实体收集日志记录信息。运行时日志记录模块135 —般可以将日志记录信息返回到存储器111中示出的过程日志126。然而,如图2B中所示,由运行时日志记录模块135所收集的信息在任何信息被存储在过程日志126中之前被提供给日志过滤器引擎141。日志过滤器引擎141接收(或拦截)该信息并且基于(过滤器日志规则集合123中定义的)ー个或多个规则以及对于哪些规则应用到特定运行时实例的确定来对日志记录信息进行过滤。与所指定的日志记录粒度级别类似,不同的过滤器可以基于运行时信息被应用到不同的运行时实例,所述运行时信息包括用户信息、过程相关的元数据、以 及其它因素,包括与特定业务过程实例的运行相关联的用户、个体或实体。图3是用于在设计时将过程日志记录粒度应用到一个或多个业务过程实体的示例过程300的流程图。为了清楚地介绍,后面的描述在图I中示出的环境100的上下文中一般地描述了方法300。然而,应当理解,方法300可以例如由任何其它适合的系统、环境或系统和环境的组合来适当地执行。在305,识别业务过程模型。在一些实例中,识别业务过程模型可以包括从用户或其它实体接收请求来创建或运行业务过程模型的特定实例,例如图2A-B中的业务过程模型201和业务过程实例202。用于对业务过程模型201进行建模的设计时和用于运行业务过程模型201的实例202的运行时可以分开地定义。例如,业务过程模型201可以被部署到特定运行时环境或组件,然后在该特定运行时环境或组件中运行业务过程实例202 (业务过程模型201的运行时实例)。为了帮助描述,这些部分在310,识别与所识别出的业务过程模型相关联的日志记录粒度规则集合。在一些实例中,日志记录粒度规则集合可以基于相应的业务过程ID来确定,其中将业务过程模型的ID与日志记录粒度规则的集合进行比较,以便识别与该业务过程模型相关联的适当的规则集合。在一些实例中,取代ID,过程类别可以被用来确定适当的日志记录粒度规则集合。在一个示例中,销售过程、制造过程和支持过程可以在适当的情况下可以与不同的规则集合相关联。此外,识别出的粒度规则集合可以应用于两个或更多的业务过程模型,而定义特定日志记录粒度的信息被应用到所识别出的业务过程模型中的各种实体。在其它实例中,特定日志记录粒度规则可以将单一的、公共的、日志记录粒度与业务过程模型中的每个实体相关联。在又ー实例中,特定业务过程模型中的实体的不同分组或子集可以被指定不同级别的粒度,其中嵌套的过程或事件和子流(sub-flow)继承它们的父类实体或事件的一个或多个日志记录粒度。在315,解析识别出的业务过程模型及其各种实体。对业务过程模型及其实体进行解析可以生成实体的目录或列表、层级级别、以及与识别出的业务过程模型相关联的其它信息。基于对业务过程模型及其实体的解析,在325可以识别与所解析的业务过程模型中的特定实体相关联的ー个或多个特性。在一些实例中,主实体特性可以是实体类型,比如,实体是关ロ、活动、事件还是另一实体类型。进ー步的特性可以是特定实体是什么类型的关ロ、活动或事件。所识别的特性可以直接与特定实体相关联(或者定义在特定实体中)。附加地或者可替换地,与特定实体相关联的ー个或多个特性可以基于与整个业务过程模型相关联的特性。这些特性然后可以在325被用来向特定实体指定日志记录粒度级别。在325,至少部分地基于识别出的实体特性中的至少ー个向实体指定粒度级别。在一些实例中,日志记录粒度规则集合中的一个或多个规则可以对应于实体的各种特性。在一些实例中,日志记录粒度规则集合可以定义规则的层级结构或规则的经排序的集合,以使得层级较高或排序较高的规则在较低的规则之前被指定。可替换地,与总体业务过程模型或特定BPM实例相关联的ー个或多个特性可以被用于帮助确定实体的适当日志记录粒度。在一些实例中,特定业务过程模型作为ー个整体及其相关属性,包括业务过程模型的分类或类别,可以是实体的ー个特性,被用于确定要指定的适当的日志记录粒度。附加地,与实体相关联的多个特性的组合可以被用于识别将要应用到该实体的正确的日志记录粒度规则。在330,对是否从用户接收到对所指定的日志记录粒度的手动修改进行确定。用户、管理员以及具有适当许可和授权的其它人可以根据特定模型的需要或期望手动改变自 动指定的日志记录粒度。在那些实例中,可以经由展示与业务过程应用相关联的信息、模型和日志记录粒度的图形用户界面做出改变。如果没有接收到修改,则方法300在345处继续。然而,如果接收到对实体的日志记录粒度的修改,方法300移动到335,其中,根据提供的手动指定对实体修改日志记录粒度指定。在340,与实体和日志记录粒度规则集合相关联的元数据可以被更新,以供将来使用。在一些实例中,该信息可以在计算机学习机制中使用,如果对特定指定做出适当数量或阈值数量的修改,该计算机学习机制可以允许业务过程应用(和/或图I中示出的分析规则更新引擎144)更新日志记录粒度规则集合。可以在规律的、定期的、或实时的基础上分析元数据,以根据用户所采取的一个或多个动作来计算和/或确定何时将对ー个或多个日志记录粒度规则进行修改、改变或更新。例如,如果特定活动的日志记录粒度规则向活动指定第一粒度,但是用户在某个阈值百分比的使用(例如,65%的情況)中将该指定改变到第二粒度,则日志记录粒度可以通过系统修改为自动将特定活动指定到第二粒度。一旦元数据被更新,方法300就在345处继续。在345,存储与实体相关联的日志记录粒度指定。在一些实例中,日志记录粒度可以被存储在临时存储器或高速缓存中,直到整个日志记录粒度指定过程完成为止。在ー些实例中,日志记录粒度指定可以与特点业务过程模型中的特定实体相关联,或者作为定义特定实体的元数据的条目或部分。适当时,可以使用存储日志记录的指定的替换的方法。在一些实例中,日志记录粒度指定可以被存储为业务过程模型的一部分。在350,对与过程300相关联的业务过程模型中、是否保持附加的实体被指定以日志记录粒度进行确定。如果存在要被指定的附加的实体,方法300返回320,并且为业务过程模型或实例中的下ー个实体执行操作。在一些实例中,可以针对业务过程模型中的每个实体并发或并行地执行日志记录粒度指定过程,而在其它实例中,所述指定可以顺序地发生。在一些实例中,当一个或多个实体的日志记录粒度取决于对业务过程模型的操作或流中位于那些实体之前的一个或多个实体的指定时,顺序指定可能更加适合。附加地,该过程可以针对具有该业务过程模型的每个添加的和/或更新的实体递增地运行。如果不存在要被指定的附加实体,则方法300在360处继续。
在360,可以存储更新的业务过程模型。在一些实例中,业务过程模型可以与该模型自身中所包括的日志记录粒度指定一起存储,而在其它实例中,粒度指定可以存储在分开的文件或者位置中,以便底层业务过程模型保持不变。可替换地,日志记录粒度指定可以被存储为业务过程模型的一部分(或者存储在特定版本的业务过程模型中),从而使该指定可用于业务过程模型的所有将来的使用。在365,对业务过程模型(或特定关联的实例)是否被更新或修改做出确定。如果没有进行更新,则方法300继续,以检查更新或修改。然而,如果识别出更新或修改,则方法300可以返回到310,在那里,业务过程模型被重新解析,并且重复向各种实体指定粒度的操作,以及确定适当的日志记录粒度规则集合以应用到该业务过程模型。在一些实例中,只有业务过程模型中的经修改或更新的实体才通过方法300的操作来完全地处理。在其它实例中,可以执行所描述的操作的整个集合。图4是用于在运行时确定向与特定业务过程实体的运行相关联的特定的日志记 录事件应用的过程日志记录级别的示例过程400的流程图。如所描述的,业务过程模型或实例内的一个或多个实体可以被指定在运行时确定的动态日志记录级别。过程400描述了在运行时在至少部分地基于指定给关联的实体或业务过程模型的先前指定的日志记录粒度级别、来确定要指定给关联的实体的适当的日志记录级别时执行的操作。在405,运行业务过程模型的特定实例。在410,识别要被运行的第一实体的实例,包括关于针对该实体的所指定的日志记录粒度的信息(例如由图3中描述的过程300指定的)。在415,识别与所识别出的实体实例相关联的日志级别。日志级别可以基于对与业务过程实例相关联的一个或多个规则集合的查看来识别。此外,适当的日志级别可以基于实体的先前被指定的日志记录粒度级别来确定。在420,对实体的日志级别是在运行时动态地确定还是为静态值做出确定。如果识别出的实体的日志级别是静态的,则方法400在422处继续,在422处,该静态日志级别与识别出的实体实例相关联。当该静态日志级别与该实体实例相关联时,方法400在440处继续。然而,如果在420确定本实体与动态日志级别相关联,则方法400在425处继续。在425,确定与该实体的动态日志级别相关联的准则。在一些实例中,动态日志级别可以由评估ー个或多个运行时上下文变量或信息、在设计时指定的日志记录粒度级别、和/或其它相关数据的逻辑表达式来定义。基于该逻辑表达式的评估,可以确定适当的动态日志级别。可以定义其它适合的动态的、运行时相关的日志级别准则,包括可以与在业务过程实例内的一个或多个先前实体或事件的运行期间采集的数据或信息相关联的准贝U。在其它实例中,动态日志级别可以与为业务过程实例本身定义的信息相关联,例如启动该业务过程实例的用户或管理员、或该业务过程实例的目的。当为特定实体确定适当的日志级别时可以考虑附加的上下文信息,包括消费的资源、接收的事件、过程运行的先前路线(course)、以及该过程实例的当前状态等等。在430,将识别出的准则与和该业务过程实例相关联的信息进行比较,或与和该业务过程实例或实体的运行实例相关联的其它元数据或信息进行比较。使用所述比较的结果,在435为该实体设置适当的日志级别。在440,收集与当前实体实例的日志级别对应的日志记录信息。在445,确定是否还有尚待在业务过程实例的运行期间处理的附加实体。如果有附加的实体,则方法400返回到410,并且相应地处理下ー个实体。然而,如果没有附加的实体,则方法400在450处继续,在450,该业务过程实例的运行完成。虽然在图4中未示出,但是在440处对日志记录信息的收集可以包括向过程日志(比如图I中示出的过程日志126)或向日志记录系统内的组件提供该日志记录信息,以基于ー个或多个过滤规则(t匕如图I和2B中示出的日志过滤器引擎141)来过滤该日志记录信息。图5是用于向在特定业务过程的运行期间接收到的过程日志信息中的至少ー个集合应用运行时过程日志过滤器的示例过程500的流程图。在一些实例中,方法500可以分别与图3的方法300和图4的方法400结合使用,以组合限制过程日志中收集和存储的日志记录信息的数量的功能。也可以视情况使用示出的方法的各种组合、置換和派生。在505,启动业务过程模型的实例的运行。在一些实例中,该业务过程模型中的至少ー个实体将包括日志记录粒度指定。在510,接收与该业务过程模型的运行实例内的至少一个实体的运行相关联的日志记录信息。该日志记录信息包括与该实体所关联的事件有关的数据、以及该实体或事件的日志记录粒度级别。在一些实例中,日志记录信息可以最初通 过运行时日志记录模块(例如,图I的运行时日志记录模块135)来接收,并且被传递通过或被发送到过滤引擎或组件(例如,图I的日志过滤器引擎141)。在一些实例中,日志记录信息可以表示以所运行的实体生成的或者与所运行的实体相关联的信息的子集,其中所述信息的子集表示至少部分地基于与这里描述的方法或过程类似的方法或过程中的日志记录粒度指定而收集的日志记录信息的集合。在515,确定该实体的日志记录粒度。在一些实例中,所指定的日志记录粒度可以用作关于哪些或什么日志记录信息将被过滤或不被过滤的确定的一部分。在其它实例中,过滤操作可以与指定给该实体的特定日志记录粒度相分离或相区别(separate ordistinct)。此外,特定实体可能不具有指定的日志记录粒度。在那些实例中,可以针对过程500的目的假设或使用默认的已指定的日志记录粒度。在520,识别与该实体相关联的运行时过程日志过滤器。运行时过程日志过滤器可以基于来自过滤器日志规则集合中的一个或多个规则与该实体相关联。在一些实例中,关联的过滤器规则可以与特定实体类型、特定实体实例、特定业务过程模型、特定业务过程模型实例、或运行该实体的特定目的(即,追踪与该业务过程实例相关联的信息,测试该业务过程实例的操作,或任何其它有关的活动)相关联。再有,将要应用到特定实体的过滤规则可以至少部分地基于在设计时通过上述的自动日志记录粒度指定过程或者基于手动指定的(默认的)日志记录粒度、指定给该特定实体的特定日志记录粒度。此外,动态日志过滤器可以与特定实体相关联,包括与特定实体的运行时上下文相关联的逻辑表达式。例如,ー个表达式可以针对将要被存储在过程日志中的日志记录信息的集合要求元数据的特定集合包括单词“error (错误)”。如果单词“error”没有被包括,则运行时日志过滤器引擎可以忽略该日志记录信息,并且继续对下ー个实体进行操作。可替换地,日志过滤器规则还可以限制从实体接收的信息中的将要被存储在过程日志中的信息的类型。换句话说,如果在运行时从特定实体接收的日志记录信息包括元素X、Y和Z,则过滤器日志规则可以声明如果元素Z为特定值,则仅仅元素Y和Z将要被存储,而相反,元素X、Y和Z中的每ー个都可以被存储。在一些实例中,如果运行时过程日志过滤器的日志级别超过特定级别或值,则可以应用通用过滤器规则。在应用了通用过滤器规则之后存储的特定信息可以至少部分地基于关于日志记录信息集合(或“事件载荷”)中的什么信息将要被日志记录的规则或确定来确定。任何适合的过滤规则都可以与特定实体相关联,并且在一些实例中,可以与多个实体相关联。在525,运行时过程日志过滤器规则被应用到所接收的与实体相关联的日志记录信息。换句话说,评估被确定为与运行的实体相关联的过滤器规则,满足日志过滤器规则的要求或规范的日志记录信息被保留或维护,而其余信息可以从日志记录信息的集合中去除、忽略或丢弃。在530,该实体的经过滤的日志记录信息被存储在与运行的业务过程实例相关联的过程日志(即,图I的过程日志126)中。在一些实例中,将经过滤的日志记录信息存储在过程日志中包括添加过程实例标识符或其它标识信息,所述过程实例标识符或其它标识信息可以使进行查看的用户或系统明白日志记录的信息与特定过程实例运行相关联。该过程实例标识符然后可以提供连续日志记录事件之间的相关性和关系,否则所述连续日志记录事件将相互隔离而不能提供完全的审计轨迹。使用该过程实例标识符,来自多个实体和事件的信息可以被相互关联,并且被聚集以提供针对特定实例的运行的完全的信息集合。此外,关于运行类型的信息可以被包括在过程日志中,比如测试理由、启动的个体、系统 或实体、以及其它适当的信息。在535,对业务过程实例中是否包括附加的实体以及它们是否将被运行进行确定。如果包括附加的实体并且它们将在业务过程实例的数据流中运行,则方法500返回到520,在那里,确定针对下一个实体的适当的规则。然而,如果没有附加的实体将要被运行,则方法500在540处继续,在540,正运行的业务过程实例的过程日志被更新和终止。在530中的已经通过多个实例记录了所有日志记录信息的情况下,在540可以不必进行更新或终止(f inalization)。在一些实例中,540的操作在多个过程实体在同一事务中运行的情况下可以允许对日志记录结果的批处理。前面的附图和伴随的描述示出示例过程和计算机可实施的技术。但是环境100(或其软件或其它组件)设想了使用、实现或运行任何适合的技术来执行这些及其它任务。要理解这些过程仅仅是用于说明的目的,而且所描述的或类似的技术可以在任何适当时间执行,包括并发地、单独地、或组合地执行。此外,这些过程中的许多步骤可以同时地、并发地与/和以所示的次序不同的次序发生。此外,环境100可以使用具有附加的步骤、较少的步骤与/和不同的步骤的过程,只要该方法保持适当即可。换句话说,虽然按照某些实施例和一般关联方法描述了本公开,但是这些实施例和方法的更改和变换对本领域技术人员是清楚的。因此,以上对示例实施例的描述并不限定或约束本公开。其它改变、替换和变更也是可以的,而不会脱离本公开的精神和范围。
权利要求
1.一种用于在运行时过滤业务过程日志记录信息的计算机实现的方法,该方法包含 接收与至少ー个实体的运行相关联的日志记录信息的集合,所述至少一个实体与定义用于执行定义的业务过程的业务过程实体的集合的业务过程模型相关联; 识别与所述至少一个实体相关联的过程日志过滤器规则; 将识别出的过程日志过滤器规则应用到所接收的日志记录信息的集合,以生成与所述至少ー个实体的运行相关联的日志记录信息的经过滤的集合;以及 将所述日志记录信息的经过滤的集合存储在与所述至少ー个实体的运行相关联的过程日志中。
2.如权利要求I所述的方法,其中,识别与至少ー个实体相关联的过程日志过滤器规则包括 识别与所述至少一个实体相关联的至少ー个实体特性;以及 确定与至少ー个识别出的实体特性相对应的至少ー个过程日志过滤器规则。
3.如权利要求I所述的方法,其中,所述日志记录信息的经过滤的集合包含与所述至少ー个实体的运行相关联的日志记录信息的空集合。
4.如权利要求I所述的方法,其中,将所述日志记录信息的经过滤的集合存储在过程日志中包括 生成与所述至少一个实体相关联的标识符;以及 将所述日志记录信息的经过滤的集合存储在过程日志中,其中,所述日志记录信息的经过滤的集合包括所生成的与所述至少ー个实体相关联的标识符。
5.如权利要求I所述的方法,其中,与所述至少一个实体相关联的过程日志过滤器规则包括与所述业务过程模型中的每个实体相关联的过程日志过滤器规则。
6.如权利要求I所述的方法,其中,与所述至少一个实体相关联的过程日志过滤器规则包括与所述业务过程模型的特定运行实例中的每个实体相关联的过程日志过滤器规则。
7.如权利要求6所述的方法,其中,所述过程日志过滤器规则至少部分地基干与所述业务过程模型的特定运行实例相关联的运行时上下文。
8.如权利要求7所述的方法,其中,与所述业务过程模型的特定运行实例相关联的运行时上下文包括所述业务过程模型实例的运行的定义的目的。
9.如权利要求I所述的方法,其中,所述至少一个实体在设计时被指定了日志记录粒度,并且其中,识别与所述至少一个实体相关联的过程日志过滤器规则包括至少部分地基于在设计时指定给所述至少ー个实体的日志记录粒度从过程日志过滤器规则的集合中识别特定的过程日志过滤器规则。
10.如权利要求I所述的方法,其中,所述过程日志过滤器规则包括基干与所述至少一个实体相关联的至少ー个实体特性的逻辑表达式,该逻辑表达式用于在运行时确定所述至少ー个实体的过滤器信息的集合。
11.一种用于在运行时过滤业务过程日志记录信息的计算机程序产品,该计算机程序产品包含体现在有形的非瞬时介质上的计算机可读指令,该指令当被运行时可操作以执行以下步骤 接收与至少ー个实体的运行相关联的日志记录信息的集合,所述至少一个实体与定义用于执行定义的业务过程的业务过程实体的集合的业务过程模型相关联;识别与所述至少一个实体相关联的过程日志过滤器规则; 将识别出的过程日志过滤器规则应用到所接收的日志记录信息的集合,以生成与所述至少ー个实体的运行相关联的日志记录信息的经过滤的集合;以及 将所述日志记录信息的经过滤的集合存储在与所述至少ー个实体的运行相关联的过程日志中。
12.如权利要求11所述的计算机程序产品,其中,识别与所述至少一个实体相关联的过程日志过滤器规则包括 识别与所述至少一个实体相关联的至少ー个实体特性;以及 确定与至少ー个识别出的实体特性相对应的至少ー个过程日志过滤器规则。
13.如权利要求11所述的计算机程序产品,其中,所述日志记录信息的经过滤的集合包含与所述至少一个实体的运行相关联的日志记录信息的空集合。
14.如权利要求11所述的计算机程序产品,其中,将所述日志记录信息的经过滤的集合存储在过程日志中包括 生成与所述至少ー个实体相关联的标识符;以及 将所述日志记录信息的经过滤的集合存储在过程日志中,其中,所述日志记录信息的经过滤的集合包括所生成的与所述至少ー个实体相关联的标识符。
15.如权利要求11所述的计算机程序产品,其中,与所述至少一个实体相关联的过程日志过滤器规则包括与所述业务过程模型中的每个实体相关联的过程日志过滤器规则。
16.如权利要求11所述的计算机程序产品,其中,与所述至少一个实体相关联的过程日志过滤器规则包括与所述业务过程模型的特定运行实例中的每个实体相关联的过程日志过滤器规则。
17.如权利要求16所述的计算机程序产品,其中,所述过程日志过滤器规则至少部分地基干与所述业务过程模型的特定运行实例相关联的运行时上下文。
18.如权利要求17所述的计算机程序产品,其中,与所述业务过程模型的特定运行实例相关联的运行时上下文包括所述业务过程模型实例的运行的定义的目的。
19.如权利要求11所述的计算机程序产品,其中,所述至少一个实体在设计时被指定了日志记录粒度,并且其中,识别与所述至少一个实体相关联的过程日志过滤器规则包括至少部分地基于在设计时指定给所述至少ー个实体的日志记录粒度从过程日志过滤器规则的集合中识别特定的过程日志过滤器规则。
20.如权利要求11所述的计算机程序产品,其中,所述过程日志过滤器规则包括基于与所述至少一个实体相关联的至少ー个实体特性的逻辑表达式,该逻辑表达式用于在运行时确定所述至少一个实体的过滤器信息的集合。
21.—种系统,包括 存储器,其可操作以存储多个业务过程模型,每个业务过程模型定义用于执行所定义的业务过程的业务过程实体的集合;以及 一个或多个处理器,其可操作以执行以下操作 接收与至少ー个实体的运行相关联的日志记录信息的集合,所述至少一个实体与所述多个业务过程模型中的特定业务过程模型相关联; 识别与所述至少一个实体相关联的过程日志过滤器规则;将识别出的过程日志过滤器规则应用到所接收的日志记录信息的集合,以生成与所述至少ー个 实体的运行相关联的日志记录信息的经过滤的集合;以及 将所述日志记录信息的经过滤的集合存储在与所述至少ー个实体的运行相关联的过程日志中。
全文摘要
本公开涉及在运行时过滤业务过程日志记录信息的系统、软件和计算机实现的方法。一个过程包括接收与至少一个实体的运行相关联的日志记录信息的集合,至少一个实体与定义用于执行定义的业务过程的业务过程实体的集合的业务过程模型相关联;识别与实体相关联的过程日志过滤器规则;将识别出的过程日志过滤器规则应用到所接收的日志记录信息的集合,以生成与实体的运行相关联的日志记录信息的经过滤的集合;以及将日志记录信息的经过滤的集合存储在与实体的运行相关联的过程日志中。识别与实体相关联的过程日志过滤规则可以包括识别实体特性以及确定与识别出的实体特性相对应的至少一个过程日志过滤器规则。
文档编号G06F11/34GK102779087SQ20121013903
公开日2012年11月14日 申请日期2012年5月7日 优先权日2011年5月6日
发明者B.克林科, S.巴尔科 申请人:Sap股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1