一种自适应部分查询字段系统及执行方法技术方案

技术编号:22295426 阅读:61 留言:0更新日期:2019-10-15 04:35
本发明专利技术涉及一种自适应部分查询字段系统及执行方法。在大型软件项目中,业务逻辑层与数据访问层是分离的;出于性能的考虑,数据库查询往往使用部分查询而非全部查询。当业务逻辑发生变化时,部分查询字段也要做出相应变化,这就违背了软件工程“低耦合”的思想。本发明专利技术提供一种自适应部分查询字段的系统,会根据业务逻辑变化自动增减部分查询字段,大大降低了开发成本。

An Adaptive Partial Query Field System and Its Execution Method

【技术实现步骤摘要】
一种自适应部分查询字段系统及执行方法
本专利技术涉及一种自适应部分查询字段系统及执行方法。
技术介绍
数据库技术涉及对数据库的数据的存储、查询和分析,在执行数据库查询时,如果对拥有几十个字段、数据量达到GB甚至TB级别的大表进行全部查询,查询速度必然会很慢,若使用部分查询则会大幅提高查询速度。这成为大家在优化sql查询时比较常用的一种手段。三层架构将整个业务应用划分为界面层、业务逻辑层和数据访问层。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。理论上业务逻辑层和数据访问层是完全分离的,但在实际迭代过程中,由于需求的频繁迭代,业务逻辑层的功能自然是不断变化的,要想保证数据访问层的独立性,要么就是使用全部查询,要么就是在代码中加入很多的判断,这些做法要么降低了性能,要么对软件开发非常的不友好。
技术实现思路
针对现有技术中存在的问题,为解决当业务逻辑发生改变时,数据访问也要相应改变查询字段,造成架构分离不完全的问题,本专利技术的目的在于提供一种自适应部分查询字段系统及执行方法的技术方案。所述的一种自适应部分查询字段系统,其特征在于包括:一套可复用的高速缓冲存储器,存储部分查询系统的数据;按照业务模块分类存储需要查询的字段数据,其中包括:增加功能:当有新字段被识别时,存入系统;删除功能;当发现有字段被删除时,删除系统中的字段;查询功能:在系统中寻找该功能所存储的字段,若没有存储则返回缺省字段,缺省字段可自定义;通过一套基于数据库抽像层上的ORM,用以识别字段数据是否被查询,在业务逻辑使用该字段数据时触发。所述的一种自适应部分查询字段系统的执行方法,其特征在于包括如下步骤:步骤1:进行初始化配置,定义需要使用部分查询的模块,以及每个模块的缺省字段;步骤2:业务逻辑层发送请求到数据访问层;步骤3:从部分查询系统中取出存储的字段;步骤4:从数据库获取对应字段的数据,然后回传给业务逻辑层;步骤5:使用这些数据执行业务逻辑。所述的一种自适应部分查询字段系统的执行方法,其特征在于:还包括步骤5A:执行业务逻辑时,若发现某字段数据不存在,通知系统记入该字段,然后重复步骤2。所述的一种自适应部分查询字段系统的执行方法,其特征在于:还包括步骤4A:查询数据库时,若发现某字段在数据库中不存在,通知系统删除该字段,然后重复步骤2。本专利技术保证了在不增加系统性能消耗的情况下,数据访问自适应于业务逻辑,使得软件系统架构符合“高内聚低耦合”的思想,帮助软件开发人员减轻工作量。本专利技术会根据业务逻辑变化自动增减部分查询字段,大大降低了开发成本。附图说明图1为本专利技术自适应部分查询字段的系统在软件项目中应用的步骤示意图。具体实施方式下面结合说明书附图对本专利技术作进一步说明:一种自适应部分查询字段系统,包括:一套可复用的高速缓冲存储器,存储部分查询系统的数据;按照业务模块分类存储需要查询的字段数据,其中包括:增加功能:当有新字段被识别时,存入系统;删除功能;当发现有字段被删除时,删除系统中的字段;查询功能:在系统中寻找该功能所存储的字段,若没有存储则返回缺省字段,缺省字段可自定义;通过一套基于数据库抽像层上的ORM,用以识别字段数据是否被查询,在业务逻辑使用该字段数据时触发。一种自适应部分查询字段系统的执行方法,包括如下步骤:步骤1:进行初始化配置,定义需要使用部分查询的模块,以及每个模块的缺省字段;步骤2:业务逻辑层发送请求到数据访问层;步骤3:从部分查询系统中取出存储的字段;步骤4:从数据库获取对应字段的数据,然后回传给业务逻辑层;步骤5:使用这些数据执行业务逻辑。还包括步骤5A:执行业务逻辑时,若发现某字段数据不存在,通知系统记入该字段,然后重复步骤2。还包括步骤4A:查询数据库时,若发现某字段在数据库中不存在,通知系统删除该字段,然后重复步骤2。实施例已知存在一个订单表order,数据表结构如下:主键:id主要属性:orderId订单号payAmount应付金额disount优惠金额customer买家昵称address收货地址第一次使用:假设我们要某个查询订单数据的功能,需要查询到订单的订单号、应付金额、买家昵称和收货地址:步骤1:初始化一个模块名叫getOrderList,缺省值为id;步骤2:业务逻辑层发送请求到数据访问层;步骤3:从部分查询系统中取出存储的字段,第一次只能取出缺省值id;步骤4:从数据库获取对应字段的数据,然后回传给业务逻辑层;执行sqlSELECTidFROMorder,然后得到的数据回传到业务逻辑层;步骤5:使用这些数据执行业务逻辑。这时候会发现订单号orderId字段并没有被查询,此时将该字段加入getOrderList模块中,然后重复步骤2;再经过一个轮回,到步骤5时,会发现应付金额payAmount没有被查询,加入后继续重复;持续运行;再经过两轮后,又加入了买家昵称customer和收货地址address后,所有字段都被覆盖。业务更改:假设该订单查询功能使用一段时间后,业务逻辑更改,需要去查询优惠金额,步骤2:业务逻辑层发送请求到数据访问层;步骤3:从部分查询系统中取出存储的字段,取出字段id、orderId、payAmount、customer和address;步骤4:从数据库获取对应字段的数据,然后回传给业务逻辑层;执行sqlSELECTid,orderId,payAmount,customer,addressFROMorder,然后得到的数据回传到业务逻辑层;步骤5:使用这些数据执行业务逻辑,这时候会发现优惠金额discount字段并没有被查询,此时将该字段加入getOrderList模块中,然后重复步骤2;再经过一个轮回,到步骤5时,就可以使用discount字段数据了。在这个场景中,虽然业务做了变更,但是数据访问层不需要根据业务的变更而做改变,这大大的降低了开发工作量。ORM:“对象-关系映射”,是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。以上所述仅是本专利技术的优选实施方式,应当指出,对于本
的普通技术人员来说,在不脱离本专利技术所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本专利技术的保护范围。本文档来自技高网
...

【技术保护点】
1.一种自适应部分查询字段系统,其特征在于包括:一套可复用的高速缓冲存储器,存储部分查询系统的数据;按照业务模块分类存储需要查询的字段数据,其中包括:增加功能:当有新字段被识别时,存入系统;删除功能;当发现有字段被删除时,删除系统中的字段;查询功能:在系统中寻找该功能所存储的字段,若没有存储则返回缺省字段,缺省字段可自定义;通过一套基于数据库抽像层上的ORM,用以识别字段数据是否被查询,在业务逻辑使用该字段数据时触发。

【技术特征摘要】
1.一种自适应部分查询字段系统,其特征在于包括:一套可复用的高速缓冲存储器,存储部分查询系统的数据;按照业务模块分类存储需要查询的字段数据,其中包括:增加功能:当有新字段被识别时,存入系统;删除功能;当发现有字段被删除时,删除系统中的字段;查询功能:在系统中寻找该功能所存储的字段,若没有存储则返回缺省字段,缺省字段可自定义;通过一套基于数据库抽像层上的ORM,用以识别字段数据是否被查询,在业务逻辑使用该字段数据时触发。2.一种自适应部分查询字段系统的执行方法,其特征在于包括如下步骤:步骤1:进行初始化配置,定义需要使用部分查询的模...

【专利技术属性】
技术研发人员:李健
申请(专利权)人:杭州美巴科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1