CN103136041B - 业务对象的批处理 - Google Patents

业务对象的批处理 Download PDF

Info

Publication number
CN103136041B
CN103136041B CN201210510211.0A CN201210510211A CN103136041B CN 103136041 B CN103136041 B CN 103136041B CN 201210510211 A CN201210510211 A CN 201210510211A CN 103136041 B CN103136041 B CN 103136041B
Authority
CN
China
Prior art keywords
business object
business
mistake
execute
error
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.)
Active
Application number
CN201210510211.0A
Other languages
English (en)
Other versions
CN103136041A (zh
Inventor
F.布伦斯威格
F.詹特施
B.赛德
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of CN103136041A publication Critical patent/CN103136041A/zh
Application granted granted Critical
Publication of CN103136041B publication Critical patent/CN103136041B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

服务消费者可以定义批作业(批容器),在其中可以对业务对象实例调取业务对象方法。所述调取可以被记录。服务消费者可以触发批运行以导致业务对象实例根据所记录的调取被修改。批作业可以作为单个过程中的单个事务来运行。批作业可以被划分为多个事务并且由相应的多个过程来处理。

Description

业务对象的批处理
相关专利的交叉引用
本公开涉及美国专利第7,536,673号和美国专利第7,801,996号,通过引用将它们的全部内容合并于此,用于所有目的。
背景技术
本发明涉及业务软件,具体来说涉及业务对象的处理。
除非这里另外指出,本部分描述的方法不是本申请中的权利要求的现有技术,并且不承认本部分描述的方法由于包括在本部分中而成为现有技术。
商业企业一般地采用若干业务应用以便管理企业中的大量数据。业务应用通常被设计为操控企业的特定方面;例如,客户关系管理(CRM)业务应用可以支持销售部门的活动,产品生产***(PPS)可以用来管理生产,等等。业务对象表示业务应用可以管理的数据的各个类别。举例来说,在汽车出租***中,可以创建以下业务对象:
■汽车-具有这样的属性,例如,车牌号(license plate number)、汽车型号、座位数目、最大速度、里程、颜色,
■客户-具有这样的属性,例如,名(first name)、姓(last name)、信用***、地址、电话、传真、电子邮件、注册日期,
■定单-具有这样的属性,例如,日期、***号、价格。
业务对象(BO)是一个基本实体,其封装业务数据和用于操纵所述数据的业务逻辑,并且保证业务对象数据的一致性和完整性。接口层描述业务对象的实现和结构,并且定义业务对象到外界的接口。
服务提供者是经由所述接口提供对业务对象数据的外部访问的访问层的一部分。服务提供者提供对业务对象的关于功能的方法的访问,所述功能例如业务对象的公共实例操控(handle)、事件操控、错误操控、状态管理、等等。例如,所有业务对象提供核心服务的公共集合,以便创建、读取、更新和删除业务对象实例(业务对象节点实例);例如,修改(MODIFY)可以是所有业务对象用于创建、更新和删除的公共的核心服务。此外,业务对象可以提供特定于业务对象的服务(在这里称为动作(ACTIONS))。
服务提供者也可以提供附属(auxiliary)服务,比如性能分析、追踪、等等。因为许多业务用户(例如,销售经理、销售员、等等)可能需要在任何一个的时间访问业务对象,所以可以理解用户未被赋予对业务对象乃至对服务提供者的直接访问。
反而,对服务提供者的访问以及由此对业务对象本身的访问是经由服务管理者来提供的。服务管理者负责事务控制,比如对业务对象的多个访问请求。服务管理者可以提供安全性和数据完整性功能以防止不一致和错误的运行时行为。服务管理者一般来说提供客户端代理服务器(client proxy)(例如,使用Web服务代理(Web Services agent)),业务用户可以在应用层内与该客户端代理服务器接口。客户端代理服务器一般能够提供业务对象的批处理。例如,业务对象标识符的表格连同将对每个业务对象执行的一个或更多个动作(例如,检索(RETRIEVE))一起可以被提供给客户端代理服务器。
图1A示出由服务管理者104进行中介的业务应用(服务消费者)102和服务提供者106之间的工作流程。图1A中示出的顺序表示多个业务对象的批处理。在交互阶段中,服务消费者102向服务管理者104发布或者以其它方式提供对于一个或更多个业务对象的一系列修改操作。例如,在一天的结尾,销售员可以启动(例如,经由业务应用的用户接口、UI)这天的销售记录向CRM***的上传。业务应用102可以启动批作业(batch job)以处理表示所述销售记录的业务对象。
服务管理者104将从服务消费者102接收的修改操作传送给服务提供者106以进行修改。服务消费者102通过例如调用服务管理者104中的保存方法来触发保存阶段。服务管理者104进而调用服务提供者106中的检查方法以触发“检查”处理,从而验证对业务对象做出的修改。如果服务提供者106未发布错误,则服务管理者104调用服务提供者中的保存方法以开始“保存”处理。图1A示出成功的批处理工作流。
图1B示出在服务提供者106中执行的对经修改的业务对象的检查处理期间发现一个或更多个错误时的处理流程情景。可以看到,将错误通知服务管理者104,并且由于该(多个)错误而不调用服务提供者106中的保存方法。该批作业未被保存,而且副作用是那些经修改但没有错误的业务对象也未被保存。因此,服务消费者102需要在改正错误的(多个)原因之后重新提交全部作业。
发明内容
一种用于处理业务对象的方法包括:从标识多个业务对象和将对所述业务对象执行的一个或更多个操作的客户端***接收批作业信息。在实施例中,所述操作可以包括业务对象提供的核心服务以及特定于所述业务对象的服务(动作)。操作被记录,而不被执行。
响应于从所述客户端***接收到触发,根据所记录的操作来更改业务对象。在更改业务对象之后执行错误检查。继续对更改成功的业务对象进行保存。更改失败的业务对象可以被重新处理,包括执行(多个)改正动作以及根据它们关联的记录的操作进行更改。
附图说明
图1A示出没有出现错误的传统的批处理。
图1B示出在保存阶段期间发生错误的传统的批处理。
图2示出根据本发明的实施例的工作流。
图3示出根据本发明的实施例的另一个工作流。
图4描绘根据本发明的硬件配置。
具体实施方式
在下面的描述中,出于解释的目的,阐述了很多示例和特定细节,以便提供对本发明的透彻理解。然而,对于本领域技术人员来说显而易见的是,权利要求所限定的本发明可以单独地包括这些示例中的一些或全部特征,或者与下面描述的其它特征组合地包括这些示例中的一些或全部特征,并且还可以包括这里描述的特征和构思的修改和等效物。
在实施例中,诸如图2中的顺序图所图示的工作流可以包含按照服务消费者202、服务管理者204、批处理协调者206以及服务提供者208之间的通信的顺序启动的动作。在实施例中,服务消费者202可以是与服务管理者204接口(例如,经由Web服务接口)的业务应用。该工作流可以划分为两个主要的步骤:批接收步骤210(处理块A)和批处理步骤220(处理块B)。
在批接收步骤210中,服务消费者202提交用于处理业务对象实例的集合的“批容器”(批作业)。批容器在逻辑上表示业务对象实例的数目N以及将对每个业务对象实例执行的一个或更多个操作。例如,假设在商业周的结尾,可能需要在业务的主数据中更新来自业务的零售地点的客户记录业务对象。服务消费者202可以是与服务管理者204接口(例如,经由Web服务接口)以向服务管理者提交批容器的业务应用。对业务对象实例执行的操作的集合可以从一个业务对象实例到另一个业务对象实例而变化。
在步骤212中,服务消费者202向服务管理者204发布批开始(BeginBatch)命令以处理批作业。批开始命令以信号告知服务管理者204打开或者创建新的批容器。服务管理者204可以向服务消费者202发出响应(例如,OK)以指示批开始命令已经被成功处理。批作业可以通过任何适当的方式被传送到服务管理者204。例如,服务消费者202可以生成批文件(batch file),该批文件然后可以被告知服务管理者204(例如,该文件被发给服务管理者,该文件的位置被告知服务管理者等等)。批文件可以列出业务对象实例和相应的操作。该操作可以包括每个业务对象提供的核心服务(例如,修改、检索、等等)并且可以包括对每个业务对象独特的特定服务(例如,动作)。服务消费者202可以将批作业传送到服务管理者204,一次传送一个业务对象实例以及将对该业务对象实例执行的期望的操作。
根据本发明,服务管理者204记录每个修改操作(步骤214),而不对该业务对象实例进行修改。同样,服务管理者204记录关于期望的动作的信息(步骤216),而不对该业务对象实例进行修改。可以在美国专利第7,536,673号中找到本发明的这方面的更多细节。
在步骤218中,服务消费者202向服务管理者204发布批结束(EndBatch)命令。批结束命令以信号告知服务管理者204关闭批容器。服务管理者204可以向服务消费者202发出响应(例如,OK)以指示批容器已经被成功创建。
然后,服务消费者202可以对于另一个批容器重复步骤212-218。例如,业务应用可以提交一个批作业用于更新客户记录以及另一个批作业用于更新库存记录。重复步骤212-218将在服务管理者204中创建用于处理另一个批作业的另一个批容器。在实施例中,当服务消费者202已经提交其所有的批作业时,它然后可以向服务管理者204发布批运行(ExecuteBatch)命令。批运行命令将触发批处理步骤220。
在批处理步骤220中,服务管理者204在批协调者206和服务提供者208之间进行协调以便处理服务消费者202提交的一个或更多个批容器。在实施例中,对于在批接收步骤210中创建的每个批容器执行批处理步骤220。具体来说,可以对于每个批处理容器执行步骤222-238。如下面将要解释的,根据本发明的对批容器中的业务对象实例的实际处理被划分成具有对于每个处理阶段的错误检查和错误处理的特定处理阶段。
在实施例中,一个处理阶段是对批容器中的业务对象实例进行核心服务的处理,在修改步骤222中执行该处理。在以上的步骤214中记录的对于每个业务对象实例的核心服务操作通过对服务提供者208做出适当的调用来执行。具体来说,服务管理者204与服务提供者208通信以调用业务对象的核心服务方法,从而对业务对象实例执行操作。服务提供者208可以用指示是否对业务对象实例成功地执行了核心服务的结果代码对服务管理者204作出响应。
在步骤232中,服务管理者204可以调取(invoke)批协调者206中的错误检查方法。来自修改步骤222中的批处理的结果(例如,业务对象名称、节点标识符、错误消息、等等)可以被传递给批协调者206。在一些实施例中,服务管理者204可以向批协调者206调取回调(callback)方法(例如,批检查(CHECKBATCH)方法)。批协调者206然后可以决定如何进行操作。例如,批协调者206可以识别在步骤222中被处理时失败的那些业务对象实例,并且将失败的业务对象实例的列表提供给服务管理者204。例如,在实施例中,来自修改步骤222的结果可以使用对于每个业务对象实例执行的每个核心服务操作的结果代码来表达。对于每个这样的结果代码,批协调者206可以被编程(例如,使用开关(SWITCH)语句)为将该业务对象实例标记为通过(PASS)、失败(FAIL)或者被编程为采取一些改正动作。如果未识别到结果代码,则批协调者206可以将业务对象实例(例如,其ID)、结果代码和任何有关的信息记入错误日志(例如,图3中示出的数据存储器314)。批协调者206将失败的业务对象实例的列表发送给服务管理者204。在一些实施例中,批协调者206可以从批容器中去除失败的业务对象实例,同时允许对其他业务对象实例的进一步的处理。
在接下来处理阶段,在步骤224中对该业务对象实例执行动作。服务管理者204接收步骤232的错误检查的结果。如果全部业务对象实例在步骤222中都已被处理并且没有错误,则对该批容器的处理继续进行对特定于业务对象实例的动作的处理。在以上的步骤216中记录的特定于业务对象实例的动作通过对服务提供者208做出适当的调用来执行。具体来说,服务管理者204向服务提供者208做出调用(例如,动作调用),以调取业务对象的特定方法以执行该动作。服务提供者208可以用指示是否对业务对象实例成功地执行了动作的结果代码对服务管理者204作出响应。
另一方面,如果在步骤222中一些业务对象实例失败,则那些业务对象实例不会前进到步骤224。反而,服务管理者204可以对失败的业务对象实例执行“事务清理”,并且重复步骤222和步骤232。例如,假设对业务对象作出了若干修改。在一些实施例中,该修改可以存储在事务缓冲区(例如,与业务对象相关联的一个或更多个内部数据表格)中,以便在后面的步骤(例如,步骤228)中进行保存。如果后面出现了失败(例如,在动作调用中),则事务缓冲区可以被清空(例如,因为该数据可以被视为无效)。这是事务清理的示例。
可以理解,通过滤除失败的业务对象实例,服务管理者204可以将在步骤222中成功处理的业务对象实例转送到下一个处理阶段,即,步骤224,由此避免由于出现一个或更多个失败的业务对象实例而不得不异常中断(abort)全部批处理作业。同时,如果事务清理可以被执行,则服务管理者204可以重新处理失败的业务对象实例。否则,服务管理者204可以将该业务对象实例记入错误日志而不执行进一步处理。
在步骤234中,服务管理者204可以调取批协调者206中的错误检查方法(例如,在步骤232中描述的批检查方法),以处理执行动作步骤224的结果。来自服务提供者208在执行动作步骤224中的批处理的结果可以传递到批协调者206。批协调者206识别那些失败的业务对象实例并且将列表提供给服务管理者204。例如,在实施例中,来自执行动作步骤224的结果可以经由对于每个业务对象实例执行的每个方法的结果代码来表达。对于每个这样的结果代码,批协调者206可以被编程(例如,使用开关语句)为将该业务对象实例标记为通过、失败或者被编程为采取一些其它动作。如果未识别到结果代码,则批协调者206可以将业务对象实例(例如,其ID)、结果代码和任何有关的信息记入错误日志。批协调者206将失败的业务对象实例的列表发送给服务管理者204。
在下一个处理阶段中,对批容器中的经修改业务对象实例的最后的检查在步骤226中进行,例如,通过调取业务对象的检查方法来进行。服务管理者204接收步骤234的错误检查结果。如果全部业务对象实例都已被处理并且没有错误,则检查经修改的业务对象实例。具体来说,服务管理者204可以调取服务提供者208以调用用于每个业务对象实例的适当的检查方法。服务提供者208可以用指示业务对象实例是否通过检查处理步骤的结果代码对服务管理者204作出响应。
例如,检查方法可以由服务管理者在业务对象服务提供者208上调取以触发“一致性”检查。这意谓着业务对象检查他们的事务状态/缓冲区以确定是否有可能并且被允许将它们的数据存储在数据库中。如果业务对象状态/缓冲区中存在任何的不一致,则BO服务提供者208可以指示拒绝(例如,经由检查方法的返回值)并且该事务不会被服务管理者204保存。一般地,错误消息可以被生成并且然后这些错误消息可以被显示在用户接口中,如果消费者是用户接口的话。在实施例中,错误消息可以存储在错误日志(例如图3中示出的数据存储器314)中。
另一方面,如果在步骤224中一些业务对象实例失败,则那些业务对象实例不会前进到步骤226。反而,服务管理者204可以对失败的业务对象实例执行事务清理,并且重复步骤224和步骤234。可以理解,通过滤除失败的业务对象实例,服务管理者204可以将在执行动作步骤224中成功处理的业务对象实例转送到下一个处理阶段,即,步骤226。同时,如果事务清理可以被执行,则服务管理者204可以重新处理失败的业务对象实例。否则,服务管理者204可以将该业务对象实例记入错误日志而不执行进一步处理。
在步骤236中,服务管理者204可以调取批协调者206中的错误检查方法以处理检查步骤226的结果。检查步骤226的结果可以传递到批协调者206。批协调者206识别那些失败的业务对象实例并且将列表提供给服务管理者204。例如,在实施例中,检查步骤226的结果可以经由对于每个业务对象实例执行的每个方法的结果代码来表达。对于每个这样的结果代码,批协调者206可以被编程(例如,使用开关语句)为将该业务对象实例标记为通过、失败或者被编程为采取一些其它动作。如果未识别到结果代码,则批协调者206可以将业务对象实例(例如,其ID)、结果代码和任何有关的信息记入错误日志。批协调者206将失败的业务对象实例的列表发送给服务管理者204。
在下一个处理阶段中,批容器中的经修改和验证的业务对象实例在步骤228中进行保存(例如,写出到数据存储器)。服务管理者204接收步骤236的错误检查结果。如果所有业务对象实例在步骤226中都已被检查为没有错误,则可以保存所有经修改的业务对象实例。具体来说,服务管理者204可以调取服务提供者208以调用用于每个业务对象实例的适当的保存方法;例如,将经修改的业务对象实例写到数据库。服务提供者208可以用指示业务对象是否被验证的的结果代码对服务管理者204作出响应。
另一方面,如果在步骤226中一些业务对象实例未被检查(即,失败的检查处理),则那些业务对象实例不会前进到保存步骤228。反而,服务管理者204可以对失败的业务对象实例执行事务清理,并且重复步骤226和步骤236。通过滤除失败的业务对象实例,服务管理者204可以将在检查步骤226中成功处理的业务对象实例转送到下一个处理阶段。同时,如果事务清理可以被执行,则服务管理者204可以重新处理失败的业务对象实例。否则,服务管理者204可以将该业务对象实例记入错误日志而不执行进一步处理。
在步骤238中,服务管理者204可以调取批协调者206中的错误检查方法以处理保存步骤228的结果。该结果可以传递给批协调者206中的错误检查方法。批协调者206识别那些失败的业务对象实例并且将列表提供给服务管理者204。例如,在实施例中,来自保存步骤228的结果可以经由对于每个业务对象实例执行的每个方法的结果代码来表达。对于每个这样的结果代码,批协调者206可以被编程(例如,使用开关语句)为将该业务对象实例标记为通过、失败或者被编程为采取一些其它动作。如果未识别到结果代码,则批协调者206可以将业务对象实例(例如,其ID)、结果代码和任何有关的信息记入错误日志。批协调者206将失败的业务对象实例的列表发送给服务管理者204。
服务管理者204可以用结果代码对服务消费者202作出响应。在实施例中,该代码可以指示所有业务对象实例都已被成功地更新和保存,或者指示一些业务对象实例已被成功地更新和保存,或者指示业务对象实例中的任何一个都没有被成功地更新和保存。此外,可以提供列出失败的业务对象实例以及失败发生在哪个处理阶段的报告。该报告可以包括关于重试的信息及其他附加信息。如果存在将要由服务管理者204处理的另一个批容器,则可以重复上述步骤222-238。
返回参考步骤220,当服务消费者202向服务管理者204发布批运行命令时,服务消费者可以指示服务管理者204在单个事务中处理批作业(批容器)。这是图2中示出的情景。在实施例中,服务管理者204可以在多个事务中处理批容器。例如,假设批作业包含1000个业务对象实例。可能期望将批容器作为十个单独的事务来处理,每个事务对应100个业务对象实例。服务管理者204可以将每个事务的过程实例化,以并行处理这十个事务。在实施例中,服务管理者204可以将批容器中的每个业务对象实例的过程实例化。举例来说,如果批容器包含20个业务对象实例,则实际上可以将20个过程实例化,其中每个业务对象实例对应于一个过程。服务管理者204可以自己确定是否将批容器划分成多个事务(过程)。在实施例中,服务消费者202可以指示服务管理者204是否以及如何将批作业划分为多个事务。
图3示出实施例中的用于将批作业(批容器)划分成多个事务的工作流。服务管理者包含服务管理者前端304a和服务管理者后端304b。服务管理者前端304a与服务消费者202通信。服务管理者前端304a与任务操控器前端302a通信。如下面将要解释的,任务管理者前端332a将过程312a、312b-312n实例化。每个过程312a包括任务操控器后端332b、服务管理者后端304b、批协调者206和服务提供者208的实例化。
图2中示出的批接收步骤210被表示为图3中的处理块A,并且在服务消费者202和服务管理者前端304a之间进行,如以上结合步骤212-218所解释的。当服务消费者202已经提交其所有批作业时,其然后可以向服务管理者前端304a发布批运行命令以执行(多个)批作业(步骤320)。
在步骤322中,服务管理者前端304a与任务操控器前端332a通信以将一个或更多个过程312a-312n实例化。如以上所解释的,服务消费者202可以指令如何将每个批作业划分成两个或更多个事务。可替换地,服务管理者前端304a可以独立于服务消费者202做出该确定。在实施例中,任务操控器前端332a可以通过被称为串行化的过程将批容器划分成两个或更多个事务,这在美国专利第7,536,673号中更详细地进行了公开。任务操控器前端332a将每个事务的过程312a实例化。任务操控器前端332a与每个实例化的过程312a中的任务操控器后端332b通信(例如,经由过程间通信),以设置对与其关联的事务相对应的批容器的的部分的处理。在步骤324中,任务操控器后端332b将该批容器部分进行解串行化,以便由服务管理者后端304b根据图2中示出和描述的过程块来处理。关于解串行化的细节可以在美国专利第7,536,673号中找到。
当处理块B中的处理完成时,在该处理期间累积的错误可以由任务操控器后端332b收集。在实施例中,任务操控器后端332b可以将失败记入错误日志314,供进一步评估。例如,在实施例中,可以定期地调度单独的任务(过程)来检查错误日志314,并且创建工作流来评定并且以其它方式解决错误。
参考图4,在实施例中,计算机***400可以被配置为根据本发明的方面操作。例如,计算机***400可以配置为服务消费者202;例如,运行业务应用。另一个计算机***422可以配置为支持图2和3中示出的服务管理者、批协调者、服务提供者和任务操控器(taskhandler)组件。
计算机***400可以包含一个或更多个数据处理单元的数据处理器子***401。存储器子***(memory system)402可以包含随机存取存储器(通常是易失性存储器,比如DRAM)和非易失性存储器,比如快闪存储器、ROM等等。存储子***(storage subsystem)403可以包含一个或更多个海量存储器,比如硬盘驱动器等等。存储子***403可以包括远程存储***;例如,用于数据镜像、远程备份等等。网络接口子***404可以向用户提供对计算机***400的访问,例如,通过电信网络。总线405的***可以将前述的子***互连,以提供去往/来自各种子***的控制线、数据线和/或电压供应线。计算机***400可以包括(多个)适当的显示器412和输入设备411,比如,键盘和鼠标输入设备。
存储器子***402可能已经存储了非易失性存储器计算机可执行程序,当其被运行时可以使得数据处理子***401根据本发明的方面操作。例如,存储器子***402可以包括构成服务管理者204(304a、304b)、批协调者206、服务提供者208和任务操控器(332a、332b)的计算机可执行程序。存储子***403可以为各种数据库组件,比如错误日志314,提供存储。
以上描述阐释本发明的各种实施例以及本发明的方面可以如何实现的示例。以上示例和实施例不应当被视为仅仅是实施例,并且被呈现用以说明如所附权利要求所定义的本发明的灵活性和优点。基于以上公开和所附权利要求,其它布置、实施例、实施方案和等效物对于本领域技术人员来说是显而易见的,并且可以被采用而不会脱离如所附权利要求所定义的本发明的精神和范围。

Claims (13)

1.一种用于处理表示业务应用管理的数据的多个类别的多个业务对象的方法,所述方法包含操作计算机以执行以下步骤:
从客户端***接收标识多个业务对象的信息;
从客户端***接收指示将要对所述多个业务对象执行的一个或更多个操作的信息;
存储关于所述多个业务对象以及关于所述一个或更多个操作的信息而不对业务对象进行修改;
从所述客户端***接收触发;以及
响应于接收触发,操作计算机以执行以下步骤:
(i)根据所述一个或更多个操作更改所述多个业务对象当中的一个或更多个业务对象;
(ii)对在更改期间产生的任何错误执行第一错误处理;
(iii)保存在步骤(i)中成功更改的业务对象,其中所述多个业务对象中的失败的业务对象被滤除;以及
(iv)如果能够执行对失败的业务对象的事务清理,则通过重新处理失败的业务对象对失败的业务对象执行第二错误处理,或者否则将失败的业务对象记入错误日志。
2.如权利要求1所述的方法,其中错误处理步骤包括从多个预定错误当中识别错误并且执行与识别出的预定错误相关联的动作。
3.如权利要求2所述的方法,其中如果该错误不在所述多个预定错误当中,则将该错误记录在错误日志中。
4.如权利要求1所述的方法,其中更改步骤包括调取用于每个业务对象的一个或更多个核心服务以及调取对每个业务对象唯一的一个或更多个特定服务,其中执行第一错误处理的步骤包括对在调取所述一个或更多个核心服务期间产生的任何错误执行第三错误处理以及对在调取所述特定服务期间产生的任何错误执行第四错误处理。
5.如权利要求1所述的方法,进一步包含:操作计算机执行以下步骤:
将用于业务对象的第一集合的第一过程实例化以执行下列步骤:对业务对象的第一集合进行更改、执行第一错误处理、保存以及执行第二错误处理;以及
将用于业务对象的第二集合的第二过程实例化以执行下列步骤:对业务对象的第二集合进行更改、执行第一错误处理、保存以及执行第二错误处理。
6.一种计算机***,其包含:
数据处理器;
数据存储器,在其上存储有计算机可执行程序代码,其中该计算机可执行程序代码被配置为将数据处理器编程以执行下列步骤:
从客户端***接收多个业务对象的信息,所述多个业务对象标识表示业务应用管理的数据的多个类别;
从客户端***接收指示将要对所述多个业务对象执行的一个或更多个操作的信息;
存储关于所述多个业务对象以及关于所述一个或更多个操作的信息而不对业务对象进行修改;以及
从客户端***接收触发,并且响应于该触发:
(i)根据所述一个或更多个操作更改所述多个业务对象当中的一个或更多个业务对象;
(ii)对在更改期间产生的任何错误执行第一错误处理;
(iii)保存在步骤(i)中成功更改的业务对象,其中所述多个业务对象中的失败的业务对象被滤除;以及
(iv)如果能够执行对失败的业务对象的事务清理,则通过重新处理失败的业务对象对失败的业务对象执行第二错误处理,或者否则将失败的业务对象记入错误日志。
7.如权利要求6所述的计算机***,其中第一和第二错误处理包括从多个预定错误当中识别错误并且执行与识别出的预定错误相关联的动作。
8.如权利要求6所述的计算机***,其中更改一个或更多个业务对象包括调取用于每个业务对象的一个或更多个核心服务以及调取对每个业务对象唯一的一个或更多个特定服务,其中执行第一错误处理包括对在调取所述一个或更多个核心服务期间产生的任何错误执行第三错误处理以及对在调取所述特定服务期间产生的任何错误执行第四错误处理。
9.如权利要求6所述的计算机***,其中所述数据处理器:
将用于业务对象的第一集合的第一过程实例化以对业务对象的第一集合进行更改、执行第一错误处理、保存以及执行第二错误处理;以及
将用于业务对象的第二集合的第二过程实例化以对业务对象的第二集合进行更改、执行第一错误处理、保存以及执行第二错误处理。
10.一种计算机实现的设备,所述设备包括:
用于从客户端***接收标识多个业务对象的信息的装置;
用于从客户端***接收指示将要对所述多个业务对象执行的一个或更多个操作的信息的装置;
用于存储关于所述多个业务对象以及关于所述一个或更多个操作的信息而不对业务对象进行修改的装置;
用于从所述客户端***接收触发的装置;以及
用于响应于接收触发,操作计算机以执行以下步骤的装置:
(i)根据所述一个或更多个操作更改所述多个业务对象当中的一个或更多个业务对象;
(ii)对在更改期间产生的任何错误执行第一错误处理;
(iii)保存在步骤(i)中成功更改的业务对象,其中所述多个业务对象中的失败的业务对象被滤除;以及
(iv)如果能够执行对失败的业务对象的事务清理,则通过重新处理失败的业务对象对失败的业务对象执行第二错误处理,或者将失败的业务对象记入错误日志。
11.如权利要求10所述的设备,其中错误处理步骤包括从多个预定错误当中识别错误并且执行与识别出的预定错误相关联的动作。
12.如权利要求10所述的设备,其中更改步骤包括调取用于每个业务对象的一个或更多个核心服务以及调取对每个业务对象唯一的一个或更多个特定服务,其中执行第一错误处理的步骤包括对在调取所述一个或更多个核心服务期间产生的任何错误执行第三错误处理以及对在调取所述特定服务期间产生的任何错误执行第四错误处理。
13.如权利要求10所述的设备,进一步包含:可执行的程序被配置为使得计算机***执行下列步骤:
将用于业务对象的第一集合的第一过程实例化以执行下列步骤:对业务对象的第一集合进行更改、执行第一错误处理、保存以及执行第二错误处理;以及
将用于业务对象的第二集合的第二过程实例化以执行下列步骤:对业务对象的第二集合进行更改、执行第一错误处理、保存以及执行第二错误处理。
CN201210510211.0A 2011-12-01 2012-12-03 业务对象的批处理 Active CN103136041B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/309,252 2011-12-01
US13/309,252 US20130145371A1 (en) 2011-12-01 2011-12-01 Batch processing of business objects

Publications (2)

Publication Number Publication Date
CN103136041A CN103136041A (zh) 2013-06-05
CN103136041B true CN103136041B (zh) 2019-01-25

Family

ID=47191483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210510211.0A Active CN103136041B (zh) 2011-12-01 2012-12-03 业务对象的批处理

Country Status (3)

Country Link
US (1) US20130145371A1 (zh)
EP (1) EP2600246B1 (zh)
CN (1) CN103136041B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9767098B2 (en) * 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9122595B2 (en) 2012-01-13 2015-09-01 NetSuite Inc. Fault tolerance for complex distributed computing operations
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
US9652487B1 (en) 2012-08-08 2017-05-16 Amazon Technologies, Inc. Programmable checksum calculations on data storage devices
US9779035B1 (en) 2012-08-08 2017-10-03 Amazon Technologies, Inc. Log-based data storage on sequentially written media
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US8959067B1 (en) 2012-08-08 2015-02-17 Amazon Technologies, Inc. Data storage inventory indexing
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
US20140236904A1 (en) * 2013-02-20 2014-08-21 Verizon Patent And Licensing Inc. Batch analysis
US10338958B1 (en) * 2014-01-27 2019-07-02 Amazon Technologies, Inc. Stream adapter for batch-oriented processing frameworks
US9606877B2 (en) * 2015-05-18 2017-03-28 Facebook, Inc. Restoring non-transactional messages in queues for advertisement data flow processing
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
CN105225194A (zh) * 2015-11-03 2016-01-06 中体彩科技发展有限公司 彩票数据报文处理方法及***、售彩终端、远端服务器
CN105468682B (zh) * 2015-11-16 2018-12-14 中国建设银行股份有限公司 一种事件调度***
US10503821B2 (en) 2015-12-29 2019-12-10 Sap Se Dynamic workflow assistant with shared application context
CN107612950B (zh) * 2016-07-11 2021-02-05 阿里巴巴集团控股有限公司 一种提供服务的方法、装置、***、电子设备
CN106326352A (zh) * 2016-08-08 2017-01-11 歌尔股份有限公司 对接多个业务***的通用接口设计方法及***
US10409638B2 (en) 2017-04-10 2019-09-10 Bank Of America Corporation Digital processing system for event and/or time based triggering management, and control of tasks
JP7098280B2 (ja) * 2017-05-30 2022-07-11 キヤノン株式会社 情報処理システム、および制御方法
CN111176762A (zh) * 2019-12-31 2020-05-19 北京奇艺世纪科技有限公司 批量处理程序的执行方法及装置、电子设备和可存储介质
US11354332B2 (en) 2020-05-20 2022-06-07 Sap Se Enabling data access by external cloud-based analytics system
CN113467782B (zh) * 2021-07-02 2022-12-09 中国建设银行股份有限公司 一种确定业务流程的方法、装置及设备
CN117632140B (zh) * 2023-12-07 2024-07-05 易方达基金管理有限公司 一种业务流程处理方法、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630864A (zh) * 2002-01-30 2005-06-22 射频表面声波元件公司 用于识别标记的对象命名网络基础设施及其运行方法
CN1869991A (zh) * 2006-06-30 2006-11-29 南京联创科技股份有限公司 基于动态代理的数据访问对象模式的实现方法
CN101150424A (zh) * 2007-10-15 2008-03-26 中兴通讯股份有限公司 会议业务创建后批量增加会议成员的方法
US7536673B2 (en) * 2003-07-22 2009-05-19 Sap Ag Application business object processing
CN102165419A (zh) * 2008-10-31 2011-08-24 国际商业机器公司 用于管理批作业的计算机***及其方法及计算机程序
US8027922B2 (en) * 2003-07-14 2011-09-27 Sprint Communications Company L.P. Integration infrastructure

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013284B2 (en) * 1999-05-04 2006-03-14 Accenture Llp Component based interface to handle tasks during claim processing
US7523133B2 (en) * 2002-12-20 2009-04-21 Oracle International Corporation Data model and applications
US7562351B2 (en) * 2003-12-10 2009-07-14 Sap Ag Postprocessing office method and system
EP1637995B1 (en) * 2004-09-20 2011-07-13 Sap Ag Method to detect and correct errors in data objects
US20060149784A1 (en) * 2005-01-03 2006-07-06 Rob Tholl System and method for operating modules of a claims adjudication engine
US7801996B2 (en) * 2005-09-12 2010-09-21 Sap Ag Systems and methods for providing a local client proxy
US7647251B2 (en) * 2006-04-03 2010-01-12 Sap Ag Process integration error and conflict handling
US20090063470A1 (en) * 2007-08-28 2009-03-05 Nogacom Ltd. Document management using business objects
US20100131916A1 (en) * 2008-11-21 2010-05-27 Uta Prigge Software for modeling business tasks
US20130018662A1 (en) * 2011-07-12 2013-01-17 International Business Machines Corporation Business Transaction Capture And Replay With Long Term Request Persistence

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630864A (zh) * 2002-01-30 2005-06-22 射频表面声波元件公司 用于识别标记的对象命名网络基础设施及其运行方法
US8027922B2 (en) * 2003-07-14 2011-09-27 Sprint Communications Company L.P. Integration infrastructure
US7536673B2 (en) * 2003-07-22 2009-05-19 Sap Ag Application business object processing
CN1869991A (zh) * 2006-06-30 2006-11-29 南京联创科技股份有限公司 基于动态代理的数据访问对象模式的实现方法
CN101150424A (zh) * 2007-10-15 2008-03-26 中兴通讯股份有限公司 会议业务创建后批量增加会议成员的方法
CN102165419A (zh) * 2008-10-31 2011-08-24 国际商业机器公司 用于管理批作业的计算机***及其方法及计算机程序

Also Published As

Publication number Publication date
EP2600246A1 (en) 2013-06-05
US20130145371A1 (en) 2013-06-06
EP2600246B1 (en) 2017-09-13
CN103136041A (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
CN103136041B (zh) 业务对象的批处理
US7647251B2 (en) Process integration error and conflict handling
US20070233778A1 (en) Process integration persistency
US7899787B2 (en) Object-oriented system and method using shadowing object for approval control
CN110458698A (zh) 对区块链分类账和区块链分类账外部的应用进行集成
US9621409B2 (en) System and method for handling storage events in a distributed data grid
JPH0683784A (ja) 分散型計算システムにおいて動作経路上にオブジェクトを経路指定する方法及び装置
US7984020B2 (en) System and method for business object sync-point and rollback framework
US8407706B2 (en) Framework for parallel business object processing
CN102203741B (zh) 在存储设备上执行数据写入
US20100228786A1 (en) Assessment of corporate data assets
WO2002079916A2 (en) Method for incorporating human-based activities in business process models
US7849068B2 (en) Remotely updating a status of a data record to cancel a workstation deployment
CN110222106A (zh) 集成的工作流和数据库事务
JPH06301581A (ja) 過ち許容トランザクション指向データ処理
JP2011175683A (ja) コンピュータが実行可能なワークフロー制御システム
CN103679048B (zh) 用于多***全景中的数据保密和销毁的***和方法
EP0944204A2 (en) Apparatus, methods, and computer program products for transactional support of network management operations
US8332851B2 (en) Configuration and execution of mass data run objects
CN108021338A (zh) 用于实现两层提交协议的***和方法
US8380679B2 (en) Method of handling transaction in a service oriented architecture environment
JP2004164594A (ja) 長時間のトランザクションを管理する方法およびシステム
JP2006146679A (ja) 情報処理装置の制御方法、情報処理装置、及びプログラム
TWI685808B (zh) 授信額度管理方法與系統
CN104765645B (zh) 面向服务体系结构中合并传统计算机***的方法和***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: German Waldo

Applicant after: SAP AG

Address before: German Waldo

Applicant before: SAP AG

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SAP AG TO: SAP EUROPE AG

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant