一种ORM实现方法及相关设备技术

技术编号:30313918 阅读:10 留言:0更新日期:2021-10-09 22:56
本发明专利技术公开了一种ORM实现方法及相关设备,所述方法包括获取处理数据,其中,所述处理数据的类型为Protobuf类型;提取所述处理数据中的API描述符,并根据所述API描述符提取所述处理数据中的类型描述符和字段描述符;根据所述类型描述符,确定所述处理数据对应的类型名称;以及,根据所述字段描述符,构造所述处理数据对应的字段列表;根据所述类型名称和所述字段列表,生成与所述处理数据对应的ORM类型。本发明专利技术实现Protobuf数据类型直接用于ORM类型,提高数据处理效率。提高数据处理效率。提高数据处理效率。

【技术实现步骤摘要】
一种ORM实现方法及相关设备


[0001]本专利技术涉及数据处理
,特别涉及一种ORM实现方法及相关设备。

技术介绍

[0002]Protocol Buffers(Protobuf),是Google公司开发的一种类似于XML的数据描述语言。它能够将结构化数据序列化,应用于数据存储、通信协议等方面。通过Protobuf,用户可以定义数据的结构,并生成基于不同类型的语言代码。用户定义的数据流可以轻松地在传递并不破坏原有的程序,并且用户也可以更新这些数据而保证原有的程序也不会受到影响。
[0003]对象关系映射(Object Relational Mapping,ORM),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换,以解决面向对象与关系数据库存在的互不匹配的现象的问题。从效果上说,它创建了一个可在编程语言里使用的“虚拟对象数据库”。如今已有很多免费和付费的ORM产品,而有些程序员更倾向于创建自己的ORM工具。
[0004]以上两种技术都广泛应用于软件开发中,但现有的ORM实现对Protobuf描述的数据类型支持并不好,Protobuf类型缺少ORM类型必需的字段类型描述,因此不能直接用作ORM操作。开发者不得不编写大量中间代码,转换Protobuf的数据类型,因此基于Protobuf类型的数据,ORM并没有提高编码效率。

技术实现思路

[0005]本专利技术要解决的技术问题在于ORM实现,针对现有技术的不足,提供一种ORM实现方法。
[0006]为了解决上述技术问题,本专利技术所采用的技术方案如下:
[0007]一种ORM实现方法,所述方法包括:
[0008]获取处理数据,其中,所述处理数据的类型为Protobuf类型;
[0009]提取所述处理数据中的API描述符,并根据所述API描述符提取所述处理数据中的类型描述符和字段描述符;
[0010]根据所述类型描述符,确定所述处理数据对应的类型名称;以及,
[0011]根据所述字段描述符,构造所述处理数据对应的字段列表;
[0012]根据所述类型名称和所述字段列表,生成与所述处理数据对应的ORM类型。
[0013]所述ORM实现方法,其中,所述根据所述字段描述符,构造所述处理数据对应的字段列表,具体包括:
[0014]根据所述字段描述符,确定所述处理数据对应的字段参数;
[0015]根据所述字段参数以及所述处理数据对应的字段信息,构造与所述处理数据对应的字段列表。
[0016]所述ORM实现方法,其中,所述根据所述字段参数以及所述处理数据对应的字段信
息,构造与所述处理数据对应的字段列表,具体包括:
[0017]根据所述字段参数以及所述处理数据对应的字段信息,生成初始列表;
[0018]针对每一个所述字段信息,当该字段信息的数据类型为内嵌对象类型时,将该字段列表中的字段信息进行序列化,得到序列数据;
[0019]将该字段信息对应的序列数据替换该字段信息在所述初始列表中的位置,得到字段列表。
[0020]所述ORM实现方法,其中,所述根据所述类型名称和所述字段列表,生成与所述处理数据对应的ORM类型,具体包括:
[0021]将所述类型名称作为所述ORM类型的名称,并将所字段列表作为所述ORM类型的内容,生成与所述处理数据对应的ORM类型。
[0022]所述ORM实现方法,其中,所述字段参数包括字段名称、字段属性,以及字段选项;
[0023]所述字段列表中包括字段名称、字段类型以及所述字段信息。
[0024]所述ORM实现方法,其中,所述方法还包括:
[0025]当检测到针对所述内嵌对象类型的字段信息的处理指令时,将所述处理指定对应的序列数据进行反序列化,得到处理信息;
[0026]针对所述处理指令,对所述处理信息进行处理。
[0027]一种ORM实现装置,其中,具体包括:
[0028]获取模块,用于获取处理数据,其中,所述处理数据的类型为Protobuf类型;
[0029]提取模块,用于提取所述处理数据中的API描述符,并根据所述API描述符提取所述处理数据中的类型描述符和字段描述符;
[0030]确定模块,用于根据所述类型描述符,确定所述处理数据对应的类型名称;
[0031]构造模块,用于根据所述字段描述符,构造所述处理数据对应的字段列表;
[0032]生成模块,用于根据所述类型名称和所述字段列表,生成与所述处理数据对应的ORM类型。
[0033]所述ORM实现装置,所述构造模块具体包括:
[0034]确定单元,用于根据所述字段描述符,确定所述处理数据对应的字段参数;
[0035]构造单元,用于根据所述字段参数以及所述处理数据对应的字段信息,构造与所述处理数据对应的字段列表。
[0036]一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的ORM实现方法中的步骤。
[0037]一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
[0038]所述通信总线实现处理器和存储器之间的连接通信;
[0039]所述处理器执行所述计算机可读程序时实现如上任一所述的ORM实现方法中的步骤。
[0040]有益效果:与现有技术相比,本专利技术提供了一种ORM实现方法及相关设备,所述方法包括获取处理数据,其中,所述处理数据的类型为Protobuf类型;提取所述处理数据中的API描述符,并根据所述API描述符提取所述处理数据中的类型描述符和字段描述符;根据
所述类型描述符,确定所述处理数据对应的类型名称;以及,根据所述字段描述符,构造所述处理数据对应的字段列表;根据所述类型名称和所述字段列表,生成与所述处理数据对应的ORM类型。本专利技术通过分析Protobuf数据类型的自描述信息,获得数据类型的结构信息,并将此作为ORM数据类型的结构,不再需要针对ORM类型做结构转换,提高了针对Protobuf数据类型处理效率。
附图说明
[0041]图1为本专利技术提供的ORM实现方法的第一个流程图。
[0042]图2为本专利技术提供的ORM实现方法的第二个流程图。
[0043]图3为本专利技术提供的ORM实现装置的结构示意图。
[0044]图4为本专利技术提供的终端设备的结构原理图。
具体实施方式
[0045]本专利技术提供一种ORM实现方法及相关设备,为使本专利技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0046]本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ORM实现方法,其特征在于,所述方法包括:获取处理数据,其中,所述处理数据的类型为Protobuf类型;提取所述处理数据中的API描述符,并根据所述API描述符提取所述处理数据中的类型描述符和字段描述符;根据所述类型描述符,确定所述处理数据对应的类型名称;以及,根据所述字段描述符,构造所述处理数据对应的字段列表;根据所述类型名称和所述字段列表,生成与所述处理数据对应的ORM类型。2.根据权利要求1所述ORM实现方法,其特征在于,所述根据所述字段描述符,构造所述处理数据对应的字段列表,具体包括:根据所述字段描述符,确定所述处理数据对应的字段参数;根据所述字段参数以及所述处理数据对应的字段信息,构造与所述处理数据对应的字段列表。3.根据权利要求2所述ORM实现方法,其特征在于,所述根据所述字段参数以及所述处理数据对应的字段信息,构造与所述处理数据对应的字段列表,具体包括:根据所述字段参数以及所述处理数据对应的字段信息,生成初始列表;针对每一个所述字段信息,当该字段信息的数据类型为内嵌对象类型时,将该字段列表中的字段信息进行序列化,得到序列数据;将该字段信息对应的序列数据替换该字段信息在所述初始列表中的位置,得到字段列表。4.根据权利要求1所述ORM实现方法,其特征在于,所述根据所述类型名称和所述字段列表,生成与所述处理数据对应的ORM类型,具体包括:将所述类型名称作为所述ORM类型的名称,并将所字段列表作为所述ORM类型的内容,生成与所述处理数据对应的ORM类型。5.根据权利要求1所述ORM实现方法,其特征在于,所述字段参数包括字段名称、字段属性,以及字段选项;所述字段列表中包括字段名称、...

【专利技术属性】
技术研发人员:刘潭文
申请(专利权)人:深圳市观麦网络科技有限公司
类型:发明
国别省市:

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

1