目标对象的生成方法及服务器的制造方法

文档序号:9471133阅读:311来源:国知局
目标对象的生成方法及服务器的制造方法
【技术领域】
[0001]本申请涉及计算机技术领域,尤其涉及一种目标对象的生成方法及服务器。
【背景技术】
[0002]随着电子商务技术的发展,随之出现的业务系统越来越多,而且用户往往需要通过这些业务系统来完成某种操作,完成一个操作有时需要借助共享系统来实现。共享系统会接收源业务系统发送的自定义的对象,即源对象,而目标业务系统也会从该共享系统中获取自己需要的信息,然而目标业务系统并不希望理解越来越多的源业务系统自定义的源对象,所以就需要共享系统将上述源对象转化成标准的目标对象,从而使得目标业务系统能够获取到自己需要的信息。由此,目标业务系统只需要理解标准的目标对象即可,不再需要费力去理解各种源业务系统自定义的各种源对象。
[0003]例如,用户通过源业务系统例如商品中心购买自己需要的商品,而在购买的过程中,用户很有可能会选择支付宝这样的共享系统来完成付款,在这个过程中,用户首先通过商品中心向共享系统提交所定义的淘宝订单对象,共享系统将商品中心所定义的淘宝订单对象转化成标准的订单,从而验证用户合法性的目标业务系统例如认证中心就可以从标准的订单中读取用户信息,从而判断上述用户的合法性。
[0004]图1为共享系统与各业务系统之间的消息交互示意图,其中,共享系统主要包括消息中心和实时数据平台(zdatabus)两个部分,其具体处理过程如下:
[0005]I)消息中心负责收集各个源业务系统(数据生产方)发出来的源对象,并推送给实时数据平台;
[0006]2)实时数据平台在收到源对象后,通过转化工具进行源对象的转化处理,生成标准的目标对象,并将生成的标准的目标对象,实时推送给有订阅的目标业务系统(数据消费方)。
[0007]然而在进行zdatabus的建设过程中碰到的最大的问题就是,由于源对象种类繁多,按照一般的做法,每一种对象都需要通过编写java代码,转成标准的目标对象,工作量大,需求复杂,不符合共享系统的标准。
[0008]现有技术中,转化工具预先建立数据库表,然后通过该数据库表描述源对象的属性和目标对象模型的属性之间的对应关系,当需要将源对象转化为目标对象时,转化工具通过读取数据库表来获取源对象的属性和目标对象模型的属性之间的对应关系,并根据该对应关系,为目标对象模型的属性赋值,从而生成目标对象。然而数据库表只能描述简单的属性间对应关系,而无法描述更复杂的逻辑,例如条件判断、对象转化的触发条件等;另外,很多对象的转化是复杂的多对多的关系,如果想要通过数据库表来完整描述各种属性的对应关系,表的定义会非常复杂,以致难以理解,反而给开发带来难度;另外,数据库表中属性的维护也比较困难。
[0009]另一种现有技术中,脚本引擎把源对象的属性和目标对象模型的属性之间的对应关系放在具有自身语法体系的脚本中,在运行时读取和解析脚本,并执行脚本得到结果,根据得到的结果,为目标对象模型的属性赋值,从而生成目标对象。但是,通过编写脚本的方法,依然是传统意义上的代码开发,差别只是换了一种语言,并不能有效降低程序员的开发工作。而且,写在脚本中的源对象的属性和目标对象模型的属性之间的对应关系仍然是非结构化的,无法体现对象之间的继承关系,在脚本运行出现问题时,不能快速的定位问题。
[0010]由上述可知,现有技术中在将源对象转化为目标对象过程中,当源对象到目标对象的转化为复杂的多对多的关系时,存在编码复杂,进而耗费大量人力和计算机资源的问题。

【发明内容】

[0011]本申请实施例提供了一种目标对象的生成方法及服务器,以解决当源对象到目标对象的转化为复杂的多对多的关系时,存在的编码复杂,进而耗费大量人力和计算机资源的问题。
[0012]第一方面,提供了一种目标对象的生成方法,该方法包括:
[0013]将预先配置好的配置文件读入内存,存储为对应的对象映射根节点;
[0014]接收源对象,从所述对象映射根节点中选择与所述源对象相关联的目标对象映射根节点,所述目标对象映射根节点中包括转化条件和目标对象模型;
[0015]根据所述目标对象模型,对所述目标对象映射根节点分组;
[0016]对每组目标对象映射根节点,判断所述组中的各个目标对象映射根节点中的转化条件是否成立,当其中任一目标对象映射根节点中的转化条件成立时,为该组目标对象映射根节点对应的目标对象模型的属性赋值,从而生成目标对象。
[0017]第二方面,提供了一种服务器,该服务器包括:存储单元、接收单元、分组单元和生成单元;
[0018]所述存储单元,用于将预先配置好的配置文件读入内存,存储为对应的对象映射根节点;
[0019]所述接收单元,用于接收源对象,从所述存储单元存储的所述对象映射根节点中选择与所述源对象相关联的目标对象映射根节点,所述目标对象映射根节点中包括转化条件和目标对象模型;
[0020]所述分组单元,用于根据所述目标对象模型,对所述目标对象映射根节点分组;
[0021]所述生成单元,用于对每组目标对象映射根节点,判断所述组中的各个目标对象映射根节点中的转化条件是否成立,当其中任一目标对象映射根节点中的转化条件成立时,为该组目标对象映射根节点对应的目标对象模型的属性赋值,从而生成目标对象。
[0022]本申请实施例提供的目标对象的生成方法及服务器,通过编写配置文件的方法来描述复杂的目标对象模型的属性的赋值方式,在转化的过程中,在接收到源对象之后,通过读取并解析与该源对象关联的配置文件,为目标对象模型的属性赋值,从而生成目标对象。由于编写配置文件比编写代码要简单很多,因此,可以有效降低编程复杂难度,从而缩短开发时间,并在运行时达到节省计算机资源的目的。
【附图说明】
[0023]图1为共享系统与各业务系统之间的消息交互示意图;
[0024]图2为本申请实施例一提供的目标对象的生成方法流程图;
[0025]图3为目标对象的生成方法示意图;
[0026]图4示出了目标对象映射根节点的排序结果图;
[0027]图5为本申请实施例二提供的目标对象的生成方法流程图;
[0028]图6为本申请实施例三提供的服务器的示意图。
【具体实施方式】
[0029]下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
[0030]本申请实施例提供的目标对象的生成方法及服务器,通过编写配置文件的方法来描述复杂的目标对象模型的属性的赋值方式,在转化的过程中,在接收到源对象之后,通过读取并解析与该源对象关联的配置文件,为目标对象模型的属性赋值,从而生成目标对象。由于编写配置文件比编写代码要简单很多,因此,可以有效降低编程复杂难度,从而缩短开发时间,并在运行时达到节省计算机资源的目的。
[0031]本申请实施例提供的目标对象的生成方法可以应用于如下场景中:用户通过源业务系统例如商品中心购买自己需要的商品,而在购买的过程中,用户很有可能会选择支付宝这样的共享系统来完成付款,在这个过程中,用户首先通过商品中心向共享系统提交所定义的淘宝订单对象(即源对象),共享系统将商品中心所定义的淘宝订单对象转化成标准的订单对象(即目标对象),从而验证用户合法性的目标业务系统例如认证中心就可以从标准的订单(目标对象)中读取用户信息,从而判断上述用户的合法性。
[0032]图2为本申请实施例一提供的目标对象的生成方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置,例如图1中的实时数据平台,如图2所示,所述方法具体包括:
[0033]步骤210,将预先配置好的配置文件读入内存,存储为对应的对象映射根节点。
[0034]需要说明的是,该配置文件是由人工预先配置的,人工预先把目标对象的生成规则写成结构化的配置文件。其中,目标对象就是由实时数据平台生成的目标业务系统可以理解的对象。该配置文件用于描述在满足一定的条件下,如何为目标对象模型的属性赋值,从而生成目标对象。目标对象模型是由人工预先建立的,对应特定的类,并且该目标对象模型具有不同的属性,为上述目标对象模型的属性赋值之后,就可以生成目标对象。可以理解的是,给定同一目标对象模型的属性不相同的值时,则可以生成不同的目标对象,但是这些目标对象属于同一类,即属于目标对象模型对应的特定类。
[0035]可以理解的是,待生成的目标对象不同,则需要配置的配置文件则不同。当需要生成N个不同的目标对象时,则需要配置N个不同的配置文件。该配置文件包括转化条件,还可以包括目标对象模型的属性的赋值方式,其中,转化条件也可以称为过滤条件,用于判断是否要根据配置文件中的目标对象模型的属性的赋值方式,为目标对象模型的属性赋值,从而生成目标对象。
[0036]需要说明的是,由于在java语言中,当需要引用目标对象模型
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1