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

文档序号:6488176阅读:107来源:国知局
一种跨数据源的业务模型的配置、应用方法和设备的制作方法
【专利摘要】本发明实施例公开了一种跨数据源的业务模型的配置、应用方法和设备,通过应用本发明实施例所提出的技术方案,在ModelDefinition字段所配置的业务模型中,通过在FieldDefinition字段中设置DataSourceDefinition字段,配置该业务模型相对应的数据源信息,其中,在一个FieldDefinition字段中,允许通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息,从而,以业务模型字段为最小粒度,实现其与数据源的关系定义,对于同一个业务模型字段,可以配置其和多个数据源的对应关系,解决现有的业务模型定义方式中只能以同一个数据库为业务模型定义数据源,无法做到跨数据源定义的问题,提高了业务模型配置的灵活性,提升了业务模型配置和应用过程的处理效率,丰富了相应的配置逻辑和应用方案。
【专利说明】一种跨数据源的业务模型的配置、应用方法和设备
【技术领域】
[0001]本申请实施例涉及数据存储【技术领域】,特别涉及一种跨数据源的业务模型的配置、应用方法和设备。
【背景技术】
[0002]在一个历史遗留系统,或者一个复杂度非常高的系统下,抽象的业务模型最终持久化在不同的数据源中,例如=MySQL(瑞典MySQL AB公司推出的一款关系型数据库管理系统),Oracle (甲骨文公司推出的一款关系型数据库管理系统),搜索引擎,KV引擎(一种杀毒引擎)等。
[0003]为了能够达到有一种技术能统一从跨数据源中获取数据,必须有一份业务模型和数据源的定义信息。
[0004]Hibernate是一个开放源代码的对象关系映射框架,对JDBC(Java Data BaseConnectivity, Java数据库连接)进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
[0005]如图1 所不,为现有的Hibernate 技术通过XML(Extensible Markup Language,可扩展标记语言)方式配置业务模型和数据源的关系的示意图。
[0006]在实现本申请实施例的过程中,本申请的发明人发现现有技术至少存在以下问题:
[0007]由于Hibernate技术是针对关系型数据库的技术,所以,其要求数据源只能是同一个数据库,无法做到跨数据源的定义。
[0008]并且,由于Hibernate技术对业务模型做了假设,认为其和数据库表字段往往是一一对应,所以,无法针对同一个业务模型,定义跨数据源的字段信息。

【发明内容】

[0009]本申请实施例提供一种跨数据源的业务模型的配置、应用方法和设备,解决现有的业务模型定义方式中只能以同一个数据库为业务模型定义数据源,无法做到跨数据源定义的问题。
[0010]为了达到上述目的,本申请实施例提供一种跨数据源的业务模型的配置方法,包括以下步骤:
[0011]通过设置ModelDefinition字段,配置对业务模型的定义信息;
[0012]在所述ModelDefinition字段中,通过设置FieldDefinition字段,配置所述业务模型的字段信息定义信息;
[0013]在所述FieldDefinition字段中,通过设置DataSourceDefinition字段,配置所述业务模型相对应的数据源信息,其中,在一个所述FieldDefinition字段中,通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息。
[0014]优选的,所述方法具体包括:[0015]在XML配置文件中,通过配置model标签来实现对ModelDefinition字段的设置;
[0016]在所述model标签下,通过配置field标签来实现对FieldDefinition字段的设置;
[0017]在所述field标签下,通过配置ds标签来实现对DataSourceDefinition字段的设置。
[0018]优选的,所述model标签,至少包括以下信息中的一项或多项:
[0019]namespace信息,用于定义业务模型命名空间,隔离不同命名空间下的业务模型;
[0020]name信息,用于定义业务模型的名称;
[0021]modelClass信息,用于定义业务模型定义对应的class类;
[0022]fields信息,用于定义基本属性字段定义信息;
[0023]modelFeilds信息,用于定义级联业务模型字段的定义信息。
[0024]优选的,所述field标签,至少包括以下信息中的一项或多项:
[0025]name信息,用于定义相对应的业务模型的字段名;
[0026]dataSources信息,用于定义多个数据源的定义信息。
[0027]优选的,所述ds标签,至少包括以下信息中的一项或多项:
[0028]name信息,用于定义相对应的数据源的名字;
[0029]data信息,用于定义相对应的数据源下的字段信息;
[0030]converter信息,用于定义数据源下的字段和业务模型中的字段类型之间的转化方式;
[0031]formatter信息,用于定义数据源下的字段转换成业务模型中的字段信息的业务逻辑。
[0032]优选的,所述方法还包括:
[0033]在所述ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息。
[0034]优选的,所述在所述ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息,具体通过在XML配置文件的model标签下,配置带ref属性的field标签来实现。
[0035]优选的,所述带ref属性的field标签,至少包括以下信息中的一项或多项:
[0036]name信息,用于定义相对应的业务模型的字段名;
[0037]ref信息,用于定义级联业务模型定义的名字;
[0038]refModelDefinition信息,用于定义级联业务模型定义信息的引用;
[0039]rel信息,用于定义级联关系类型;
[0040]conjunction信息,用于定义级联业务模型的关联条件,允许定义复杂的关联条件信息。
[0041]另一方面,本申请实施例还提出了一种业务模型配置设备,包括:
[0042]模型设置模块,用于通过设置ModelDefinition字段,配置对业务模型的定义信息;
[0043]字段设置模块,用于在所述模型设置模块所设置的ModelDefinition字段中,通过设置FieldDefinition字段,配置所述业务模型的字段信息定义信息;[0044]数据源设置模块,用于在所述字段设置模块所设置的FieldDefinition字段中,通过设置DataSourceDefinition字段,配置所述业务模型相对应的数据源信息,其中,在一个所述FieldDefinition字段中,通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息。
[0045]优选的,所述设备还包括:
[0046]级联设置模块,用于在所述模型设置模块所设置的ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息。
[0047]另一方面,本申请实施例还提出了一种跨数据源的业务模型的应用方法,应用在根据前述方法设置了跨数据源的业务模型的配置信息的应用场景中,包括以下步骤:
[0048]获取所述跨数据源的业务模型的配置信息,解析其中包含的ModelDefinition字段,确定业务模型的定义信息;
[0049]在所述ModelDefinition字段中,解析FieldDef inition字段,确定所述业务模型的字段信息定义信息;
[0050]在所述FieldDefinition 字段中,解析 DataSourceDefinition 字段,确定所述业务模型相对应的数据源信息,其中,如果在一个所述FieldDefinition字段中通过多个DataSourceDefinition字段定义了跨数据源的数据源信息,则确定所述业务模型相对应的跨数据源的数据源信息;
[0051]根据所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
[0052]优选的,所述方法具体包括:
[0053]获取XML配置文件,解析其中包含的model标签,确定业务模型的定义信息;
[0054]在所述model标签下,解析field标签,确定所述业务模型的字段信息定义信息;
[0055]在所述field标签下,解析ds标签,确定所述业务模型相对应的数据源信息,其中,如果在一个所述field标签下包含多个ds标签,则确定所述业务模型相对应的跨数据源的数据源信息;
[0056]根据所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
[0057]优选的,当所述ds标签中包含formatter信息时,根据所述formatter信息所定义的业务逻辑,将相应的数据源下的字段转换为业务模型中的字段信息。
[0058]优选的,所述方法还包括:
[0059]在所述ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息。
[0060]优选的,所述在所述ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息,具体为:
[0061]在所述model标签下,解析带ref属性的field标签,确定级联业务模型的信息。
[0062]优选的,当所述带ref属性的field标签中包含conjunction信息时,根据所述conjunction信息所定义的关联条件,确定相应的级联业务模型之间的关联条件。
[0063]另一方面,本申请实施例还提出了业务模型解析设备,包括:
[0064]模型解析模块,用于获取所述跨数据源的业务模型的配置信息,解析其中包含的ModelDefinition字段,确定业务模型的定义信息;
[0065]字段解析模块,用于在所述模型解析模块所解析的ModelDefinition字段中,解析FieldDefinition字段,确定所述业务模型的字段信息定义信息;
[0066]数据源解析模块,用于在所述字段解析模块所解析的FieldDefinition字段中,解析DataSourceDefinition字段,确定所述业务模型相对应的数据源信息,其中,如果所述字段解析模块确定在一个所述FieldDefinition字段中通过多个DataSourceDefinition字段定义了跨数据源的数据源信息,则所述数据源解析模块确定所述业务模型相对应的跨数据源的数据源信息;
[0067]数据获取模块,用于根据所述数据源解析模块所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
[0068]优选的,所述设备还包括:
[0069]级联解析模块,用于在所述模型解析模块所解析的ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息。
[0070]与现有技术相比,本申请实施例所提出的技术方案具有以下优点:
[0071]通过应用本申请实施例所提出的技术方案,在ModelDefinition字段所配置的业务模型中,通过在FieldDefinition字段中设置DataSourceDefinition字段,配置该业务模型相对应的数据源信息,其中,在一个FieldDefinition字段中,通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息,从而,以业务模型字段为最小粒度,实现其与数据源的关系定义,对于同一个业务模型字段,可以配置其和多个数据源的对应关系,解决现有的业务模型定义方式中只能以同一个数据库为业务模型定义数据源,无法做到跨数据源定义的问题,提高了业务模型配置的灵活性,提升了业务模型配置和应用过程的处理效率,丰富了相应的配置逻辑和应用方案。
【专利附图】

【附图说明】
[0072]为了更清楚地说明本申请实施例或现有技术的技术方案,下面将对本申请实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0073]图1为现有的Hibernate技术通过XML方式配置业务模型和数据源的关系的示意图;
[0074]图2为本申请实施例所提出的一种跨数据源的业务模型的配置方法的流程示意图;
[0075]图3为本申请实施例所提出的一种具体应用场景下的跨数据源的业务模型的配置文件的结构示意图;
[0076]图4为本申请实施例所提出的的一种跨数据源的业务模型的应用方法的流程示意图;
[0077]图5为本发明实施例所提出的一种根据跨数据源的业务模型的配置方法所配置的XML配置文件的示意图;
[0078]图6为本申请实施例所提出的一种业务模型配置设备的结构示意图;
[0079]图7为本申请实施例所提出的一种业务模型解析设备的结构示意图。【具体实施方式】
[0080]下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0081]如图2所示,为本申请实施例所提出的的一种跨数据源的业务模型的配置方法的流程示意图,该方法包括以下步骤:
[0082]步骤S201、通过设置ModelDefinition字段,配置对业务模型的定义信息。
[0083]在具体的应用场景中,可以采用XML配置文件来实现相应的跨数据源的业务模型的配置过程。
[0084]相应的,本步骤的处理过程可以通过以下方式实现:
[0085]在XML配置文件中,通过配置model标签来实现对ModelDefinition字段的设置。
[0086]其中,所述model标签,至少包括以下信息中的一项或多项:
[0087](I) namespace 信息。
[0088]用于定义业务模型命名空间,隔离不同命名空间下的业务模型。
[0089](2) name 信息。
[0090]用于定义业务模型的名称。
[0091](3)modelClass 信息。
[0092]用于定义业务模型定义对应的class类。
[0093](4) fields 信息。
[0094]用于定义基本属性字段定义信息。
[0095](5)modelFeilds 信息。
[0096]用于定义级联业务模型字段的定义信息。
[0097]具体采用上述的哪种或哪几种信息进行model标签的设置可以根据实际需要进行选择,这样的变化并不影响本申请的保护范围。
[0098]需要说明的是,XML配置文件的实现方式只是本申请实施例所给出的一种优选的实施例,在应用本申请实施例所提出的技术方案的过程中,可以根据实际需要选择具体的配置形式,在能够按照本申请的核心思想实现业务模型的配置效果的基础上,是否采用其他语言或其他配置形式进行配置并不会影响本申请的保护范围。
[0099]在后续的说明中,本申请实施例会继续以XML配置文件的配置过程为例进行说明,如前所述,这并不影响本申请的保护范围,不再重复说明。
[0100]步骤S202、在所述ModelDefinition字段中,通过设置FieldDefinition字段,配置所述业务模型的字段信息定义信息。
[0101]以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
[0102]在所述model标签下,通过配置field标签来实现对FieldDefinition字段的设置。
[0103]其中,所述field标签,至少包括以下信息中的一项或多项:
[0104](l)name 信息。
[0105]用于定义相对应的业务模型的字段名。[0106](2) dataSources 信息。
[0107]用于定义多个数据源的定义信息。
[0108]具体采用上述的哪种或哪几种信息进行field标签的设置可以根据实际需要进行选择,这样的变化并不影响本申请的保护范围。
[0109]步骤S203、在所述 FieldDefinition 字段中,通过设置 DataSourceDefinition 字段,配置所述业务模型相对应的数据源信息。
[0110]其中,在一个所述FieldDefinition字段中,允许通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息,通过这样的处理,做到了以业务模型字段为最小粒度,配置和多个数据源的关系定义。
[0111]以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
[0112]在所述field标签下,通过配置ds标签来实现对DataSourceDefinition字段的设置。
[0113]其中,所述ds标签,至少包括以下信息中的一项或多项:
[0114](I) name 信息。
[0115]用于定义相对应的数据源的名字。
[0116](2) data 信息。
[0117]用于定义相对应的数据源下的字段信息。
[0118](3) converter 信息。
[0119]用于定义数据源下的字段和业务模型中的字段类型之间的转化方式。
[0120](4) formatter 信息。
[0121]用于定义数据源下的字段转换成业务模型中的字段信息的业务逻辑,通过该信息的加入,可以实现业务模型资源和数据源字段之间的复杂的业务转化关系的定义。
[0122]具体采用上述的哪种或哪几种信息进行ds标签的设置可以根据实际需要进行选择,这样的变化并不影响本申请的保护范围。
[0123]在步骤S201完成之后,还可以进一步引入级联业务模型,即执行以下处理过程:
[0124]步骤S204、在所述 ModelDefinition 字段中,通过设置 ModelFieldDefinition 字段,配置级联业务模型的信息。
[0125]以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
[0126]通过在XML配置文件的model标签下,配置带ref属性的field标签来实现。
[0127]其中,所述带ref属性的field标签,至少包括以下信息中的一项或多项:
[0128](l)name 信息。
[0129]用于定义相对应的业务模型的字段名。
[0130](2) ref 信息。
[0131]用于定义级联业务模型定义的名字。
[0132](3) refModelDefinition 信息。
[0133]用于定义级联业务模型定义信息的引用。
[0134](4) re I 信息。
[0135]用于定义级联关系类型,在具体的处理场景中,可以通过以下的设定方式定义级联关系的具体类型:[0136]ONE,表示级联业务模型之间一对一的关系。
[0137]MANY,表示级联业务模型之间一对多的关系。
[0138](5) conjunction 信息。
[0139]用于定义级联业务模型的关联条件,允许定义复杂的关联条件信息,通过该信息的加入,可以实现级联业务模型之间的复杂的关联条件的定义。
[0140]具体采用上述的哪种或哪几种信息进行带ref属性的field标签的设置可以根据实际需要进行选择,这样的变化并不影响本申请的保护范围。
[0141]通过上述的处理,相应的跨数据源的业务模型的配置文件的结构示意图如图3所
/Jn ο
[0142]进一步的,本申请实施例还提出了一种跨数据源的业务模型的应用方法,对根据前述配置方法所生成的配置文件进行解析,从而,为具体的业务模型获取跨数据源的数据信息。
[0143]如图4所示,为本申请实施例所提出的的一种跨数据源的业务模型的应用方法的流程示意图,该方法包括以下步骤:
[0144]步骤S401、获取所述跨数据源的业务模型的配置信息,解析其中包含的ModelDefinition字段,确定业务模型的定义信息。
[0145]与前述说明过程相对应,继续以XML配置文件的解析过程为例,本步骤的处理过程可以通过以下方式实现:
[0146]获取XML配置文件,解析其中包含的model标签,确定业务模型的定义信息。
[0147]步骤S402、在所述ModelDefinition字段中,解析FieldDefinition字段,确定所述业务模型的字段信息定义信息。
[0148]以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
[0149]在所述model标签下,解析field标签,确定所述业务模型的字段信息定义信息。
[0150]步骤S403、在所述 FieldDef ini t ion 字段中,解析 DataSourceDefinition 字段,确定所述业务模型相对应的数据源信息。
[0151]其中,如果在一个所述FieldDefinition字段中通过多个DataSourceDefinition字段定义了跨数据源的数据源信息,则确定所述业务模型相对应的跨数据源的数据源信息;
[0152]以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
[0153]在所述field标签下,解析ds标签,确定所述业务模型相对应的数据源信息,其中,如果在一个所述field标签下包含多个ds标签,则确定所述业务模型相对应的跨数据源的数据源信息。
[0154]需要说明的是,当所述ds标签中包含formatter信息时,根据所述formatter信息所定义的业务逻辑,将相应的数据源下的字段转换为业务模型中的字段信息。
[0155]步骤S404、根据所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
[0156]与步骤S204相对应,在步骤S401完成之后,还可以进一步引入级联业务模型的解析处理过程,即执行以下处理过程:
[0157]步骤S405、在所述 ModelDefinit ion 字段中,解析 ModelFieldDefinition 字段,确定级联业务模型的信息。
[0158]以XML配置文件为例,本步骤的处理过程可以通过以下方式实现:
[0159]在所述model标签下,解析带ref属性的field标签,确定级联业务模型的信息。
[0160]需要说明的是,当所述带ref属性的field标签中包含conjunction信息时,根据所述conjunction信息所定义的关联条件,确定相应的级联业务模型之间的关联条件。
[0161]具体的,如图5所示,为本发明实施例所提出的一种根据跨数据源的业务模型的配置方法所配置的XML配置文件的示意图。
[0162]这个XML配置文件中定义了两个业务模型:
[0163](I)对于第一个名为“offer”的业务模型,其包含三个field标签,以及两个带ref属性的field标签。
[0164]通过解析名为“id”的field标签,可以获取到两个ds标签,即代表该字段对应了两个数据源,分别是MySQL和SE引擎,而对于名为“title”和“status”的两个field标签,也可以分别获取到相应的两个ds标签,即两个数据源,分别是MySQL和SE引擎,因此,对于本业务模型中的三个业务模型字段,分别都是对应了跨数据源的数据。
[0165]通过解析名为“product”的带ref属性的field标签,确定当前业务模型与相应的级联业务模型是一对一的级联对应关系,而通过解析名为“tc”的带ref属性的field标签,确定当前业务模型与相应的级联业务模型是一对多的级联对应关系,并且,相应的级联模型关联条件通过conjunction信息来定义。
[0166](2)对于第二个名为“Product”的业务模型,其只包含三个field标签,而没有包含带ref属性的field标签。
[0167]通过解析名为“offerld”的field标签,可以获取到一个ds标签,即代表该字段只对应一个数据源,为MySQL,而对于名为“subject”和“features”的两个field标签,则可以分别获取到相应的两个ds标签,即两个数据源,分别是MySQL和SE引擎,因此,对于本业务模型中的三个业务模型字段,“offerld”字段对应了一个数据源的数据,而“subject”和“features”字段则是对应了跨数据源的数据。
[0168]与现有技术相比,本申请实施例所提出的技术方案具有以下优点:
[0169]通过应用本申请实施例所提出的技术方案,在ModelDefinition字段所配置的业务模型中,通过在FieldDefinition字段中设置DataSourceDefinition字段,配置该业务模型相对应的数据源信息,其中,在一个FieldDefinition字段中,允许通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息,从而,以业务模型字段为最小粒度,实现其与数据源的关系定义,对于同一个业务模型字段,可以配置其和多个数据源的对应关系,解决现有的业务模型定义方式中只能以同一个数据库为业务模型定义数据源,无法做到跨数据源定义的问题,提高了业务模型配置的灵活性,提升了业务模型配置和应用过程的处理效率,丰富了相应的配置逻辑和应用方案。
[0170]另一方面,本申请实施例还提供了一种业务模型配置设备,其结构示意图如图6所示,
[0171]模型设置模块61,用于通过设置ModelDefinition字段,配置对业务模型的定义
信息;
[0172]字段设置模块62,用于在所述模型设置模块61所设置的ModelDefinition字段中,通过设置FieldDefinition字段,配置所述业务模型的字段信息定义信息;
[0173]数据源设置模块63,用于在所述字段设置模块62所设置的FieldDefinition字段中,通过设置DataSourceDefinition字段,配置所述业务模型相对应的数据源信息,其中,在一个所述FieldDefinition字段中,允许通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息。
[0174]在具体的应用场景中,所述设备还包括:
[0175]级联设置模块64,用于在所述模型设置模块61所设置的ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息。
[0176]另一方面,本申请实施例还提供了一种业务模型解析设备,其结构示意图如图7所示,
[0177]模型解析模块71,用于获取所述跨数据源的业务模型的配置信息,解析其中包含的ModelDefinition字段,确定业务模型的定义信息;
[0178]字段解析模块72,用于在所述模型解析模块71所解析的ModelDefinition字段中,解析FieldDefinition字段,确定所述业务模型的字段信息定义信息;
[0179]数据源解析模块73,用于在所述字段解析模块72所解析的FieldDefinition字段中,解析DataSourceDefinition字段,确定所述业务模型相对应的数据源信息,其中,如果所述字段解析模块72确定在一个所述FieldDefinition字段中通过多个DataSourceDefinition字段定义了跨数据源的数据源信息,则所述数据源解析模块73确定所述业务模型相对应的跨数据源的数据源信息;
[0180]数据获取模块74,用于根据所述数据源解析模块73所确定的所述业务模型相对应的数据源信息,通过相应的数据源获取数据。
[0181]在具体的应用场景中,所述设备还包括:
[0182]级联解析模块75,用于在所述模型解析模块71所解析的ModelDefinition字段中,解析ModelFieldDefinition字段,确定级联业务模型的信息。
[0183]与现有技术相比,本申请实施例所提出的技术方案具有以下优点:
[0184]通过应用本申请实施例所提出的技术方案,在ModelDefinition字段所配置的业务模型中,通过在FieldDefinition字段中设置DataSourceDefinition字段,配置该业务模型相对应的数据源信息,其中,在一个FieldDefinition字段中,允许通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息,从而,以业务模型字段为最小粒度,实现其与数据源的关系定义,对于同一个业务模型字段,可以配置其和多个数据源的对应关系,解决现有的业务模型定义方式中只能以同一个数据库为业务模型定义数据源,无法做到跨数据源定义的问题,提高了业务模型配置的灵活性,提升了业务模型配置和应用过程的处理效率,丰富了相应的配置逻辑和应用方案。
[0185]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例各个实施例所述的方法。[0186]本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请实施例所必须的。
[0187]本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0188]上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0189]以上公开的仅为本申请实施例的几个具体实施例,但是,本申请实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请实施例的保护范围。
【权利要求】
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信息,用于定义级联业务模型的关联条件,允许定义复杂的关联条件信息O
9.一种业务模型配置设备,其特征在于,包括: 模型设置模块,用于通过设置ModelDefinition字段,配置对业务模型的定义信息;字段设置模块,用于在所述模型设置模块所设置的ModelDefinition字段中,通过设置FieldDefinition字段,配置所述业务模型的字段信息定义信息; 数据源设置模块,用于在所述字段设置模块所设置的FieldDefinition字段中,通过设置DataSourceDefinition字段,配置所述业务模型相对应的数据源信息,其中,在一个所述FieldDefinition字段中,通过设置多个DataSourceDefinition字段,定义跨数据源的数据源信息。
10.如权利要求9所述的设备,其特征在于,还包括: 级联设置模块,用于在所述模型设置模块所设置的ModelDefinition字段中,通过设置ModelFieldDefinition字段,配置级联业务模型的信息。
11.一种跨数据源的业务模型的应用方法,其特征在于,包括以下步骤: 获取所述跨数据源的业务模型的配置信息,解析其中包含的ModelDefinition字段,确定业务模型的定义信息; 在所述ModelDefinition字段中,解析FieldDef inition字段,确定所述业务模型的字段信息定义信息; 在所述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字段,确定`级联业务模型的信息。
【文档编号】G06F17/30GK103631816SQ201210306817
【公开日】2014年3月12日 申请日期:2012年8月27日 优先权日:2012年8月27日
【发明者】金立 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1