CN103092906A - 用于扩展节点的多客户通用保持 - Google Patents

用于扩展节点的多客户通用保持 Download PDF

Info

Publication number
CN103092906A
CN103092906A CN2012104359654A CN201210435965A CN103092906A CN 103092906 A CN103092906 A CN 103092906A CN 2012104359654 A CN2012104359654 A CN 2012104359654A CN 201210435965 A CN201210435965 A CN 201210435965A CN 103092906 A CN103092906 A CN 103092906A
Authority
CN
China
Prior art keywords
key assignments
field value
node
extended field
standard
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.)
Granted
Application number
CN2012104359654A
Other languages
English (en)
Other versions
CN103092906B (zh
Inventor
D.菲格斯
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 CN103092906A publication Critical patent/CN103092906A/zh
Application granted granted Critical
Publication of CN103092906B publication Critical patent/CN103092906B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供用于扩展节点的多客户通用保持的系统和方法的多个实施例。业务数据对象的标准字段值和特定于客户的扩展字段值是分开的。此外,与扩展字段值关联的扩展节点实例键值是分开的。此外,标准字段值和关联的标准节点实例键值存储在标准保持单元中,而扩展字段值存储在扩展数据保持单元中。此外,扩展节点实例键值以及标准节点实例键值与扩展节点实例键值之间的关系存储在扩展键值保持单元中。

Description

用于扩展节点的多客户通用保持
技术领域
实施例一般涉及计算机系统,更具体地,涉及提供用于扩展节点的多客户通用保持的方法和系统。
背景技术
软件即服务(SaaS)解决方案提供可以包括应用,标准数据对象,数据库等等的大规模业务管理解决方案的功能深度。为了使得能够定制客户解决方案,可以添加一个或多个扩展字段(例如,添加到标准业务对象的客户定义的业务数据字段)以支持个人业务过程。
当前,可以在与业务对象关联的扩展节点下添加扩展字段(例如,可以对于业务数据对象添加新扩展字段)。然而,SaaS可以在多客户系统上托管,在该多客户系统中多个客户或用户或顾客位于相同的计算机系统上。在这种场景中,将特定于客户的扩展字段值隔离以及以更快速度检索特定于客户的业务数据对象是重要目标。此外,扩展字段可以不仅存储一个值,它们还可以存储多个值。然而,不存在定义携带多个值的扩展字段的方法。如果定义了携带多个值的扩展字段,则因为可以避免创建多个扩展字段所以可以获得资源优化。
因此,期望提供一种提供用于扩展节点的多客户通用保持的方法和系统以支持将特定于客户的扩展字段值隔离、支持以更快速度检索特定于客户的业务数据对象、以及获得资源优化。
发明内容
此处描述系统和方法的多个实施例以提供用于扩展节点的多客户通用保持。在一个方面,特定于业务数据对象的客户的标准字段值和扩展字段值是分开的。此外,与扩展字段值关联的扩展节点实例键值是分开的。此外,标准字段值和关联的标准节点实例键值存储在标准数据保持单元中,而扩展字段值存储在扩展数据保持单元中。因此,通过分开地存储标准字段值和扩展字段值,可以获得特定于客户的扩展字段值的隔离。
此外,标准节点实例键值以及标准节点实例键值与扩展节点实例键值之间的关系存储在扩展键值保持单元中。因此,通过分开地存储扩展节点实例键值以及与标准节点实例键值的关系,可以在多客户系统中定义特定于客户的扩展节点。从而,可以获得将扩展字段在语义上分组在一起并定义可以携带多个值的扩展字段。此外,可以获得以更快速度检索特定于客户的业务数据对象和资源优化。
当考虑参考以下附图给出的本发明优选实施例的以下具体描述时,本发明的实施例的这些和其它益处和特征将清楚。
附图说明
权利要求书具体主张了本发明的实施例。本发明以示例的方式说明并且不以限于附图中的方式,在附图中相似的参考标号指示相似的元件。本发明的实施例与它的优点一起可以从参考附图的以下具体描述中更好地理解。
图1是示出根据实施例的提供用于扩展节点的多客户通用保持的构造的框图。
图2是示出根据实施例的提供用于扩展节点的多客户通用保持的系统的框图。
图3是示出根据实施例的提供用于扩展节点的多客户通用保持的方法的流程图。
图4示出根据实施例的业务数据对象的结构。
图5示出根据实施例的、具有多重性“一对一(one-to-one)”的业务数据对象节点的实例结构。
图6示出根据实施例的、具有多重性“一对多(one-to-many)”的业务数据对象节点的实例结构。
图7是示出根据实施例的扩展字段值的结构的框图。
图8是示出根据实施例的提供特定于客户的业务数据对象的方法的流程图。
图9A和图9B是示出根据实施例的到扩展字段值的快速导航的框图。
图10是示出根据实施例的计算环境的框图,在该计算环境中描述的技术提供用于扩展节点的多客户通用保持。
具体实施方式
此处描述提供用于扩展节点的多客户通用保持的技术的实施例。向客户提供用于定制标准数据对象以修改网络应用的操作的选项。定制的数据或业务数据对象可以存储在特定于网络应用的业务对象中。业务对象可以包括一个或多个标准节点和对应的一个或多个扩展节点。此外,标准节点和扩展节点可以分别包括对应的一个或多个标准字段和扩展字段以存储业务数据对象。业务数据对象可以包括标准字段值(例如,存储在标准字段中)和特定于客户的扩展字段值(例如,存储在扩展字段中)。在一个实施例中,提供业务数据存储单元以存储与多个客户关联的业务数据对象。
根据一个实施例,从业务数据对象中将标准字段值和特定于客户的扩展字段值分开。此外,扩展字段值以及与扩展字段值关联的扩展节点实例键值存储在分开的保持单元中。此外,存储标准字段实例键值和扩展节点实例键值之间的关系,该标准字段实例键值与标准字段值关联。因为分开地存储值(例如,标准字段值和用户特定的扩展字段值)、键值(例如,扩展节点实例键值)和它们之间的关系,所以可以在多客户系统中定义特定于客户的扩展节点的存在。因此,可以将与客户关联的特定于业务过程的扩展字段在语义上分组并获得资源优化。此外,可以提供对扩展字段值的快速导航。
在下面的描述中,阐述许多的细节以提供对本发明实施例的彻底的理解。然而本领域技术人员将认识到可以在没有一个或多个细节的情况下实践本发明或者利用其它方法、组件、素材等等实践本发明。在其他实例中,不示出或详细描述公知的结构、素材或操作以避免模糊本发明的方面。
遍及此说明书,提到“一个实施例”、“此实施例”和类似短语,意味着连同实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。从而,遍及说明书在多个地方出现的这些短语不必然地全部指示相同实施例。此外,可以在一个或更多实施例中以任何合适的方式组合特定特征、结构或特性。
图1是示出根据实施例的提供用于扩展节点的多客户通用保持的构造的框图。系统100包括通过网络160与一个或多个客户系统(例如,110和115)通信的多客户计算机系统105。多客户计算机系统105可以是台式计算机、工作站、膝上型计算机、手持式计算机、智能电话、控制台设备等等。网络160可以是有线、无线或其组合。网络160的示例可以包括互联网、内部网、广域网或局域网等等,但是不局限于此。
多客户计算机系统105可以包括一个或多个处理器(例如,120)以及一个或多个存储器件或数据保持设备或业务数据存储单元(例如,125)。业务数据存储单元125提供对在处理器120中运行的网络应用130的访问。在一个示范性实施例中,为多个客户提供对网络应用130的访问,所述多个客户的数据将被保持隔离。使用向从客户系统(例如,110和115)连接的客户给出的应用实例(例如,135和140)可运行网络应用130。客户可以是访问多客户计算机系统105处的网络应用130的机构(entity)、个人、系统、应用等等。在一个实施例中,业务数据存储单元125包括在多客户计算机系统105中提供用于扩展节点的多客户通用保持的标准数据保持单元145、扩展键值保持单元150和扩展数据保持单元155。
在操作中,操作客户系统110的用户或客户可以经由应用实例135向网络应用130所提供的标准特征和标准数据对象(例如,业务数据对象)添加定制。业务数据对象可以包括标准字段值和特定于客户的扩展字段值。标准字段值对应于网络应用130所定义的标准数据对象的一个或多个标准字段,并且扩展字段值对应于一个或多个扩展字段以修改用于客户的网络应用130的操作。例如,考虑网络应用130提供销售定单(sales order)功能。业务数据对象的标准字段值可以包括业务对象名称(例如,销售定单)、业务对象节点(例如,标题(header))和节点标识符(例如,1000)。扩展字段值可以包括客户特定的数据字段(例如,value1_1)。
在一个实施例中,业务数据对象存储在业务数据存储单元125中。标准字段值和关联的标准节点实例键值存储在标准数据保持单元145中。标准节点实例键值定义与标准节点关联的扩展节点的数目。此外,扩展字段值存储在扩展数据保持单元155中。特定于客户创建扩展节点,并且扩展字段值存储在扩展节点的扩展字段中。在一个示范性实施例中,客户可以定义一个或多个扩展节点以存储特定于业务过程的扩展字段值。
在一个实施例中,与扩展字段值关联的扩展节点实例键值、以及标准节点实例键值和扩展节点实例键值之间的关系存储在扩展键值保持单元150中。此外,当接收到与业务数据对象关联的添加的业务数据对象时,与添加的业务数据对象关联的扩展字段值存储在对应的扩展字段中。使用存储在扩展键值保持单元150中的标准节点实例键值和扩展节点实例键值之间的关系,获得与添加的业务数据对象关联的扩展字段值的存储。因此,可以不需要创建用于每个业务数据对象的扩展节点。此外,可以将与客户关联的特定于业务过程的扩展字段在语义上分组。此外,可以通过标准节点实例键值和扩展节点实例键值之间的关系定义携带多个值的扩展字段。类似地,可以接收和存储特定于操作客户系统115的客户的业务数据对象。因此,与客户系统(例如,110和115)相关的业务数据对象存储在单个业务数据存储单元125中。然而,因为分开地存储标准字段值和扩展字段值,所以可以获得特定于客户(例如,客户系统110和客户系统115)的扩展字段值的隔离。在图2和图3中更详细地描述存储特定于客户的业务数据对象。
图2是示出根据实施例的在多客户计算机系统中存储特定于客户的业务数据对象的框图200。在运行时间期间,接收由客户205定制的业务数据对象。扩展框架210将业务数据对象分割成为标准字段值和扩展字段值。扩展字段值特定于客户205。在一个示范性实施例中,可以在多客户计算机系统中、客户机器中、或多客户计算机系统和客户机器之间的中间处理系统中实现扩展框架210。此外,标准字段值和关联的标准字段实例键值存储在与标准业务对象220通信的标准数据保持单元215中。
在一个实施例中,扩展框架210将与扩展字段值关联的扩展节点实例键值分开。此外,扩展字段值在扩展保持适配器225处被转换为具有特定结构的数据库格式。转换的扩展字段值存储在扩展数据保持单元230中。因为多个客户的扩展字段值存储在扩展数据保持单元230中,所以扩展数据保持单元230可以格式化为简单的数据库表,其结构可能不特定于客户205。在一个示例中,可以将扩展数据保持单元230格式化为列表表格(list table),而将特定于客户205的扩展字段值按行存储。
在一个实施例中,扩展节点实例键值以及标准节点实例键值和扩展节点实例键值之间的关系存储在扩展键值保持单元235中。在一个实施例中,扩展节点实例键值包括作为对多个客户之一的引用的扩展节点键值、父节点键值和根节点键值,标准节点实例键值包括与所述扩展字段值关联的标准数据对象和标准数据对象的实例。在图4中更详细地描述扩展节点实例键值。利用图3中的示例描述业务数据对象的存储。
图3是示出根据实施例的提供用于扩展节点的多客户通用保持的方法的流程图300。在步骤310,接收包括标准字段值和特定于客户的扩展字段值的业务数据对象。例如,业务数据对象可以是指定客户的爱好的个人信息。在一个实施例中,业务数据对象可以包括标准字段值和特定于客户的扩展字段值。标准字段值(例如,个人信息ID)对应于网络应用所定义的标准数据对象的一个或多个标准字段,并且扩展字段值(例如,像板球、阅读、园艺和编织之类的爱好)对应于一个或多个用户特定的扩展字段以修改对应于客户的网络应用的操作。在图4中更详细地描述业务数据对象。
在步骤320,将业务数据对象的标准字段值和扩展字段值分开。例如,个人信息ID和爱好的列表分开。在步骤330,将与扩展字段值关联的扩展节点实例键值从扩展字段值分开。例如,扩展节点实例键值包括扩展节点键值(例如,扩展节点ID hobbies_100)、父键值(例如,标准节点和扩展节点之间的关系)以及根键值(例如,个人信息的根节点ID标题)。
在步骤340,标准字段值和关联的标准节点实例键值存储在标准数据保持单元中。标准节点实例键值定义与对应于标准字段值的标准节点关联的扩展节点的实例的数目。例如,如果只有“爱好”被存储为个人信息,则标准节点实例键值指示仅存在与标准节点(例如,个人信息)关联的一个扩展节点(例如,爱好)。此外,如果存储诸如出生日期的其他信息,则标准节点实例键值指示存在与标准节点(例如,个人信息)关联的两个扩展节点(例如,爱好和出生日期)。
此外,扩展字段值存储在扩展数据保持单元中。例如,爱好的列表存储在扩展数据字段中。在一个示范性实施例中,在扩展字段值存储在扩展数据保持单元中之前,将其转换为具有特定结构的数据库格式。因为与多个客户关联的扩展字段值存储在扩展数据保持单元中,所以用于存储扩展字段值的扩展数据保持单元的结构可能不特定于客户。在一个示例中,扩展字段值可以被转换为适合用于容易和快速访问特定于客户的扩展字段值的表的格式。
在步骤350,扩展节点实例键值、以及标准节点实例键值和扩展节点实例键值之间的关系存储在扩展键值保持单元中。在一个实施例中,扩展节点实例键值包括扩展节点键值、父节点键值和根节点键值。扩展节点键值包括扩展节点ID(例如,hobbies_100),父节点键值包括父节点ID以定义标准节点和扩展节点之间的关系(例如,个人信息和爱好之间的关系),并且根节点键值包括根节点ID(例如,个人信息的标题)。存储在扩展键值保持单元中的扩展节点键值、父节点键值和根节点键值用于以更快速度来检索或阅读或导航扩展字段值。在图6中更详细地解释扩展字段值的检索。
在一个实施例中,父节点键值通过定义携带多个值的扩展字段来定义标准节点和扩展节点之间的关系。例如,扩展字段爱好可以包括诸如板球、阅读、园艺和编织之类的多个值。扩展字段爱好的父键值包括指示扩展字段爱好包括多个值的多重性(multiplicity)“一对多”。类似地,扩展字段“出生日期”包括一个值。从而,扩展字段出生日期的父键值包括指示扩展字段“出生日期”包括一个值的多重性“一对一”。在图5和图6中更详细地描述多重性“一对一”和“一对多”。
在一个示范性实施例中,扩展字段可以包括多个值字段(例如,语言有关的的字段)的具体使用情况。在此业务要求中,可能需要以不同语言维持添加的描述。为此,可以利用关系多重性“一对多”并利用两个扩展字段(例如,一个用于语言而一个用于添加的描述)创建新扩展节点(例如,“添加的描述”,用于德国同事的一个描述、用于印度同事的一个描述等等)。此外,用于语言的扩展字段表现为新扩展节点的语义键值,而用于添加的描述字段的扩展字段包含特定于客户的实际扩展字段值。因此,可以通过标准节点实例键值和扩展节点实例键值之间的关系定义包含这种具体的扩展字段值的扩展数据字段。
在一个示范性实施例中,可以接收与业务数据对象关联的添加的业务数据对象。存储添加的业务数据对象可以包括将添加的扩展字段值从与添加的业务数据关联的标准字段值分开。此外,分开与添加的扩展字段值关联的扩展节点实例键值。此外,在将添加的用户特定的扩展字段值转换成为具有特定结构的数据库格式之后,使用标准节点实例键值和扩展节点实例键值之间的关系将扩展字段值保持在扩展数据保持单元的关联的扩展字段中。
例如,添加的扩展字段值可以包括每周对于爱好花费的时间。爱好和每周花费的时间在语义上属于一起。因此,爱好和每周花费的时间分组到一起并存储在一个扩展节点中。通过存储在扩展键值保持单元中的标准节点实例键值和扩展节点实例键值之间的关系获得语义分组。从而使客户更容易理解扩展字段的意思。此外,不需要对全部扩展字段值生成额外的扩展节点。在另一示范性实施例中,可以对于标准字段完成语义分组。例如,销售定单的全部标题信息可以一起分组在一个标准节点中。
通常,当接收业务数据对象时,在键值表中产生一个条目(例如,存储标准节点实例键值、扩展节点实例键值和两者之间的关系)。此外,分开地存储关联数据(例如,标准字段值和扩展字段值)。在另一示范性实施例中,当接收添加的业务数据对象时,参考相同键值表存储与添加的业务数据对象关联的扩展字段值(例如,标准节点实例键值、扩展节点实例键值和两者之间的关系)。在另一示范性实施例中,当接收没有数据(例如,标准字段值和扩展字段值)的用户定制的数据对象时,则在键值表中产生没有数据存储的一个条目(例如,标准节点实例键值、扩展节点实例键值和两者之间的关系被保持)。因此,可以通过保持与节点(例如,扩展字段节点和标准字段节点)关联的键值(标准节点实例键值、扩展节点实例键值和两者之间的关系)来容易地区分具有数据(例如,初始值)、具有添加的数据(例如,非初始值)以及没有数据的节点(例如,扩展字段节点和标准字段节点)。
图4示出根据实施例的业务数据对象400的结构。业务数据对象400包括根节点405、标准节点410和一个或多个扩展节点(例如,扩展节点415)。在一个实施例中,根节点405包括标准根节点实例键值和一个或多个标准字段值。例如,标准根节点实例键值包括标准根节点键值、父节点键值和根节点键值。标准字段值可以是如405所示的标准字段1和标准字段2。
此外,标准节点410包括标准节点实例键值和一个或多个标准字段值。例如,标准节点实例键值包括标准节点键值、父节点键值和根节点键值。标准字段值可以是如410所示的标准字段1和标准字段2。此外,扩展节点415包括扩展节点实例键值和一个或多个扩展字段值。例如,扩展节点实例键值包括扩展节点键值、父节点键值和根节点键值。扩展字段值可以是如415所示的扩展字段1和扩展字段2。在一个示范性实施例中,扩展节点415的根节点键值连接到根节点405的标准根节点键值。此外,扩展节点415的父节点键值连接到标准节点410的标准节点键值。此外,标准节点的根节点键值和父节点键值连接到根节点405的标准根节点键值。节点键值、父节点键值和根节点键值的连接描述标准节点和扩展节点之间的关系。
图5示出根据实施例的具有多重性“一对一(one-to-one)”的业务数据对象节点的实例500的结构。业务数据对象包括根节点505、标准节点510和扩展节点515。在一个示范性实施例中,因为扩展节点515的一个实例与标准节点510关联,所以实例500表示具有多重性“一对一”的运行时实时数据。由扩展节点515的扩展节点键值(例如,111)表示实例id。扩展节点515的根节点键值(例如,100)连接到根节点505的标准根节点键值(例如,100)。此外,扩展节点515的父节点键值(例如,101)连接到标准节点510的标准节点键值(例如,101)。此外,标准节点510的父节点键值(例如,100)和根节点键值(例如,100)连接到根节点505的标准根节点键值(例如,100)。
图6示出根据实施例的具有多重性“一对多(one-to-many)”的业务数据对象节点的实例600的结构。业务数据对象包括根节点605、标准节点610和具有两个实例(例如,615和620)的一个扩展节点。在一个示范性实施例中,因为扩展节点的两个实例(例如,615和620)与标准节点610关联,所以实例600表示具有多重性“一对多”的运行时实时数据。通过扩展节点(例如,615和620)的扩展节点键值(例如,111和121)表示两个实例。扩展节点实例(例如,615和620)的根节点键值(例如,100)连接到根节点605的相同标准根节点键值(例如,100)。此外,扩展节点实例(例如,615和620)的父节点键值(例如,101)连接到标准节点610的相同标准节点键值(例如,101)。因为存在具有相同父节点键值的两个扩展节点实例(例如,615和620),所以获得一对多的多重性。通常,如果存在具有相同父键值的多个扩展节点实例,则可以获得“一对多”多重性。此外,标准节点610的父节点键值(例如,100)和根节点键值(例如,100)连接到根节点505的标准根节点键值(例如,100)。
图7示出根据实施例的扩展字段值700的结构的框图。扩展字段值700可以包括一个或多个扩展字段值705和关联的扩展节点实例键值710。在一个实施例中,扩展节点实例键值710包括扩展节点键值(例如,扩展节点ID销售定单100)、父节点键值(例如,标准节点和扩展节点之间的关系)以及根节点键值(例如,销售定单的根节点ID标题)。此外,扩展字段值705可以与一个或多个扩展字段(例如,扩展字段1和扩展字段2)关联。此外,扩展节点实例键值710存储在扩展键值保持单元715中(例如,在一行中)。并且,扩展字段值705存储在扩展数据保持单元720中(例如,在一个或更多列中)。在图8、图9A和图9B中更详细地描述检索特定于客户的扩展字段值700供客户使用。
图8是示出根据实施例的提供业务数据对象的方法的流程图。在步骤810,使用标准节点实例键值和扩展节点实例键值从标准数据保持单元和扩展数据保持单元中检索标准字段值和扩展字段数据记录。例如,使用关联的标准节点实例键值和扩展节点实例键值,来检索与销售定单(例如,标准字段值)关联的条目(例如,扩展字段值)。在一个实施例中,使用标准节点实例键值和扩展节点实例键值以更快速度来检索标准字段值和扩展字段数据记录,将在图9中更详细地进行解释。
在步骤820,扩展字段数据记录被转换为特定于客户系统的格式的扩展字段值。例如,所接收的项目(item)的格式可能不与客户系统的格式兼容。因此,所接收的项目的格式被转换为与客户系统兼容的格式。在步骤830,使用标准节点实例键值和扩展节点实例键值之间的关系来组合标准字段值和扩展字段值以提供业务数据对象。例如,使用存储的关系来组合与销售定单关联的项目(例如,销售定单包括特定于客户的100个项目)。因此,可以利用网络应用提供业务数据对象供客户使用。
图9A和图9B是示出根据实施例的到扩展字段值的快速导航的框图(900A和900B)。可以使用标准节点实例键值(例如,BO节点描述符ID)和扩展节点实例键值(节点ID,父节点ID和根节点ID)获得对扩展字段值的快速导航。图9A示出使用父节点ID(例如,扩展节点实例键值的父键值)来检索扩展字段值(例如,字段值)。图9B示出使用根节点ID的扩展字段值的快速导航。
在一个示范性实施例中,父节点ID用于检索扩展字段值。父节点ID定义标准节点(例如,BO节点描述符ID)和扩展节点(例如,节点ID)之间的关系。因此,如图9A中所示,使用父节点ID检索对应于BO节点描述符ID和节点ID的扩展字段值。
在另一示范性实施例中,根节点ID用于使能对根节点实例(例如,具体销售定单的标题)的快速导航。扩展键值保持单元包含根节点ID。此外,如图9B所示,通过扩展节点ID从扩展键值保持单元读取根节点ID。例如,考虑存储三个销售定单(例如,销售定单120、130和200)。此外,销售定单(例如,销售定单120、130和200)可以具有由客户指令的不同的标识符。因此,使用根ID,可以检索与各个销售定单关联的条目(例如,可以检索与销售定单120关联的条目)。
通常,上述方法提供了客户数据隔离,保证以同样的方式对待客户的业务数据对象,并且同时向客户提供无缝的工作环境以使得客户的业务数据对象好像它们存储在定制数据库表中那样是可见的,所以该方法是有益的。此外,不再向标准数据库表添加扩展字段的数据并且不对每个节点生成新表。反而,全部扩展字段数据存储在通用数据保持单元中。此外,客户可以开发特定于客户的辅助物以支持特定业务过程而不产生对标准数据保持单元的任何改变。此外,引入存储键值以及节点之间的关系的新扩展键值保持。这使客户得以将扩展字段在语义上分组在一起,定义可以携带多个值的扩展字段,并且还定义可以携带和语言有关的描述的扩展字段。
本发明的一些实施例可以包括以上描述的被撰写作为一个或多个软件组件的方法。可以由客户端、服务器、分布或对等计算机系统使用这些组件以及与每个组件关联的功能。这些组件可以以对应于诸如功能、说明性、例程性、面向对象的、低级语言等等之类的一个或多个编程语言的计算机语言书写。它们可以经由多个应用编程接口链接到其他组件并且然后编译成为用于服务器或客户端的一个完整的应用。可替换地,可以在服务器和客户端应用中实现组件。此外,这些组件可以经由多个分布式编程协议链接在一起。本发明的一些示例实施例可以包括用于实现跨越分布式编程环境的一个或多个这些组件的远程过程调用。例如,逻辑级别可以驻留在距离包含界面级别(例如,图形用户界面)的第二计算机系统远程定位的第一计算机系统中。这些第一计算机系统和第二计算机系统可以配置为服务器-客户端、对等或一些其它的配置。客户端可以在从移动和手持设备到瘦客户端到胖客户端乃至其他服务器的复杂性方面不同。
以上所示的软件组件有形地存储在计算机可读存储介质上作为指令。术语“计算机可读存储介质”应包括存储一个或多个指令集合的单个介质或多个介质。术语“计算机可读存储介质”应包括能够经历一组物理变化以物理地存储、编码或携带用于由计算机系统运行的指令的集合的任何物理的制品,所述运行使得计算机系统执行此处描述、表示或所示的方法或处理步骤中的任何一个。计算机可读存储介质的示例包括,但是不局限于此:诸如硬盘、软盘和磁带的磁介质;诸如CD-ROM、DVD和全息照相装置的光学介质;磁光盘介质;以及专门地被配置为存储和运行的硬件设备,诸如专用集成电路(“ASIC”)、可编程逻辑器件(“PLD”)以及ROM和RAM设备。计算机可读指令的示例包括,诸如由编译器产生的机器代码,以及包含由计算机使用解释器运行的高级代码。例如,可以使用Java、C++或其他面向对象的编程语言以及开发工具实现本发明的实施例。本发明的另一实施例可以实现为硬连线电路而不是机器可读软件指令,或者实现为硬连线电路与机器可读软件指令的结合。
图10是示范性计算机系统1000的框图。计算机系统1000包括运行存储在计算机可读存储介质1055上的软件指令或代码以执行以上所示的本发明的方法的处理器1005。计算机系统1000包括从计算机可读存储介质1055读指令并且在存储器1010中或在随机存取存储器(RAM)1015中存储指令的介质读出器1040。存储器1010提供用于保留静态数据的大空间,其中可以存储用于稍后运行的至少一些指令。还可以编译存储指令以生成指令的其他表示并动态地存储在RAM 1015中。处理器1005从RAM 1015读指令并按照指示执行动作。根据本发明的一个实施例,计算机系统1000还包括用于提供运行的至少一些结果作为对用户的输出(包括但不限于视觉信息)的输出设备1025(例如,显示器)以及用于向用户或另一设备提供用于录入数据和/或与计算机系统1000交互的装置的输入设备1030。这些输出设备1025和输入设备1030的每一个可以联合一个或多个添加的外围设备以进一步扩展计算机系统1000的能力。可以提供网络通信器1035以将计算机系统1000连接到网络1050并且随后连接到与网络1050连接的其他设备,包括例如其他客户端、服务器,数据存储器和接口。计算机系统1000的模块经由总线1045互连。计算机系统1000包括数据源接口1020以访问数据源1060。可以经由一个或多个实现为硬件或软件的提取层来访问数据源1060。例如,可以通过网络1050访问数据源1060。在一些实施例中,可以经由诸如语义层的提取层访问数据源1060。
数据源是信息资源。数据源包括使能数据储存和检索的数据源。数据源可以包括数据库,诸如,关系数据库、事务数据库、分层数据库、多维数据库(例如,OLAP)、面向对象的数据库等等。进一步的数据源包括表列数据(例如,电子表格、界定文本文件)、用标记语言做标签的数据(例如,XML数据)、事务性数据、非结构化数据(例如,文本文件、屏幕擦除(screen scrapings))、分层的数据(例如,文件系统中的数据,XML数据)、文件、多个报告以及通过建立的诸如开放式数据库连接性(ODBC)的协议可访问的任何其他的数据源等等,所述协议通过下层软件系统(例如,ERP系统)产生。数据源还可以包括数据不有形地而是短暂存储的数据源,诸如数据流、广播数据等等。这些数据源可以包括关联数据基础、语义层、管理系统、安全性系统等等。
在上面的描述中,阐述许多的细节以提供对本发明实施例的彻底的理解。然而本领域技术人员将认识到可以在没有一个或多个细节的情况下实践本发明或者利用其他方法、组件、技术等等实践本发明。在其他实例中,不示出或详细描述公知的操作或结构以避免模糊本发明的方面。
虽然此处示出和描述的处理包括一系列步骤,但是将理解,本发明的不同实施例不限于示出的步骤的次序,因为一些步骤可以以不同次序发生,一些步骤与除此处示出和描述的步骤外的其它步骤同时发生。此外,并不是需要全部示出的步骤来实现根据本发明的方法。此外,将理解,可以与此处示出和描述的装置和系统相联系地、以及与未示出的其他系统相联系地实现处理。
本发明实施例的以上描述和说明(包括在摘要中描述的)不意指穷举或限制本发明为公开的精确的形式。而是此处描述本发明的特定实施例和用于本发明的示例用于说明性的目的,如本领域技术人员将认识到地,在本发明范围内多个等效的修改是可能的。可以考虑到以上详细描述做出这些修改。而是,本发明的范围将通过所附权利要求确定,将根据权利要求构成的确立原则来解释权利要求。

Claims (20)

1.一种包括用于物理地存储指令的有形的计算机可读存储介质的制品,当通过计算机运行所述指令时,使得计算机:
接收业务数据对象,该业务数据对象包括标准字段值和特定于客户的扩展字段值;
将业务数据对象的标准字段值和扩展字段值分开;
将与扩展字段值关联的扩展节点实例键值分开;以及
在标准数据保持单元的标准节点中存储标准字段值和关联的标准节点实例键值,并且在扩展数据保持单元的扩展节点中存储扩展字段值;以及
在定义对应于标准节点的扩展节点的扩展键值保持单元中存储扩展节点实例键值、以及标准节点实例键值和扩展节点实例键值之间的关系,所述扩展节点特定于多客户系统中的客户。
2.如权利要求1所述的制品,其中所述标准字段值对应于与网络应用所定义的标准数据对象关联的标准节点的一个或多个标准字段,并且所述扩展字段值对应于扩展节点的一个或多个用户特定的扩展字段,以在多客户系统中修改用于客户的网络应用的操作。
3.如权利要求1所述的制品,其中所述标准节点实例键值定义与对应于标准字段值的标准节点关联的扩展节点的实例的数目。
4.如权利要求1所述的制品,其中所述扩展节点实例键值包括扩展节点键值、父节点键值和根节点键值。
5.如权利要求4所述的制品,其中所述扩展节点键值包括对应于扩展字段值的扩展节点ID,所述父节点键值包括父节点ID以定义标准节点和对应于扩展字段值的扩展节点之间的关系,以及根节点键值包括对应于扩展字段值的根节点ID。
6.如权利要求1所述的制品,其中在扩展保持单元中存储扩展字段值包括:将扩展字段值转换成为具有特定结构的数据库格式。
7.如权利要求1所述的制品,还包括这样的指令,当通过计算机运行这样的指令时,使得计算机提供业务数据对象供客户使用,包括:
使用标准节点实例键值和扩展节点实例键值从标准保持单元和扩展数据保持单元中检索标准字段值和扩展字段数据记录;
将扩展字段数据记录转换为扩展字段值;以及
使用标准节点实例键值和扩展节点实例键值之间的关系来组合标准字段值和扩展字段值以提供业务数据对象。
8.如权利要求1所述的制品,其中所述业务数据对象包括特定于客户的添加的扩展字段值,并且所述制品还包括当通过计算机运行时使得计算机执行如下操作的指令:
将添加的扩展字段值从标准字段值分开;
将与添加的扩展字段值关联的扩展节点实例键值分开;
将添加的扩展字段值转换成为具有特定结构的数据库格式;以及
使用存储在扩展键值保持单元中的标准节点实例键值和扩展节点实例键值之间的关系,在扩展数据保持单元的与扩展节点关联的扩展数据字段中保持转换的扩展字段值。
9.如权利要求8所述的制品,其中所述扩展节点的扩展数据字段包括扩展字段值和特定于客户的添加的扩展字段值。
10.一种在多客户系统中提供用于扩展节点的多客户通用保持的计算机实现的方法,该扩展节点定义特定于客户的扩展节点,所述计算机实现的方法包括:
接收业务数据对象,该业务数据对象包括标准字段值和特定于客户的扩展字段值;
将业务数据对象的标准字段值和扩展字段值分开;
将与扩展字段值关联的扩展节点实例键值分开;以及
在标准数据保持单元的标准节点中存储标准字段值和关联的标准节点实例键值,并且在扩展数据保持单元的扩展节点中存储扩展字段值;以及
在定义对应于标准节点的扩展节点的扩展键值保持单元中存储扩展节点实例键值、以及标准节点实例键值和扩展节点实例键值之间的关系,所述扩展节点特定于多客户系统中的客户。
11.如权利要求10所述的计算机实现的方法,其中所述标准字段值对应于与网络应用所定义的标准数据对象关联的标准节点的一个或多个标准字段,并且所述扩展字段值对应于扩展节点的一个或多个用户特定的扩展字段,以在多客户系统中修改用于客户的网络应用的操作。
12.如权利要求10所述的计算机实现的方法,其中所述标准节点实例键值定义与对应于标准字段值的标准节点关联的扩展节点的实例的数目。
13.如权利要求10所述的计算机实现的方法,其中所述扩展节点实例键值包括扩展节点键值、父节点键值和根节点键值。
14.如权利要求13所述的计算机实现的方法,其中所述扩展节点键值包括对应于扩展字段值的扩展节点ID,所述父节点键值包括父节点ID以定义标准节点和对应于扩展字段值的扩展节点之间的关系,以及根节点键值包括对应于扩展字段值的根节点ID。
15.如权利要求10所述的计算机实现的方法,其中在扩展保持单元中存储扩展字段值包括:将扩展字段值转换成为具有特定结构的数据库格式。
16.如权利要求10所述的计算机实现的方法,还包括提供业务数据对象供客户使用,包括:
使用标准节点实例键值和扩展节点实例键值从标准保持单元和扩展数据保持单元中检索标准字段值和扩展字段数据记录;
将扩展字段数据记录转换为扩展字段值;以及
使用标准节点实例键值和扩展节点实例键值之间的关系来组合标准字段值和扩展字段值以提供业务数据对象。
17.如权利要求10所述的计算机实现的方法,其中所述业务数据对象包括特定于客户的添加的扩展字段值,所述计算机方法还包括:
将添加的扩展字段值从标准字段值分开;
将与添加的扩展字段值关联的扩展节点实例键值分开;以及
将添加的扩展字段值转换成为具有特定结构的数据库格式;以及
使用存储在扩展键值存储单元中的标准节点实例键值和扩展节点实例键值之间的关系,在扩展数据存储单元的与扩展节点关联的扩展数据字段中存储转换的扩展字段值。
18.如权利要求17所述的计算机实现的方法,其中所述扩展节点的扩展数据字段包括扩展字段值和特定于客户的添加的扩展字段值.
19.一种在多客户系统中提供用于扩展节点的多客户通用数据库的计算机系统,该扩展节点定义特定于客户的扩展节点,所述计算机系统包括:
至少一个处理器;以及
与处理器通信的一个或多个存储器件,其中所述一个或多个存储器件包括:
包括用于以下操作的指令的扩展框架,
接收业务数据对象,该业务数据对象包括标准字段值和特定于客户的扩展字段值;
将业务数据对象的标准字段值和扩展字段值分开;以及
将与扩展字段值关联的扩展节点实例键值分开;
与扩展框架通信的扩展字段保持适配器,包括用于将扩展字段值转换成为具有特定结构的数据库格式的指令;
与扩展框架通信的标准数据保持单元,用于存储标准字段值和关联的标准节点实例键值;
与扩展字段保持适配器通信的扩展数据保持单元,用于存储转换的扩展字段值;以及
与扩展字段保持适配器通信的扩展键值保持单元,用于存储扩展节点实例键值、以及标准节点实例键值和扩展节点实例键值之间的关系。
20.如权利要求19所述的计算机系统,还包括用于利用网络应用提供用户定制的数据对象供用户使用的指令,包括:
使用标准节点实例键值和扩展节点实例键值从标准保持单元和通用扩展数据保持单元中检索标准字段值和扩展字段数据记录;
将扩展字段数据记录转换为用户特定的扩展字段值;以及
使用标准节点实例键值和扩展节点实例键值之间的关系来组合标准字段值和用户特定的扩展字段值以提供用户定制的数据对象。
CN201210435965.4A 2011-11-04 2012-11-05 用于扩展节点的多客户通用保持 Active CN103092906B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/288,976 US8935218B2 (en) 2011-11-04 2011-11-04 Multi-client generic persistence for extension nodes
US13/288,976 2011-11-04

Publications (2)

Publication Number Publication Date
CN103092906A true CN103092906A (zh) 2013-05-08
CN103092906B CN103092906B (zh) 2018-05-01

Family

ID=47177713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210435965.4A Active CN103092906B (zh) 2011-11-04 2012-11-05 用于扩展节点的多客户通用保持

Country Status (3)

Country Link
US (1) US8935218B2 (zh)
EP (1) EP2597604A1 (zh)
CN (1) CN103092906B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138528A (zh) * 2014-06-09 2015-12-09 腾讯科技(深圳)有限公司 一种多值数据存储、读取的方法和装置及其存取的系统
CN107015794A (zh) * 2015-12-18 2017-08-04 Sap欧洲公司 软件即服务参考流程扩展验证框架

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529576B2 (en) 2011-09-30 2016-12-27 Oracle International Corporation Systems and methods for object to XML mappings
US9177033B2 (en) 2011-09-30 2015-11-03 Oracle International Corporation Systems and methods for composite persistence units
US9542432B2 (en) 2011-09-30 2017-01-10 Oracle International Corporation Systems and methods for multitenancy data
US8954461B2 (en) * 2011-09-30 2015-02-10 Oracle International Corporation Systems and methods for object to relational mapping extensions
US9354948B2 (en) 2013-09-06 2016-05-31 Sap Se Data models containing host language embedded constraints
US9176801B2 (en) 2013-09-06 2015-11-03 Sap Se Advanced data models containing declarative and programmatic constraints
US9575819B2 (en) 2013-09-06 2017-02-21 Sap Se Local buffers for event handlers
US9442977B2 (en) 2013-09-06 2016-09-13 Sap Se Database language extended to accommodate entity-relationship models
US9430523B2 (en) 2013-09-06 2016-08-30 Sap Se Entity-relationship model extensions using annotations
US9639572B2 (en) 2013-09-06 2017-05-02 Sap Se SQL enhancements simplifying database querying
US9361407B2 (en) 2013-09-06 2016-06-07 Sap Se SQL extended with transient fields for calculation expressions in enhanced data models
US9619552B2 (en) 2013-09-06 2017-04-11 Sap Se Core data services extensibility for entity-relationship models

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060101091A1 (en) * 2004-10-22 2006-05-11 International Business Machines Corporation Recovering references in an extended model
CN101120337A (zh) * 2004-04-02 2008-02-06 易享信息技术(上海)有限公司 多租户数据库系统中的自定义实体和字段
US20100161648A1 (en) * 2008-12-19 2010-06-24 Peter Eberlein Flexible multi-tenant support of metadata extension
CN102200977A (zh) * 2010-03-23 2011-09-28 国际商业机器公司 多租户环境下扩展数据库表的方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1290575B1 (en) * 2000-05-16 2005-06-08 O'Carroll, Garrett A document processing system and method
US7765236B2 (en) * 2007-08-31 2010-07-27 Microsoft Corporation Extracting data content items using template matching
US8577837B2 (en) 2007-10-30 2013-11-05 Sap Ag Method and system for generic extraction of business object data
US8768887B2 (en) 2009-12-16 2014-07-01 Sap Ag Generating and binding notes to business objects
US8863005B2 (en) 2009-12-21 2014-10-14 Sap Se Propagating business object extension fields from source to target
US8224828B2 (en) 2009-12-22 2012-07-17 Sap Ag Multi-client generic persistence for extension fields

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101120337A (zh) * 2004-04-02 2008-02-06 易享信息技术(上海)有限公司 多租户数据库系统中的自定义实体和字段
US20060101091A1 (en) * 2004-10-22 2006-05-11 International Business Machines Corporation Recovering references in an extended model
US20100161648A1 (en) * 2008-12-19 2010-06-24 Peter Eberlein Flexible multi-tenant support of metadata extension
CN102200977A (zh) * 2010-03-23 2011-09-28 国际商业机器公司 多租户环境下扩展数据库表的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PROGRAMMING NOTES: "A Quick-Start Tutorial on Relational Database Design", 《HTTPS://WWW.NTU.EDU.SG/HOME/EHCHUA/PROGRAMMING/SQL/RELATIONAL_DATABASE_DESIGN.HTML》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138528A (zh) * 2014-06-09 2015-12-09 腾讯科技(深圳)有限公司 一种多值数据存储、读取的方法和装置及其存取的系统
CN105138528B (zh) * 2014-06-09 2020-03-17 腾讯科技(深圳)有限公司 一种多值数据存储、读取的方法和装置及其存取的系统
CN107015794A (zh) * 2015-12-18 2017-08-04 Sap欧洲公司 软件即服务参考流程扩展验证框架

Also Published As

Publication number Publication date
US20130117346A1 (en) 2013-05-09
EP2597604A1 (en) 2013-05-29
US8935218B2 (en) 2015-01-13
CN103092906B (zh) 2018-05-01

Similar Documents

Publication Publication Date Title
CN103092906A (zh) 用于扩展节点的多客户通用保持
Vossen Big data as the new enabler in business and other intelligence
Karnitis et al. Migration of relational database to document-oriented database: Structure denormalization and data transformation
Auer et al. Triplify: light-weight linked data publication from relational databases
US20190102447A1 (en) System and method for metadata sandboxing and what-if analysis in a multidimensional database environment
CN102999537B (zh) 一种数据迁移系统和方法
US11741091B2 (en) Generating, accessing, and displaying lineage metadata
US9201700B2 (en) Provisioning computer resources on a network
US20160232464A1 (en) Statistically and ontologically correlated analytics for business intelligence
US8924848B2 (en) Synchronizing a user interface area
US9547646B2 (en) User-created members positioning for OLAP databases
US20200134081A1 (en) Database systems and applications for assigning records to chunks of a partition in a non-relational database system with auto-balancing
US10192330B2 (en) Rendering data visualizations in different analytical applications
CN109033113A (zh) 数据仓库和数据集市的管理方法及装置
EP2965492B1 (en) Selection of data storage settings for an application
US10776351B2 (en) Automatic core data service view generator
CN107181729B (zh) 在多租户云环境中的数据加密
Merritt et al. Big Earth Data: a comprehensive analysis of visualization analytics issues
CN106599241A (zh) 一种gis软件中针对大数据的可视化管理方法
Lee et al. Hands-On Big Data Modeling: Effective database design techniques for data architects and business intelligence professionals
US9396248B1 (en) Modified data query function instantiations
Nadipalli Effective business intelligence with QuickSight
CN112035555B (zh) 一种信息展示方法、装置及设备
US20160162814A1 (en) Comparative peer analysis for business intelligence
US20140344235A1 (en) Determination of data modification

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
C53 Correction of patent of 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

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