CN103631816A - 一种跨数据源的业务模型的配置、应用方法和设备 - Google Patents

一种跨数据源的业务模型的配置、应用方法和设备 Download PDF

Info

Publication number
CN103631816A
CN103631816A CN201210306817.2A CN201210306817A CN103631816A CN 103631816 A CN103631816 A CN 103631816A CN 201210306817 A CN201210306817 A CN 201210306817A CN 103631816 A CN103631816 A CN 103631816A
Authority
CN
China
Prior art keywords
field
information
business model
data source
model
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
CN201210306817.2A
Other languages
English (en)
Inventor
金立
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201210306817.2A priority Critical patent/CN103631816A/zh
Publication of CN103631816A publication Critical patent/CN103631816A/zh
Pending legal-status Critical Current

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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种跨数据源的业务模型的配置、应用方法和设备,通过应用本发明实施例所提出的技术方案,在ModelDefinition字段所配置的业务模型中,通过在FieldDefinition字段中设置DataSourceDefinition字段,配置该业务模型相对应的数据源信息,其中,在一个FieldDefinition字段中,允许通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息,从而,以业务模型字段为最小粒度,实现其与数据源的关系定义,对于同一个业务模型字段,可以配置其和多个数据源的对应关系,解决现有的业务模型定义方式中只能以同一个数据库为业务模型定义数据源,无法做到跨数据源定义的问题,提高了业务模型配置的灵活性,提升了业务模型配置和应用过程的处理效率,丰富了相应的配置逻辑和应用方案。

Description

一种跨数据源的业务模型的配置、应用方法和设备
技术领域
本申请实施例涉及数据存储技术领域,特别涉及一种跨数据源的业务模型的配置、应用方法和设备。
背景技术
在一个历史遗留系统,或者一个复杂度非常高的系统下,抽象的业务模型最终持久化在不同的数据源中,例如:MySQL(瑞典MySQL AB公司推出的一款关系型数据库管理系统),Oracle(甲骨文公司推出的一款关系型数据库管理系统),搜索引擎,KV引擎(一种杀毒引擎)等。
为了能够达到有一种技术能统一从跨数据源中获取数据,必须有一份业务模型和数据源的定义信息。
Hibernate是一个开放源代码的对象关系映射框架,对JDBC(Java DataBase Connectivity,Java数据库连接)进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
如图1所示,为现有的Hibernate技术通过XML(Extensible MarkupLanguage,可扩展标记语言)方式配置业务模型和数据源的关系的示意图。
在实现本申请实施例的过程中,本申请的发明人发现现有技术至少存在以下问题:
由于Hibernate技术是针对关系型数据库的技术,所以,其要求数据源只能是同一个数据库,无法做到跨数据源的定义。
并且,由于Hibernate技术对业务模型做了假设,认为其和数据库表字段往往是一一对应,所以,无法针对同一个业务模型,定义跨数据源的字段信息。
发明内容
本申请实施例提供一种跨数据源的业务模型的配置、应用方法和设备,解决现有的业务模型定义方式中只能以同一个数据库为业务模型定义数据源,无法做到跨数据源定义的问题。
为了达到上述目的,本申请实施例提供一种跨数据源的业务模型的配置方法,包括以下步骤:
通过设置ModelDefinition字段,配置对业务模型的定义信息;
在所述ModelDefinition字段中,通过设置FieldDefinition字段,配置所述业务模型的字段信息定义信息;
在所述FieldDefinition字段中,通过设置DataSourceDefinition字段,配置所述业务模型相对应的数据源信息,其中,在一个所述FieldDefinition字段中,通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息。
优选的,所述方法具体包括:
在XML配置文件中,通过配置model标签来实现对ModelDefinition字段的设置;
在所述model标签下,通过配置field标签来实现对FieldDefinition字段的设置;
在所述field标签下,通过配置ds标签来实现对DataSourceDefinition字段的设置。
优选的,所述model标签,至少包括以下信息中的一项或多项:
namespace信息,用于定义业务模型命名空间,隔离不同命名空间下的业务模型;
name信息,用于定义业务模型的名称;
modelClass信息,用于定义业务模型定义对应的class类;
fields信息,用于定义基本属性字段定义信息;
modelFeilds信息,用于定义级联业务模型字段的定义信息。
优选的,所述field标签,至少包括以下信息中的一项或多项:
name信息,用于定义相对应的业务模型的字段名;
dataSources信息,用于定义多个数据源的定义信息。
优选的,所述ds标签,至少包括以下信息中的一项或多项:
name信息,用于定义相对应的数据源的名字;
data信息,用于定义相对应的数据源下的字段信息;
converter信息,用于定义数据源下的字段和业务模型中的字段类型之间的转化方式;
formatter信息,用于定义数据源下的字段转换成业务模型中的字段信息的业务逻辑。
优选的,所述方法还包括:
在所述ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息。
优选的,所述在所述ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息,具体通过在XML配置文件的model标签下,配置带ref属性的field标签来实现。
优选的,所述带ref属性的field标签,至少包括以下信息中的一项或多项:
name信息,用于定义相对应的业务模型的字段名;
ref信息,用于定义级联业务模型定义的名字;
refModelDefinition信息,用于定义级联业务模型定义信息的引用;
rel信息,用于定义级联关系类型;
conjunction信息,用于定义级联业务模型的关联条件,允许定义复杂的关联条件信息。
另一方面,本申请实施例还提出了一种业务模型配置设备,包括:
模型设置模块,用于通过设置ModelDefinition字段,配置对业务模型的定义信息;
字段设置模块,用于在所述模型设置模块所设置的ModelDefinition字段中,通过设置FieldDefinition字段,配置所述业务模型的字段信息定义信息;
数据源设置模块,用于在所述字段设置模块所设置的FieldDefinition字段中,通过设置DataSourceDefinition字段,配置所述业务模型相对应的数据源信息,其中,在一个所述FieldDefinition字段中,通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息。
优选的,所述设备还包括:
级联设置模块,用于在所述模型设置模块所设置的ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息。
另一方面,本申请实施例还提出了一种跨数据源的业务模型的应用方法,应用在根据前述方法设置了跨数据源的业务模型的配置信息的应用场景中,包括以下步骤:
获取所述跨数据源的业务模型的配置信息,解析其中包含的ModelDefinition字段,确定业务模型的定义信息;
在所述ModelDefinition字段中,解析FieldDefinition字段,确定所述业务模型的字段信息定义信息;
在所述FieldDefinition字段中,解析DataSourceDefinition字段,确定所述业务模型相对应的数据源信息,其中,如果在一个所述FieldDefinition字段中通过多个DataSourceDefinition字段定义了跨数据源的数据源信息,则确定所述业务模型相对应的跨数据源的数据源信息;
根据所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
优选的,所述方法具体包括:
获取XML配置文件,解析其中包含的model标签,确定业务模型的定义信息;
在所述model标签下,解析field标签,确定所述业务模型的字段信息定义信息;
在所述field标签下,解析ds标签,确定所述业务模型相对应的数据源信息,其中,如果在一个所述field标签下包含多个ds标签,则确定所述业务模型相对应的跨数据源的数据源信息;
根据所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
优选的,当所述ds标签中包含formatter信息时,根据所述formatter信息所定义的业务逻辑,将相应的数据源下的字段转换为业务模型中的字段信息。
优选的,所述方法还包括:
在所述ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息。
优选的,所述在所述ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息,具体为:
在所述model标签下,解析带ref属性的field标签,确定级联业务模型的信息。
优选的,当所述带ref属性的field标签中包含conjunction信息时,根据所述conjunction信息所定义的关联条件,确定相应的级联业务模型之间的关联条件。
另一方面,本申请实施例还提出了业务模型解析设备,包括:
模型解析模块,用于获取所述跨数据源的业务模型的配置信息,解析其中包含的ModelDefinition字段,确定业务模型的定义信息;
字段解析模块,用于在所述模型解析模块所解析的ModelDefinition字段中,解析FieldDefinition字段,确定所述业务模型的字段信息定义信息;
数据源解析模块,用于在所述字段解析模块所解析的FieldDefinition字段中,解析DataSourceDefinition字段,确定所述业务模型相对应的数据源信息,其中,如果所述字段解析模块确定在一个所述FieldDefinition字段中通过多个DataSourceDefinition字段定义了跨数据源的数据源信息,则所述数据源解析模块确定所述业务模型相对应的跨数据源的数据源信息;
数据获取模块,用于根据所述数据源解析模块所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
优选的,所述设备还包括:
级联解析模块,用于在所述模型解析模块所解析的ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息。
与现有技术相比,本申请实施例所提出的技术方案具有以下优点:
通过应用本申请实施例所提出的技术方案,在ModelDefinition字段所配置的业务模型中,通过在FieldDefinition字段中设置DataSourceDefinition字段,配置该业务模型相对应的数据源信息,其中,在一个FieldDefinition字段中,通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息,从而,以业务模型字段为最小粒度,实现其与数据源的关系定义,对于同一个业务模型字段,可以配置其和多个数据源的对应关系,解决现有的业务模型定义方式中只能以同一个数据库为业务模型定义数据源,无法做到跨数据源定义的问题,提高了业务模型配置的灵活性,提升了业务模型配置和应用过程的处理效率,丰富了相应的配置逻辑和应用方案。
附图说明
为了更清楚地说明本申请实施例或现有技术的技术方案,下面将对本申请实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有的Hibernate技术通过XML方式配置业务模型和数据源的关系的示意图;
图2为本申请实施例所提出的一种跨数据源的业务模型的配置方法的流程示意图;
图3为本申请实施例所提出的一种具体应用场景下的跨数据源的业务模型的配置文件的结构示意图;
图4为本申请实施例所提出的的一种跨数据源的业务模型的应用方法的流程示意图;
图5为本发明实施例所提出的一种根据跨数据源的业务模型的配置方法所配置的XML配置文件的示意图;
图6为本申请实施例所提出的一种业务模型配置设备的结构示意图;
图7为本申请实施例所提出的一种业务模型解析设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图2所示,为本申请实施例所提出的的一种跨数据源的业务模型的配置方法的流程示意图,该方法包括以下步骤:
步骤S201、通过设置ModelDefinition字段,配置对业务模型的定义信息。
在具体的应用场景中,可以采用XML配置文件来实现相应的跨数据源的业务模型的配置过程。
相应的,本步骤的处理过程可以通过以下方式实现:
在XML配置文件中,通过配置model标签来实现对ModelDefinition字段的设置。
其中,所述model标签,至少包括以下信息中的一项或多项:
(1)namespace信息。
用于定义业务模型命名空间,隔离不同命名空间下的业务模型。
(2)name信息。
用于定义业务模型的名称。
(3)modelClass信息。
用于定义业务模型定义对应的class类。
(4)fields信息。
用于定义基本属性字段定义信息。
(5)modelFeilds信息。
用于定义级联业务模型字段的定义信息。
具体采用上述的哪种或哪几种信息进行model标签的设置可以根据实际需要进行选择,这样的变化并不影响本申请的保护范围。
需要说明的是,XML配置文件的实现方式只是本申请实施例所给出的一种优选的实施例,在应用本申请实施例所提出的技术方案的过程中,可以根据实际需要选择具体的配置形式,在能够按照本申请的核心思想实现业务模型的配置效果的基础上,是否采用其他语言或其他配置形式进行配置并不会影响本申请的保护范围。
在后续的说明中,本申请实施例会继续以XML配置文件的配置过程为例进行说明,如前所述,这并不影响本申请的保护范围,不再重复说明。
步骤S202、在所述ModelDefinition字段中,通过设置FieldDefinition字段,配置所述业务模型的字段信息定义信息。
以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
在所述model标签下,通过配置field标签来实现对FieldDefinition字段的设置。
其中,所述field标签,至少包括以下信息中的一项或多项:
(1)name信息。
用于定义相对应的业务模型的字段名。
(2)dataSources信息。
用于定义多个数据源的定义信息。
具体采用上述的哪种或哪几种信息进行field标签的设置可以根据实际需要进行选择,这样的变化并不影响本申请的保护范围。
步骤S203、在所述FieldDefinition字段中,通过设置DataSourceDefinition字段,配置所述业务模型相对应的数据源信息。
其中,在一个所述FieldDefinition字段中,允许通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息,通过这样的处理,做到了以业务模型字段为最小粒度,配置和多个数据源的关系定义。
以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
在所述field标签下,通过配置ds标签来实现对DataSourceDefinition字段的设置。
其中,所述ds标签,至少包括以下信息中的一项或多项:
(1)name信息。
用于定义相对应的数据源的名字。
(2)data信息。
用于定义相对应的数据源下的字段信息。
(3)converter信息。
用于定义数据源下的字段和业务模型中的字段类型之间的转化方式。
(4)formatter信息。
用于定义数据源下的字段转换成业务模型中的字段信息的业务逻辑,通过该信息的加入,可以实现业务模型资源和数据源字段之间的复杂的业务转化关系的定义。
具体采用上述的哪种或哪几种信息进行ds标签的设置可以根据实际需要进行选择,这样的变化并不影响本申请的保护范围。
在步骤S201完成之后,还可以进一步引入级联业务模型,即执行以下处理过程:
步骤S204、在所述ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息。
以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
通过在XML配置文件的model标签下,配置带ref属性的field标签来实现。
其中,所述带ref属性的field标签,至少包括以下信息中的一项或多项:
(1)name信息。
用于定义相对应的业务模型的字段名。
(2)ref信息。
用于定义级联业务模型定义的名字。
(3)refModelDefinition信息。
用于定义级联业务模型定义信息的引用。
(4)rel信息。
用于定义级联关系类型,在具体的处理场景中,可以通过以下的设定方式定义级联关系的具体类型:
ONE,表示级联业务模型之间一对一的关系。
MANY,表示级联业务模型之间一对多的关系。
(5)conjunction信息。
用于定义级联业务模型的关联条件,允许定义复杂的关联条件信息,通过该信息的加入,可以实现级联业务模型之间的复杂的关联条件的定义。
具体采用上述的哪种或哪几种信息进行带ref属性的field标签的设置可以根据实际需要进行选择,这样的变化并不影响本申请的保护范围。
通过上述的处理,相应的跨数据源的业务模型的配置文件的结构示意图如图3所示。
进一步的,本申请实施例还提出了一种跨数据源的业务模型的应用方法,对根据前述配置方法所生成的配置文件进行解析,从而,为具体的业务模型获取跨数据源的数据信息。
如图4所示,为本申请实施例所提出的的一种跨数据源的业务模型的应用方法的流程示意图,该方法包括以下步骤:
步骤S401、获取所述跨数据源的业务模型的配置信息,解析其中包含的ModelDefinition字段,确定业务模型的定义信息。
与前述说明过程相对应,继续以XML配置文件的解析过程为例,本步骤的处理过程可以通过以下方式实现:
获取XML配置文件,解析其中包含的model标签,确定业务模型的定义信息。
步骤S402、在所述ModelDefinition字段中,解析FieldDefinition字段,确定所述业务模型的字段信息定义信息。
以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
在所述model标签下,解析field标签,确定所述业务模型的字段信息定义信息。
步骤S403、在所述FieldDefinition字段中,解析DataSourceDefinition字段,确定所述业务模型相对应的数据源信息。
其中,如果在一个所述FieldDefinition字段中通过多个DataSourceDefinition字段定义了跨数据源的数据源信息,则确定所述业务模型相对应的跨数据源的数据源信息;
以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
在所述field标签下,解析ds标签,确定所述业务模型相对应的数据源信息,其中,如果在一个所述field标签下包含多个ds标签,则确定所述业务模型相对应的跨数据源的数据源信息。
需要说明的是,当所述ds标签中包含formatter信息时,根据所述formatter信息所定义的业务逻辑,将相应的数据源下的字段转换为业务模型中的字段信息。
步骤S404、根据所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
与步骤S204相对应,在步骤S401完成之后,还可以进一步引入级联业务模型的解析处理过程,即执行以下处理过程:
步骤S405、在所述ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息。
以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
在所述model标签下,解析带ref属性的field标签,确定级联业务模型的信息。
需要说明的是,当所述带ref属性的field标签中包含conjunction信息时,根据所述conjunction信息所定义的关联条件,确定相应的级联业务模型之间的关联条件。
具体的,如图5所示,为本发明实施例所提出的一种根据跨数据源的业务模型的配置方法所配置的XML配置文件的示意图。
这个XML配置文件中定义了两个业务模型:
(1)对于第一个名为“offer”的业务模型,其包含三个field标签,以及两个带ref属性的field标签。
通过解析名为“id”的field标签,可以获取到两个ds标签,即代表该字段对应了两个数据源,分别是MySQL和SE引擎,而对于名为“title”和“status”的两个field标签,也可以分别获取到相应的两个ds标签,即两个数据源,分别是MySQL和SE引擎,因此,对于本业务模型中的三个业务模型字段,分别都是对应了跨数据源的数据。
通过解析名为“product”的带ref属性的field标签,确定当前业务模型与相应的级联业务模型是一对一的级联对应关系,而通过解析名为“tc”的带ref属性的field标签,确定当前业务模型与相应的级联业务模型是一对多的级联对应关系,并且,相应的级联模型关联条件通过conjunction信息来定义。
(2)对于第二个名为“Product”的业务模型,其只包含三个field标签,而没有包含带ref属性的field标签。
通过解析名为“offerId”的field标签,可以获取到一个ds标签,即代表该字段只对应一个数据源,为MySQL,而对于名为“subject”和“features”的两个field标签,则可以分别获取到相应的两个ds标签,即两个数据源,分别是MySQL和SE引擎,因此,对于本业务模型中的三个业务模型字段,“offerId”字段对应了一个数据源的数据,而“subject”和“features”字段则是对应了跨数据源的数据。
与现有技术相比,本申请实施例所提出的技术方案具有以下优点:
通过应用本申请实施例所提出的技术方案,在ModelDefinition字段所配置的业务模型中,通过在FieldDefinition字段中设置DataSourceDefinition字段,配置该业务模型相对应的数据源信息,其中,在一个FieldDefinition字段中,允许通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息,从而,以业务模型字段为最小粒度,实现其与数据源的关系定义,对于同一个业务模型字段,可以配置其和多个数据源的对应关系,解决现有的业务模型定义方式中只能以同一个数据库为业务模型定义数据源,无法做到跨数据源定义的问题,提高了业务模型配置的灵活性,提升了业务模型配置和应用过程的处理效率,丰富了相应的配置逻辑和应用方案。
另一方面,本申请实施例还提供了一种业务模型配置设备,其结构示意图如图6所示,
模型设置模块61,用于通过设置ModelDefinition字段,配置对业务模型的定义信息;
字段设置模块62,用于在所述模型设置模块61所设置的ModelDefinition字段中,通过设置FieldDefinition字段,配置所述业务模型的字段信息定义信息;
数据源设置模块63,用于在所述字段设置模块62所设置的FieldDefinition字段中,通过设置DataSourceDefinition字段,配置所述业务模型相对应的数据源信息,其中,在一个所述FieldDefinition字段中,允许通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息。
在具体的应用场景中,所述设备还包括:
级联设置模块64,用于在所述模型设置模块61所设置的ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息。
另一方面,本申请实施例还提供了一种业务模型解析设备,其结构示意图如图7所示,
模型解析模块71,用于获取所述跨数据源的业务模型的配置信息,解析其中包含的ModelDefinition字段,确定业务模型的定义信息;
字段解析模块72,用于在所述模型解析模块71所解析的ModelDefinition字段中,解析FieldDefinition字段,确定所述业务模型的字段信息定义信息;
数据源解析模块73,用于在所述字段解析模块72所解析的FieldDefinition字段中,解析DataSourceDefinition字段,确定所述业务模型相对应的数据源信息,其中,如果所述字段解析模块72确定在一个所述FieldDefinition字段中通过多个DataSourceDefinition字段定义了跨数据源的数据源信息,则所述数据源解析模块73确定所述业务模型相对应的跨数据源的数据源信息;
数据获取模块74,用于根据所述数据源解析模块73所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
在具体的应用场景中,所述设备还包括:
级联解析模块75,用于在所述模型解析模块71所解析的ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息。
与现有技术相比,本申请实施例所提出的技术方案具有以下优点:
通过应用本申请实施例所提出的技术方案,在ModelDefinition字段所配置的业务模型中,通过在FieldDefinition字段中设置DataSourceDefinition字段,配置该业务模型相对应的数据源信息,其中,在一个FieldDefinition字段中,允许通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息,从而,以业务模型字段为最小粒度,实现其与数据源的关系定义,对于同一个业务模型字段,可以配置其和多个数据源的对应关系,解决现有的业务模型定义方式中只能以同一个数据库为业务模型定义数据源,无法做到跨数据源定义的问题,提高了业务模型配置的灵活性,提升了业务模型配置和应用过程的处理效率,丰富了相应的配置逻辑和应用方案。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请实施例所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请实施例的几个具体实施例,但是,本申请实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请实施例的保护范围。

Claims (18)

1.一种跨数据源的业务模型的配置方法,其特征在于,包括以下步骤:
通过设置ModelDefinition字段,配置对业务模型的定义信息;
在所述ModelDefinition字段中,通过设置FieldDefinition字段,配置所述业务模型的字段信息定义信息;
在所述FieldDefinition字段中,通过设置DataSourceDefinition字段,配置所述业务模型相对应的数据源信息,其中,在一个所述FieldDefinition字段中,通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息。
2.如权利要求1所述的方法,其特征在于,具体包括:
在XML配置文件中,通过配置model标签来实现对ModelDefinition字段的设置;
在所述model标签下,通过配置field标签来实现对FieldDefinition字段的设置;
在所述field标签下,通过配置ds标签来实现对DataSourceDefinition字段的设置。
3.如权利要求2所述的方法,其特征在于,所述model标签,至少包括以下信息中的一项或多项:
namespace信息,用于定义业务模型命名空间,隔离不同命名空间下的业务模型;
name信息,用于定义业务模型的名称;
modelClass信息,用于定义业务模型定义对应的class类;
fields信息,用于定义基本属性字段定义信息;
modelFeilds信息,用于定义级联业务模型字段的定义信息。
4.如权利要求2所述的方法,其特征在于,所述field标签,至少包括以下信息中的一项或多项:
name信息,用于定义相对应的业务模型的字段名;
dataSources信息,用于定义多个数据源的定义信息。
5.如权利要求2所述的方法,其特征在于,所述ds标签,至少包括以下信息中的一项或多项:
name信息,用于定义相对应的数据源的名字;
data信息,用于定义相对应的数据源下的字段信息;
converter信息,用于定义数据源下的字段和业务模型中的字段类型之间的转化方式;
formatter信息,用于定义数据源下的字段转换成业务模型中的字段信息的业务逻辑。
6.如权利要求1所述的方法,其特征在于,还包括:
在所述ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息。
7.如权利要求6所述的方法,其特征在于,所述在所述ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息,具体通过在XML配置文件的model标签下,配置带ref属性的field标签来实现。
8.如权利要求7所述的方法,其特征在于,所述带ref属性的field标签,至少包括以下信息中的一项或多项:
name信息,用于定义相对应的业务模型的字段名;
ref信息,用于定义级联业务模型定义的名字;
refModelDefinition信息,用于定义级联业务模型定义信息的引用;
rel信息,用于定义级联关系类型;
conjunction信息,用于定义级联业务模型的关联条件,允许定义复杂的关联条件信息。
9.一种业务模型配置设备,其特征在于,包括:
模型设置模块,用于通过设置ModelDefinition字段,配置对业务模型的定义信息;
字段设置模块,用于在所述模型设置模块所设置的ModelDefinition字段中,通过设置FieldDefinition字段,配置所述业务模型的字段信息定义信息;
数据源设置模块,用于在所述字段设置模块所设置的FieldDefinition字段中,通过设置DataSourceDefinition字段,配置所述业务模型相对应的数据源信息,其中,在一个所述FieldDefinition字段中,通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息。
10.如权利要求9所述的设备,其特征在于,还包括:
级联设置模块,用于在所述模型设置模块所设置的ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息。
11.一种跨数据源的业务模型的应用方法,其特征在于,包括以下步骤:
获取所述跨数据源的业务模型的配置信息,解析其中包含的ModelDefinition字段,确定业务模型的定义信息;
在所述ModelDefinition字段中,解析FieldDefinition字段,确定所述业务模型的字段信息定义信息;
在所述FieldDefinition字段中,解析DataSourceDefinition字段,确定所述业务模型相对应的数据源信息,其中,如果在一个所述FieldDefinition字段中通过多个DataSourceDefinition字段定义了跨数据源的数据源信息,则确定所述业务模型相对应的跨数据源的数据源信息;
根据所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
12.如权利要求11所述的方法,其特征在于,具体包括:
获取XML配置文件,解析其中包含的model标签,确定业务模型的定义信息;
在所述model标签下,解析field标签,确定所述业务模型的字段信息定义信息;
在所述field标签下,解析ds标签,确定所述业务模型相对应的数据源信息,其中,如果在一个所述field标签下包含多个ds标签,则确定所述业务模型相对应的跨数据源的数据源信息;
根据所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
13.如权利要求12所述的方法,其特征在于,
当所述ds标签中包含formatter信息时,根据所述formatter信息所定义的业务逻辑,将相应的数据源下的字段转换为业务模型中的字段信息。
14.如权利要求11所述的方法,其特征在于,还包括:
在所述ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息。
15.如权利要求14所述的方法,其特征在于,所述在所述ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息,具体为:
在所述model标签下,解析带ref属性的field标签,确定级联业务模型的信息。
16.如权利要求15所述的方法,其特征在于,
当所述带ref属性的field标签中包含conjunction信息时,根据所述conjunction信息所定义的关联条件,确定相应的级联业务模型之间的关联条件。
17.一种业务模型解析设备,其特征在于,包括:
模型解析模块,用于获取所述跨数据源的业务模型的配置信息,解析其中包含的ModelDefinition字段,确定业务模型的定义信息;
字段解析模块,用于在所述模型解析模块所解析的ModelDefinition字段中,解析FieldDefinition字段,确定所述业务模型的字段信息定义信息;
数据源解析模块,用于在所述字段解析模块所解析的FieldDefinition字段中,解析DataSourceDefinition字段,确定所述业务模型相对应的数据源信息,其中,如果所述字段解析模块确定在一个所述FieldDefinition字段中通过多个DataSourceDefinition字段定义了跨数据源的数据源信息,则所述数据源解析模块确定所述业务模型相对应的跨数据源的数据源信息;
数据获取模块,用于根据所述数据源解析模块所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
18.如权利要求17所述的设备,其特征在于,还包括:
级联解析模块,用于在所述模型解析模块所解析的ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息。
CN201210306817.2A 2012-08-27 2012-08-27 一种跨数据源的业务模型的配置、应用方法和设备 Pending CN103631816A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210306817.2A CN103631816A (zh) 2012-08-27 2012-08-27 一种跨数据源的业务模型的配置、应用方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210306817.2A CN103631816A (zh) 2012-08-27 2012-08-27 一种跨数据源的业务模型的配置、应用方法和设备

Publications (1)

Publication Number Publication Date
CN103631816A true CN103631816A (zh) 2014-03-12

Family

ID=50212883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210306817.2A Pending CN103631816A (zh) 2012-08-27 2012-08-27 一种跨数据源的业务模型的配置、应用方法和设备

Country Status (1)

Country Link
CN (1) CN103631816A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815371A (zh) * 2017-02-06 2017-06-09 浪潮通用软件有限公司 一种通过可视化配置实现跨数据源的数据读取方法
CN108241540A (zh) * 2018-01-09 2018-07-03 福建星瑞格软件有限公司 一种跨数据源查询的任务调度方法以及装置
CN112270003A (zh) * 2020-10-27 2021-01-26 上海淇馥信息技术有限公司 一种多业务动态配置数据源方法、平台及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604082A (zh) * 2003-08-29 2005-04-06 微软公司 用于任意数据模型的映射体系结构
CN101167327A (zh) * 2005-04-18 2008-04-23 捷讯研究有限公司 通过移动应用程序访问多个数据源的系统和方法
US20100161675A1 (en) * 2008-12-19 2010-06-24 Ritter Gerd Martin Public solution model in an enterprise service architecture
CN102077168A (zh) * 2008-06-26 2011-05-25 微软公司 联合搜索结果的用户界面的库描述

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604082A (zh) * 2003-08-29 2005-04-06 微软公司 用于任意数据模型的映射体系结构
CN101167327A (zh) * 2005-04-18 2008-04-23 捷讯研究有限公司 通过移动应用程序访问多个数据源的系统和方法
CN102077168A (zh) * 2008-06-26 2011-05-25 微软公司 联合搜索结果的用户界面的库描述
US20100161675A1 (en) * 2008-12-19 2010-06-24 Ritter Gerd Martin Public solution model in an enterprise service architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
第十二期沙龙:大话数据之美_如何用数据驱动用户体验: "JavaEE 6中新的定义数据源方法", 《HTTP://DEVELOPER.51CTO.COM/ART/201005/200360.HTM》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815371A (zh) * 2017-02-06 2017-06-09 浪潮通用软件有限公司 一种通过可视化配置实现跨数据源的数据读取方法
CN108241540A (zh) * 2018-01-09 2018-07-03 福建星瑞格软件有限公司 一种跨数据源查询的任务调度方法以及装置
CN112270003A (zh) * 2020-10-27 2021-01-26 上海淇馥信息技术有限公司 一种多业务动态配置数据源方法、平台及电子设备
CN112270003B (zh) * 2020-10-27 2023-05-02 上海淇馥信息技术有限公司 一种多业务动态配置数据源方法、平台及电子设备

Similar Documents

Publication Publication Date Title
WO2022160707A1 (zh) 结合rpa和ai的人机互动方法、装置、存储介质及电子设备
US11068439B2 (en) Unsupervised method for enriching RDF data sources from denormalized data
US10282664B2 (en) Method and device for constructing event knowledge base
CN105022615A (zh) 一种界面的生成方法和系统
US9619492B2 (en) Data migration
US10388278B2 (en) Structured natural language representations
US8639712B2 (en) Method and module for creating a relational database schema from an ontology
CN102650995A (zh) 多维数据分析模型生成系统及方法
CN106886535A (zh) 一种适配多种数据源的数据抽取方法和装置
CN103995698A (zh) 一种面向业务的应用表单敏捷开发方法及系统
CN103927607A (zh) 数据处理方法及装置
US11107028B2 (en) Numerical graphical flow diagram conversion and comparison
CN103914290A (zh) 一种操作命令处理方法及装置
US20150089415A1 (en) Method of processing big data, apparatus performing the same and storage media storing the same
CN105117387A (zh) 一种智能机器人交互系统
CN104461531A (zh) 一种报表系统自定义函数的实现方法
CN105447072A (zh) 可配置的界面框架及利用该框架的搜索方法和系统
CN108829884A (zh) 数据映射方法及装置
CN105868196A (zh) 一种服务器端工业数据报表生成方法
CN106557307B (zh) 业务数据的处理方法及处理系统
CN103631816A (zh) 一种跨数据源的业务模型的配置、应用方法和设备
CN103605528A (zh) 一种业务开发方法及装置
CN103177119A (zh) 基于数据库的数据类型自动转换系统及方法
CN112395302A (zh) Sql指令的执行方法、装置、电子设备及计算机可读介质
CN106843822A (zh) 一种执行代码生成方法及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140312

RJ01 Rejection of invention patent application after publication