一种数据处理的方法、装置和存储介质制造方法及图纸

技术编号:24010090 阅读:31 留言:0更新日期:2020-05-02 01:27
本申请公开了一种数据处理的方法、装置和存储介质,具体为在业务代码中确定需要进行处理的事件,并在各个事件中添加自定义注解,根据自定义注解,生成与自定义注解对应的埋点数据信息,其中,埋点数据信息中包括埋点数据信息所在第一位置的信息,基于各个埋点数据信息的第一位置的信息,将第一中间文件添加至与第一位置对应的第二中间文件的第二位置中,并生成包含埋点数据信息和业务代码的Flutter产物。本申请实施例通过在业务代码中添加自定义注解,且自动为业务代码生成埋点数据信息,提升了对业务进行埋点的效率,同时通过添加自定义注解的形式提升了埋点数据信息的数据注入复杂性。

A data processing method, device and storage medium

【技术实现步骤摘要】
一种数据处理的方法、装置和存储介质
本申请涉及互联网
,尤其涉及一种数据处理的方法、装置和存储介质。
技术介绍
Flutter作为一种完全开源的移动UI框架,可以快速的在IOS和安卓Android系统上构建高质量的原生新用户界面。在当前对于Flutter技术的快速推广和使用阶段,为了让Flutter的开发贴近之前的原生开发,并且快速使用之前的原生功能,一方面利用Flutterplugin技术“借用”原生技术,另一方面是实现flutterdart层的基础能力,而目前的app埋点技术并没有在Flutter侧很好的实现类似原生的开发体验,且在Flutter侧的无埋点技术是缺失的,一般只能利用plugin的原生能力实现有埋点技术。目前存在的一种Flutter侧的面向切面编程(AspectOrientedProgramming,AOP)方案,只能手动编写埋点信息逻辑,这与应用无埋点技术的理念相悖。另外,只能涉及部分业务模块,而无埋点方案一般会涉及所有的业务模块。因此,不能实现无埋点的技术细节,且对于不同版本的软件开发工具包(SoftwareDevelopmentKit,SDK),后期也需要用更多的时间做适配,效率较低。
技术实现思路
本申请实施例提供了一种数据处理的方法,克服了在Flutter框架中进行业务埋点的开发效率较低的问题。该方法包括:在业务代码中确定需要进行处理的事件,并在各个所述事件中添加自定义注解;根据所述自定义注解,生成与所述自定义注解对应的埋点数据信息,其中,所述埋点数据信息中包括所述埋点数据信息所在第一位置的信息;基于所述各个埋点数据信息的第一位置的信息,将第一中间文件添加至与所述第一位置对应的第二中间文件的第二位置中,并生成包含所述埋点数据信息和所述业务代码的Flutter产物,其中,所述第一中间文件由所述各个埋点数据信息经过编译后生成,所述第二中间文件由所述业务代码经过编译后生成。可选地,调用预定应用程序编程接口,并监视所述业务代码中的各个所述事件,以在所述业务代码中确定需要添加所述自定义注解的所述事件。可选地,利用源代码生成工具遍历所述业务代码,将各个所述自定义注解转化为对应的所述埋点数据信息,并存储在目标文件中。可选地,在Flutter框架中对各个埋点数据信息进行编译,并生成与各个埋点数据信息对应的所述第一中间文件,其中,所述第一中间文件包括由各个第一节点组成的抽象语法树结构;在Flutter框架中对所述业务代码进行编译,并生成与所述业务代码对应的所述第二中间文件,其中,所述第二中间文件包括由各个第二节点组成的抽象语法树结构;根据所述第一中间文件中包含的各个所述第一位置的信息,遍历所述第二中间文件中的各个所述第二节点,将各个所述第一位置的第一中间文件添加至与所述第一位置相对应的所述第二位置中,生成包含第一中间文件和第二中间文件的第三中间文件,其中,所述第三中间文件包含所述第一中间文件中的所述埋点数据信息和所述第二中间文件中的所述业务代码。在本专利技术的另一个实施例中,提供了一种数据处理的装置,该装置包括:添加模块,用于在业务代码中确定需要进行处理的事件,并在各个所述事件中添加自定义注解;第一生成模块,用于根据所述自定义注解,生成与所述自定义注解对应的埋点数据信息,其中,所述埋点数据信息中包括所述埋点数据信息所在第一位置的信息;第二生成模块,用于基于所述各个埋点数据信息的第一位置的信息,将第一中间文件添加至与所述第一位置对应的第二中间文件的第二位置中,并生成包含所述埋点数据信息和所述业务代码的Flutter产物,其中,所述第一中间文件由所述各个埋点数据信息经过编译后生成,所述第二中间文件由所述业务代码经过编译后生成。可选地,所述添加模块还用于:调用预定应用程序编程接口,并监视所述业务代码中的各个所述事件,以在所述业务代码中确定需要添加所述自定义注解的所述事件。可选地,所述第一生成模块还用于:利用源代码生成工具遍历所述业务代码,将各个所述自定义注解转化为对应的所述埋点数据信息,并存储在目标文件中。可选地,所述第二生成模块包括;第一生成单元,用于在Flutter框架中对各个埋点数据信息进行编译,并生成与各个埋点数据信息对应的所述第一中间文件,其中,所述第一中间文件包括由各个第一节点组成的抽象语法树结构;第二生成单元,用于在Flutter框架中对所述业务代码进行编译,并生成与所述业务代码对应的所述第二中间文件,其中,所述第二中间文件包括由各个第二节点组成的抽象语法树结构;第三生成单元,用于根据所述第一中间文件中包含的各个所述第一位置的信息,遍历所述第二中间文件中的各个所述第二节点,将各个所述第一位置的第一中间文件添加至与所述第一位置相对应的所述第二位置中,生成包含第一中间文件和第二中间文件的第三中间文件,其中,所述第三中间文件包含所述第一中间文件中的所述埋点数据信息和所述第二中间文件中的所述业务代码。在本专利技术的另一个实施例中,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行上述一种数据处理的方法中的各个步骤。在本专利技术的另一个实施例中,提供了一种终端设备,包括处理器,所述处理器用于执行上述一种数据处理的方法中的各个步骤。如上可见,基于上述实施例,首先在业务代码中确定需要进行处理的事件,并在各个事件中添加自定义注解,其次,根据自定义注解,生成与自定义注解对应的埋点数据信息,其中,埋点数据信息中包括埋点数据信息所在第一位置的信息,最后,基于各个埋点数据信息的第一位置的信息,将第一中间文件添加至与第一位置对应的第二中间文件的第二位置中,并生成包含埋点数据信息和业务代码的Flutter产物,其中,第一中间文件由各个埋点数据信息经过编译后生成,第二中间文件由业务代码经过编译后生成。本申请实施例通过在业务代码中添加自定义注解,且自动为业务代码生成埋点数据信息,同时不再必须依赖软件开发工具包(SoftwareDevelopmentKit,SDK)的适配,提升了对业务进行埋点的效率,同时通过添加自定义注解的形式提升了埋点数据信息的数据注入复杂性。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本申请实施例100提供的一种数据处理的方法的流程示意图;图2示出了本申请提供的实施例200提供的一种数据处理的方法的具体流程的示意图;图3示出了本申请实施例300还提供一种数据处理的装置的示意图;图4示出了本申请实施例400所提供的一种终端设备的示意图。具体实施方式下面将结合本申请实施例中的本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n在业务代码中确定需要进行处理的事件,并在各个所述事件中添加自定义注解;/n根据所述自定义注解,生成与所述自定义注解对应的埋点数据信息,其中,所述埋点数据信息中包括所述埋点数据信息所在第一位置的信息;/n基于所述各个埋点数据信息的第一位置的信息,将第一中间文件添加至与所述第一位置对应的第二中间文件的第二位置中,并生成包含所述埋点数据信息和所述业务代码的Flutter产物,其中,所述第一中间文件由所述各个埋点数据信息经过编译后生成,所述第二中间文件由所述业务代码经过编译后生成。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
在业务代码中确定需要进行处理的事件,并在各个所述事件中添加自定义注解;
根据所述自定义注解,生成与所述自定义注解对应的埋点数据信息,其中,所述埋点数据信息中包括所述埋点数据信息所在第一位置的信息;
基于所述各个埋点数据信息的第一位置的信息,将第一中间文件添加至与所述第一位置对应的第二中间文件的第二位置中,并生成包含所述埋点数据信息和所述业务代码的Flutter产物,其中,所述第一中间文件由所述各个埋点数据信息经过编译后生成,所述第二中间文件由所述业务代码经过编译后生成。


2.根据权利要求1所述的方法,其特征在于,所述在业务代码中确定需要进行处理的事件的步骤包括:
调用预定应用程序编程接口,并监视所述业务代码中的各个所述事件,以在所述业务代码中确定需要添加所述自定义注解的所述事件。


3.根据权利要求1所述的方法,其特征在于,所述生成与自定义注解对应的埋点数据信息的步骤包括:
利用源代码生成工具遍历所述业务代码,将各个所述自定义注解转化为对应的所述埋点数据信息,并存储在目标文件中。


4.根据权利要求1所述的方法,其特征在于,所述将各个埋点数据信息对应的经过编译后生成的第一中间文件添加至与所述第一位置对应的所述业务代码经过编译后生成的第二中间文件的第二位置中的步骤包括:
在Flutter框架中对各个埋点数据信息进行编译,并生成与各个埋点数据信息对应的所述第一中间文件,其中,所述第一中间文件包括由各个第一节点组成的抽象语法树结构;
在所述Flutter框架中对所述业务代码进行编译,并生成与所述业务代码对应的所述第二中间文件,其中,所述第二中间文件包括由各个第二节点组成的抽象语法树结构;
根据所述第一中间文件中包含的各个所述第一位置的信息,遍历所述第二中间文件中的各个所述第二节点,将各个所述第一位置的第一中间文件添加至与所述第一位置相对应的所述第二位置中,生成包含第一中间文件和第二中间文件的第三中间文件,其中,所述第三中间文件包含所述第一中间文件中的所述埋点数据信息和所述第二中间文件中的所述业务代码。


5.一种数据处理的装置,其特征在于,包括:
添加模块,用于在业务代码中确定需要进行处理的事件,并在各个所述事件中添加自定义...

【专利技术属性】
技术研发人员:陈康
申请(专利权)人:贝壳技术有限公司
类型:发明
国别省市:天津;12

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

1