客户端源文件处理方法、装置、可读介质与电子设备制造方法及图纸

技术编号:24852398 阅读:27 留言:0更新日期:2020-07-10 19:06
本公开涉及一种客户端源文件处理方法、装置、可读介质与电子设备,包括获取客户端源文件,源文件中包括标有第一注解的多个数据类和标有第二注解的多个字段,第一注解和第二注解中分别包括目标数据描述语言中的目标类和目标字段;在源文件的注解处理期间,根据第一注解和第二注解,分别为每个标有第一注解的数据类生成对应的辅助类,辅助类中包括与数据类对应的解码方法,解码方法能够对与数据类对应的、以目标数据描述语言描述的目标数据解码,以使客户端识别目标数据。研发人员在对客户端进行目标数据描述语言适配时,只需要在客户端源文件中的相关数据类与相关字段中添加指定的注解即可,提升了研发效率,简化了目标数据描述语言的适配工作。

【技术实现步骤摘要】
客户端源文件处理方法、装置、可读介质与电子设备
本公开涉及数据处理
,具体地,涉及一种客户端源文件处理方法、装置、可读介质与电子设备。
技术介绍
ProtocolBuffers,简称ProtoBuf,是一种数据描述语言,能够将结构化数据序列化,可用于数据存储、通信协议等方面,由于它是一种二进制的格式,在数据交换方便具有优势,因此常用于分布式应用之间的数据通信或者异构环境下的数据交换,可以用于诸如网络传输、配置文件、数据存储等诸多领域。目前,由于为加速网络请求,节省流量,通常需要将客户端与服务器之间的高频网络请求使用Protobuf格式的应答数据进行返回,但目前客户端与服务器之间的数据传输通常使用的是例如JSON格式来进行,因此,需要对客户端的现有结构体进行一定的处理,以使得客户端能够实现使用Protobuf格式的数据与服务器之间进行数据传输。
技术实现思路
提供该
技术实现思路
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
技术实现思路
部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。第一方面,本公开提供一种客户端源文件的处理方法,所述方法包括:获取客户端源文件,所述源文件中包括标有第一注解的多个数据类和标有第二注解的多个字段,所述第一注解和所述第二注解中分别包括目标数据描述语言中的目标类和目标字段,所述第一注解用于表征标有所述第一注解的所述数据类与所述第一注解中的所述目标类相对应,所述第二注解用于表征标有所述第二注解的字段与所述第二注解中的所述目标字段相对应;在所述源文件的注解处理期间,根据所述第一注解和所述第二注解,分别为每个标有所述第一注解的数据类生成对应的辅助类,所述辅助类中包括与所述数据类对应的解码方法,所述解码方法能够对与所述数据类对应的、以所述目标数据描述语言描述的目标数据解码,以使所述客户端识别所述目标数据。第二方面,本公开还提供一种客户端源文件的处理装置,所述装置包括:获取模块,用于获取客户端源文件,所述源文件中包括标有第一注解的多个数据类和标有第二注解的多个字段,所述第一注解和所述第二注解中分别包括目标数据描述语言中的目标类和目标字段,所述第一注解用于表征标有所述第一注解的所述数据类与所述第一注解中的所述目标类相对应,所述第二注解用于表征标有所述第二注解的字段与所述第二注解中的所述目标字段相对应;处理模块,用于在所述源文件的注解处理期间,根据所述第一注解和所述第二注解,分别为每个标有所述第一注解的数据类生成对应的辅助类,所述辅助类中包括与所述数据类对应的解码方法,所述解码方法能够对与所述数据类对应的、以所述目标数据描述语言描述的目标数据解码,以使所述客户端识别所述目标数据。第三方面,本公开还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面中所述方法的步骤。第四方面,本公开还提供一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面中所述方法的步骤。通过上述技术方案,研发人员在对客户端进行目标数据描述语言适配时,只需要在客户端源文件中的相关数据类与相关字段中添加指定的注解即可,在对客户端源文件编译前的注解处理过程中,根据相关数据类和相关字段的注解即可自动生成用于适配目标数据描述语言的辅助类,这样能够大大提升研发效率,大幅简化目标数据描述语言的适配工作,且自动生成的辅助类代码量小,不会过多影响客户端安装包的大小,另外,由于是自动对该辅助类进行生成,因此大大降低了由于人工手动生成而出现逻辑错误的概率。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:图1是根据本公开一示例性实施例示出的一种客户端源文件的处理方法的流程图。图2是根据本公开一示例性实施例示出的一种客户端源文件中模块间的依赖关系的示意图。图3是根据本公开又一示例性实施例示出的一种客户端源文件的处理方法的流程图。图4是根据本公开又一示例性实施例示出的一种客户端源文件的处理方法的流程图。图5是根据本公开一示例性实施例示出的一种客户端源文件的处理装置的结构框图。图6示出了适于用来实现本公开实施例的电子设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。图1是根据本公开一示例性实施例示出的一种客户端源文件的处理方法的流程图。如图1所示,所述方法包括步骤101和步骤102。在步骤101中,获取客户端源文件,所述源文件中包括标有第一注解的多个数据类和标有第二注解的多个字段。其中,所述第一注解和所述第二注解中分别包括目标数据描述语言中的目标类和目标字段,所述第一注解用于表征标有所述第一注解的所述数据类与所述第一注解中的所述目标类相对应,所述第二注解用于表征标有所述第二注解的字段与所述第二注解中的所述目标字段相对应。该数据类可以是POJO(PlainOrdinaryJavaObject)类。该第一注解和该第二注解的注解名可以为任意预先定义好的注解名。其中,该第一注解和第二注解可以为自定义的注解,也可以使用能够实现相同功能的已存在的现有注解,本公开中对该第一注解和第二注解的具体形式不做本文档来自技高网...

【技术保护点】
1.一种客户端源文件的处理方法,其特征在于,所述方法包括:/n获取客户端源文件,所述源文件中包括标有第一注解的多个数据类和标有第二注解的多个字段,所述第一注解和所述第二注解中分别包括目标数据描述语言中的目标类和目标字段,所述第一注解用于表征标有所述第一注解的所述数据类与所述第一注解中的所述目标类相对应,所述第二注解用于表征标有所述第二注解的字段与所述第二注解中的所述目标字段相对应;/n在所述源文件的注解处理期间,根据所述第一注解和所述第二注解,分别为每个标有所述第一注解的数据类生成对应的辅助类,所述辅助类中包括与所述数据类对应的解码方法,所述解码方法能够对与所述数据类对应的、以所述目标数据描述语言描述的目标数据解码,以使所述客户端识别所述目标数据。/n

【技术特征摘要】
1.一种客户端源文件的处理方法,其特征在于,所述方法包括:
获取客户端源文件,所述源文件中包括标有第一注解的多个数据类和标有第二注解的多个字段,所述第一注解和所述第二注解中分别包括目标数据描述语言中的目标类和目标字段,所述第一注解用于表征标有所述第一注解的所述数据类与所述第一注解中的所述目标类相对应,所述第二注解用于表征标有所述第二注解的字段与所述第二注解中的所述目标字段相对应;
在所述源文件的注解处理期间,根据所述第一注解和所述第二注解,分别为每个标有所述第一注解的数据类生成对应的辅助类,所述辅助类中包括与所述数据类对应的解码方法,所述解码方法能够对与所述数据类对应的、以所述目标数据描述语言描述的目标数据解码,以使所述客户端识别所述目标数据。


2.根据权利要求1所述的方法,其特征在于,所述源文件中包括多个模块,各个所述模块之间存在一层或多层依赖关系,在所述依赖关系中,被依赖的为下层模块,依赖其他模块的为上层模块,其中,
所述在所述源文件的注解处理期间,根据所述第一注解和所述第二注解,分别为每个标有所述第一注解的数据类生成对应的辅助类,包括:
在已经为所述上层模块所依赖的所有下层模块中的所有标有所述第一注解的数据类生成辅助类的情况下,根据所述上层模块中的所述第一注解和所述第二注解,为所述上层模块中标有所述第一注解的数据类生成对应的辅助类。


3.根据权利要求2所述的方法,其特征在于,所述在所述源文件的注解处理期间,根据所述第一注解和所述第二注解,分别为每个标有所述第一注解的数据类生成对应的辅助类,还包括:
在为所述模块中标有所述第一注解的数据类生成对应的辅助类之前,收集所述模块内的所有所述第一注解和所述第二注解。


4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
在对所述模块中标有所述第一注解的所有数据类生成对应的辅助类之后,将所述模块中生成的所有所述辅助类注入与所述模块对应的集合类中,所述集合类中包括所述模块中的所有所述辅助类分别与所述数据类之间的对应关系。


5.根据权利要求4所述的方法,其特征在于,所述源文件中的多个所述模块中,未被其他模块依赖的为顶层模块,所述方法还包括:
在将所述顶层模块中生成的...

【专利技术属性】
技术研发人员:章天野
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

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

1