[发明专利]复合模型数据处理方法及系统有效
申请号: | 201210196003.8 | 申请日: | 2012-06-13 |
公开(公告)号: | CN103488655B | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 何崚 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京润泽恒知识产权代理有限公司11319 | 代理人: | 苏培华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 复合 模型 数据处理 方法 系统 | ||
技术领域
本申请涉及计算机数据处理技术领域,特别是涉及一种复合模型数据处理方法及系统。
背景技术
一个复杂的业务系统,例如一个大型网站,一个跨多个业务模型的应用场景,当需要获取各业务模型的数据时,需要分别根据各业务模型的数据查询方式来进行响应数据的获取,因此需要输入不同的查询条件,并多次调用数据库或者数据服务接口来获取不同业务模型的数据。此种方式中各业务模型之间的关系处理复杂,且需要进行频繁的模型数据查询,增加人工处理时间以及占用大量系统资源。
常见的一种获取复杂应用场景的多个业务模型数据的方法为采用facade模式。首先需要通过手动编写调用代码来分别调用各个业务模型对应的数据接口,分别进行查询,然后基于各业务模型之间的关联关系组合成返回关联对象的接口。此种方式无法做到自动的数据路由,而且因为需要手动编码,无法自动化生成代码,会花费大量的前期开发时间。另外,当应用场景中的业务模型数量发生变更或者,或者业务模型间的关系发生变化时,需要重新编写业务模型的调用代码,增加后期维护及使用的成本和时间。
发明内容
本申请提供一种复合模型数据处理方法及系统,能够解决复杂应用场景下因复合模型数据关系复杂、查询数据频繁而大量占用系统资源的问题。
为了解决上述问题,本申请公开了一种复合模型数据处理方法,包括以下步骤:
接收并解析客户端传入的初始查询条件和要求返回的对象;
基于所述初始查询条件确定初始模型,基于所述要求返回的对象确定目标模型;
基于预定的模型关系确定所述目标模型与初始模型的关联关系,并根据所述关联关系确定从初始模型到目标模型的查询路径;
获取查询路径中各模型的查询方法;
按照所述查询路径的顺序自动查询各模型的数据,其中,初始模型数据通过将初始查询条件传入初始模型对应的查询方法获取,查询路径中其余的模型所需要的查询条件从上一模型数据中提取,并通过将提取的查询条件分别传入各模型对应的查询方法来获取对应的模型数据;
从所有的模型数据中提取要求返回的对象,并返回给客户端。
进一步地,所述根据所述关联关系确定从初始模型到目标模型的查询路径包括:
若初始模型和目标模型直接关联,查询路径为初始模型到目标模型;
若初始模型和目标模型间接关联,之间还包括中间模型,查询路径为初始模型到中间模型到目标模型。
进一步地,所述根据所述关联关系确定从初始模型到目标模型的查询路径包括:
选取中间模型数量最少的路径为查询路径。
进一步地,所述根据所述关联关系确定从初始模型到目标模型的查询路径包括:
将各模型的关联关系读取到模型无向图数据结构中;
遍历所述模型无向图获取从初始模型到目标模型的查询路径。
进一步地,所述方法还包括:
采用DSL定义各模型的关联关系。
进一步地,所述各模型的查询方法采用统一语言定义。
进一步地,所述方法还包括:
采用DSL定义各模型的查询方法。
进一步地,所述接收并解析客户端传入的初始查询条件和要求返回的对象包括:
通过统一的客户端API接收并解析客户端传入的初始查询条件和要求返回的对象。
为了解决上述问题,本申请还公开了一种复合模型数据处理系统,包括:
数据接收模块,用于接收并解析客户端传入的初始查询条件和要求返回的对象;
查询模型确定模块,用于基于所述初始查询条件确定初始模型,基于所述要求返回的对象确定目标模型;
查询路径确定模块,用于基于预定的模型关系确定所述目标模型与初始模型的关联关系,并根据所述关联关系确定从初始模型到目标模型的查询路径;
查询方法获取模块,用于获取查询路径中各模型的查询方法;
数据查询模块,用于按照所述查询路径的顺序自动查询各模型的数据,其中,初始模型数据通过将初始查询条件传入初始模型对应的查询方法获取,查询路径中其余的模型所需要的查询条件从上一模型数据中提取,并通过将提取的查询条件分别传入各模型对应的查询方法来获取对应的模型数据;
数据返回模块,用于从所有的模型数据中提取要求返回的对象,并返回给客户端。
进一步地,所述查询路径确定模块包括:
路径选择单元,用于选取中间模型数量最少的路径为查询路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210196003.8/2.html,转载请声明来源钻瓜专利网。