通用业务对象的生成方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:23024754 阅读:20 留言:0更新日期:2020-01-03 16:47
本发明专利技术公开了一种通用业务对象的生成方法、装置、计算机设备及存储介质。所述方法包括:查询业务数据库,获取所述业务数据库中包括的各业务数据表,并获取各所述业务数据表中包括的各字段;根据各所述字段、与所述业务数据库匹配的远端接口以及ORM框架,生成与各所述业务数据表对应的通用业务对象,以使所述业务层使用所述通用业务对象,以远端接口调用的方式对所述业务数据库进行访问。本发明专利技术实施例的技术方案彻底避免了多次业务对象的互相转换,对服务性能的额外开销,减少了代码的复杂度,在使用gRPC进行远程接口调用时,无需人为编写proto描述文件,大大提高了开发的效率。

Generation method, device, computer equipment and storage medium of general business object

【技术实现步骤摘要】
通用业务对象的生成方法、装置、计算机设备及存储介质
本专利技术实施例涉及计算机底层技术,尤其涉及一种通用业务对象的生成方法、装置、计算机设备及存储介质。
技术介绍
在大多业务操作平台中,业务层需要经常查询数据层中的数据表,以获取业务操作所需的数据。目前,数据层通过谷歌提出的现代、开源、高效的远程过程调用(RemoteProcedureCall,RPC)接口的方式对外提供查询服务,依赖于proto描述文件的定义。一般来说,可以将业务操作平台中的业务层分为表现层,业务中台层以及基础服务层。基础服务层是提供对数据表进行访问的一层,业务中台层是提供对业务进行抽象和通用封装的一层,表现层是直接面向实际业务的一层。在正常情况下,分层之后各层定义各层的对象,会导致业务操作平台中出现大量的重复定义对象,导致业务对象不收敛。分层之后各层之间需要大量的业务对象传输,如果不能达到业务对象的收敛,则会导致出现多次业务对象的互相转换,增加对服务性能的额外开销,也增加了代码的复杂度。此外,在表现层中对数据表进行访问时,需要定义符合对象关系映射框架(ORM,ObjectRelationalMapping)的数据描述性对象,需要开发人员进行大量的对象定义,降低了编码的速度,不利于项目的快速推进;在使用gRPC进行远程接口调用时,需要人为编写proto描述文件,proto描述文件的编写效率低下,大大降低了开发的效率。
技术实现思路
本专利技术实施例提供了一种通用业务对象的生成方法、装置、计算机设备及存储介质,生成可以在业务操作平台中使用的通用业务对象。第一方面,本专利技术实施例提供了一种通用业务对象的生成方法,所述方法包括:查询业务数据库,获取所述业务数据库中包括的各业务数据表,并获取各所述业务数据表中包括的各字段;根据各所述字段、与所述业务数据库匹配的远端接口以及ORM框架,生成与各所述业务数据表对应的通用业务对象,以使业务层使用所述通用业务对象,以远端接口调用的方式对所述业务数据库进行访问。第二方面,本专利技术实施例还提供了一种通用业务对象的生成装置,该装置包括:业务数据库查询模块,用于查询业务数据库,获取所述业务数据库中包括的各业务数据表,并获取各所述业务数据表中包括的各字段;通用业务对象生成模块,用于根据各所述字段、与所述业务数据库匹配的远端接口以及ORM框架,生成与各所述业务数据表对应的通用业务对象,以使业务层使用所述通用业务对象,以远端接口调用的方式对所述业务数据库进行访问。第三方面,本专利技术实施例还提供了一种计算机设备,所述计算机设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任意实施例所述的通用业务对象的生成方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术任意实施例所述的通用业务对象的生成方法。本专利技术实施例的技术方案通过查询业务数据库,获取业务数据库中包括的各业务数据表,并获取各所述业务数据表中包括的各字段;根据各所述字段、与所述业务数据库匹配的远端接口以及ORM框架,生成与各所述业务数据表对应的通用业务对象的技术手段,生成了可以供全局使用的通用业务对象,该对象可以直接使用ORM框架操作操作业务数据库中的数据,也可以支持远端接口调用,同时,在业务操作平台中具有多个服务分层的情况下,可以使用该通用业务对象在各层中进行数据传递。彻底避免了多次业务对象的互相转换,对服务性能的额外开销,减少了代码的复杂度,在使用gRPC进行远程接口调用时,无需人为编写proto描述文件,大大提高了开发的效率。附图说明图1是本专利技术实施例一中的一种通用业务对象的生成方法的流程图;图2a是本专利技术实施例二中的一种通用业务对象的生成方法的流程图;图2b是本专利技术实施例二所适用的一种原始对象元素的内存占用示意图;图2c是本专利技术实施例二所适用的另一种原始对象元素的内存占用示意图;图3是本专利技术实施例三中的一种通用业务对象的生成方法的流程图;图4是本专利技术实施例四中的一种通用业务对象的生成装置的结构图;图5是本专利技术实施例五中的一种计算机设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种通用业务对象的生成方法的流程图,本实施例可适用于生成可以在业务操作平台中的业务层使用的通用业务对象的情况,该方法可以由通用业务对象的生成来执行,该装置可以通过软件,和/或硬件的方式实现,并一般可以集成在终端或者服务器中。所述方法具体包括如下步骤:S110、查询业务数据库,获取所述业务数据库中包括的各业务数据表,并获取各所述业务数据表中包括的各字段。其中,所述业务数据库中存储有多个业务数据表,业务数据表中包括有各种字段(例如,“姓名”字段,或者“工资”字段等),字段用来描述数据表中的某一项数据特征,也即数据项。所述业务数据库是指业务操作平台中的业务层可以进行操作的数据库。该业务层具体可以是指业务操作平台中基础服务层、业务中台层或者表现层中的一个或者多个。其中,业务操作平台中不同的业务层需要定义各自的业务对象,以最终实现对该业务数据库中的一个或者多个业务数据表的操作。在本实施例中,考虑到实际的操作对象就是业务数据库中的业务数据表,因此,可以直接根据各个业务数据表中包括的各个字段,生成全平台通用的业务对象,也即通用业务对象,以实现对该业务数据库的访问。S120、根据各所述字段、与所述业务数据库匹配的远端接口以及ORM框架,生成与各所述业务数据表对应的通用业务对象,以使业务层使用所述通用业务对象,以远端接口调用的方式对所述业务数据库进行访问。具体的,在业务操作平台对业务数据库中的业务数据表进行操作时,一般是以远端接口调用的方式实现的数据库操作,因此,一般需要定义用于实现远端接口调用的自解释对象,典型的,如果所述远端接口为通过proto描述文件定义的gRPC的接口,则需要在proto描述文件中定义大量的message。message代表了操作对象的数据结构,里面包括不同类型的成员变量,包括字符串、数组或者数字等,上述成员变量用于定义gRPC的接口中收发的消息。如下所示的为一个proto描述文件中的一个message的示例。同时,为了实现对该业务数据库的操作,需要定义符合ORM框架的数据描述性对象,典型的,在所述ORM框架为gorm框架时,如下所示的为基于gorm框架所定义出的数据描述性对象:typeMOrderAgentFeestruct{...

【技术保护点】
1.一种通用业务对象的生成方法,其特征在于,包括:/n查询业务数据库,获取所述业务数据库中包括的各业务数据表,并获取各所述业务数据表中包括的各字段;/n根据各所述字段、与所述业务数据库匹配的远端接口以及对象关系映射ORM框架,生成与各所述业务数据表对应的通用业务对象,以使业务层使用所述通用业务对象,以远端接口调用的方式对所述业务数据库进行访问。/n

【技术特征摘要】
1.一种通用业务对象的生成方法,其特征在于,包括:
查询业务数据库,获取所述业务数据库中包括的各业务数据表,并获取各所述业务数据表中包括的各字段;
根据各所述字段、与所述业务数据库匹配的远端接口以及对象关系映射ORM框架,生成与各所述业务数据表对应的通用业务对象,以使业务层使用所述通用业务对象,以远端接口调用的方式对所述业务数据库进行访问。


2.根据权利要求1所述的方法,其特征在于,根据各所述字段、与所述业务数据库匹配的远端接口以及ORM框架,生成与所述业务数据表对应的通用业务对象,包括:
建立与当前处理的目标业务数据表对应的原始业务对象;
根据所述目标业务数据表中的各字段的字段名、字段类型以及字段属性,生成与各所述字段分别对应的原始对象元素,加入至所述原始业务对象中;
对所述原始业务对象进行处理,得到与目标业务数据表对应的通用业务对象;
其中,所述通用业务对象的通用对象元素中,包括:通用对象名称、通用对象类型、与所述远端接口匹配的接口属性参数、序列化参数以及与所述通用对象元素匹配的数据库属性参数。


3.根据权利要求2所述的方法,其特征在于,根据所述目标业务数据表中的各字段的字段名、字段类型以及字段属性,生成与各所述字段分别对应的原始对象元素,加入至所述原始业务对象中,包括:
依次获取与所述目标业务数据表中的一个字段对应的字段名、字段类型以及字段属性;
根据所述字段名、字段类型、字段属性以及预设的对象元素模板,生成与所述字段匹配的原始对象元素,加入至所述原始业务对象中,其中,所述对象元素模板中包括多个待填充区域;
返回执行依次获取与当前处理的业务数据表中的一个字段对应的字段名、字段类型以及字段属性的操作,直至完成对所述目标业务数据表中全部字段的处理。


4.根据权利要求3所述的方法,其特征在于,根据所述字段名、字段类型、字段属性以及预设的对象元素模板,生成与所述字段匹配的原始对象元素,包括:
将获取的所述字段名、字段类型以及字段属性,填充于所述对象元素模板中对应的待填充区域内;
根据预设的字段类型映射表,生成与所述字段类型对应的对象元素类型,填充于所述对象元素模板中对应的待填充区域内,以生成与所述字段匹配的原始对象元素;
对所述字段名进行类型转换,生成标准原始对象元素名,填充于所述对象元素模板中对应的待填充区域内。


5.根据权利要求4所述的方法,其特征在于,对所述字段名进行类型转换,生成标准原始对象元素名,包括:
判断所述字段名是否以数字串开头,所述数字串中包括至少一个数字;
若是,则按照数字与字符之间的映射关系,将所述字段名中的所述数字串映射为字符串;
对所述字段名进行驼峰转换,得到所述标准原始对象元素名。


6.根据权利要求2-5任一项所述的方法,其特征在于,在根据所述目标业务数据表中的各字段的字段名、字段类型以及字段属性,生成与各所述字段分别对应的原始对...

【专利技术属性】
技术研发人员:陈强松
申请(专利权)人:苏州达家迎信息技术有限公司
类型:发明
国别省市:江苏;32

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

1