插件生成方法、装置、电子设备及计算机可读取存储介质与流程
未命名
10-18
阅读:95
评论:0

1.本技术涉及插件管理技术领域,具体而言,涉及一种插件生成方法、装置、电子设备及计算机可读取存储介质。
背景技术:
2.在自动驾驶行业中,代码质量会对软件系统运行的稳定性造成影响。为了规范上线流程并协调车端、路端、云端等各个业务线对需求从上而下整体对齐,需要标准化各业务线的开发流程,从需求规划、需求拆解、技术设计、编译、打包、提测、部署、审批、验收、关闭等各个环节进行管控。
3.然而,各个业务线集成部署都有定制化部分,定制化部分具有差异性,需要对各个定制化部分进行单独地处理,无法进行统一管控,导致插件开发、维护、处理时的成本较高,还会影响业务的正常运行。
技术实现要素:
4.有鉴于此,本技术实施例的目的在于提供一种插件生成方法、装置、电子设备及计算机可读取存储介质,以改善现有技术中存在的插件无法统一管控的问题。
5.为了解决上述问题,第一方面,本技术实施例提供了一种插件生成方法,所述方法包括:
6.基于自定义规则对初始数据进行预处理,得到目标格式的配置数据;其中,所述初始数据为生成插件所需的相关数据;
7.对所述配置数据进行解析处理,得到渲染数据;
8.根据插件模板对所述渲染数据进行整合,生成目标插件。
9.在上述实现过程中,通过自定义规则对不同插件的初始数据进行统一的预处理,以得到格式相同的配置数据,从而在配置数据的基础上进行解析、渲染、与模板进行整合等处理,生成相应的目标插件。能够消除不同业务端、不同功能的插件之间定制化部分的差异性,以实现统一的管控处理,提高了代码的质量和开发效率,从而提高插件的生成效率和可维护性,有效地节省插件开发、维护时的成本,有利于业务的正常运行。
10.可选地,所述基于自定义规则对初始数据进行预处理,得到目标格式的配置数据,包括:
11.根据业务需求设置所述自定义规则;
12.提取所述初始数据的特征信息;其中,所述特征信息包括行为信息和属性信息;
13.基于所述自定义规则对所述特征信息进行描述,得到描述数据;
14.基于所述目标格式对所述描述数据进行格式转换,得到所述配置数据。
15.在上述实现过程中,可以根据各个端对插件的业务需求设置或修改相应的自定义规则,并提取初始数据中的特征信息,采用自定义规则对特征信息进行描述并进行格式转换,得到统一的目标格式的配置数据。能够对数据进行统一的预处理,从而对不同类型的数
据进行一致化地描述和格式转换处理,得到便于统一管理的配置数据,消除了不同数据之间的差异性,提高了配置数据的普适性和可用性。
16.可选地,所述对所述配置数据进行解析处理,得到渲染数据,包括:
17.对所述配置数据是否正确进行校验;
18.若所述配置数据校验正确,则对所述配置数据进行解析,得到解析数据;
19.基于所述解析数据进行渲染,得到所述渲染数据。
20.在上述实现过程中,为了保证配置数据的正确性,可以先对配置数据是否正确进行校验,并在校验正确的情况下再对配置数据进行解析,从而减少解析错误数据的情况,再对解析得到的解析数据进行渲染,以将其中的属性和行为映射为相应的渲染数据。通过对预处理得到的配置数据进行验证、解析以及渲染等多种处理,从而得到相应的渲染数据,有效地提高了渲染数据的有效性和准确性。
21.可选地,所述对所述配置数据进行解析,得到解析数据,包括:
22.确定所述配置数据的目标节点类型;
23.基于所述目标节点类型选择对应的渲染器对所述配置数据进行解析,得到识别数据;
24.根据所述渲染器对应的识别格式对所述识别数据进行格式转换,得到所述解析数据。
25.在上述实现过程中,由于不同插件相关的配置数据具有不同的特性,为了对不同特性的配置数据进行针对性地解析,可以先确定配置数据的目标节点类型,从而根据目标节点类型选择对应的渲染器对配置数据进行解析处理,得到相应的识别数据。并且,为了保证解析数据的格式的统一性,还可以根据渲染器可识别的识别格式对识别数据进行格式转换,以获取相应的解析数据。能够根据配置数据的特性选择相应的渲染器进行解析处理,提高了解析数据的有效性和准确性,从而提高渲染数据的有效性和准确性。
26.可选地,其中,所述插件模板通过以下方式生成:
27.确定运行插件的运行组件的配置需求;
28.确定多个插件之间的执行顺序;
29.基于所述配置需求、所述执行顺序和所述运行组件对应的组件模板生成所述插件模板。
30.在上述实现过程中,可以先根据运行组件的实际使用情况,确定运行组件的配置需求和多个插件之间的执行顺序,从而根据配置需求、执行顺序和运行组件对应的初始的组件模板进行组装,得到完整的插件模板。能够根据运行组件中实际的运行需求和情况生成或调整得到相应的插件模板,有效地提高了插件模板的实用性和匹配度。
31.可选地,根据插件模板对所述渲染数据进行整合,生成目标插件,包括:
32.将所述渲染数据整合到所述插件模板中,得到初始插件;
33.确定插件执行所需的插件参数;
34.将所述插件参数代入所述初始插件中,得到所述目标插件。
35.在上述实现过程中,在进行整合时,可以现将渲染数据插入到相应的插件模板中,以整合得到初始插件,并确定执行插件式所需的插件参数,以将插件参数代入初始插件中,生成可使用的目标插件。通过模板整合的方式代入相应的渲染数据以及插件参数,有效地
提高了目标插件的生成效率和可维护性,节省了插件的开发成本和维护成本。
36.可选地,其中,所述初始数据通过以下方式获取:
37.获取运行插件的运行组件的插件生成需求;
38.基于所述插件生成需求,获取相应的所述初始数据。
39.在上述实现过程中,可以根据运行插件的运行组件对应的插件生成需求进行数据采集,以获取相应的生成插件所需的相关数据作为初始数据。能够根据需求获取相应的数据进行处理,减少了无关数据对插件生成造成的不利影响,并减小了数据处理成本。
40.第二方面,本技术实施例还提供了一种插件生成装置,所述装置包括:预处理模块、解析模块和整合模块;
41.所述预处理模块用于基于自定义规则对初始数据进行预处理,得到目标格式的配置数据;其中,所述初始数据为生成插件所需的相关数据;
42.所述解析模块用于对所述配置数据进行解析处理,得到渲染数据;
43.所述整合模块用于根据插件模板对所述渲染数据进行整合,生成目标插件。
44.在上述实现过程中,通过预处理模块基于自定义规则对不同插件的初始数据进行统一的预处理,以得到格式相同的配置数据,通过解析模块对配置数据进行解析和渲染,以得到相应的渲染数据,通过整合模块将插件模板与渲染数据进行整合,以生成所需的目标插件。
45.第二方面,本技术实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述插件生成方法中任一实现方式中的步骤。
46.本技术实施例还提供了一种计算机可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述插件生成方法中任一实现方式中的步骤。
47.综上所述,本技术实施例提供了一种插件生成方法、装置、电子设备及计算机可读取存储介质,通过自定义规则对不同插件的初始数据进行统一的预处理,并在预处理的基础上进行解析、渲染、与模板进行整合等处理,生成相应的目标插件。能够消除不同业务端、不同功能的插件之间定制化部分的差异性,以实现统一的管控处理,提高了代码的质量和开发效率,从而提高插件的生成效率和可维护性,有效地节省插件开发、维护时的成本,有利于业务的正常运行。
附图说明
48.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
49.图1为本技术实施例提供的一种电子设备的方框示意图;
50.图2为本技术实施例提供的一种插件生成方法的流程示意图;
51.图3为本技术实施例提供的一种步骤s200的详细流程示意图;
52.图4为本技术实施例提供的一种步骤s300的详细流程示意图;
53.图5为本技术实施例提供的一种步骤s320的详细流程示意图;
54.图6为本技术实施例提供的一种步骤s400的详细流程示意图;
55.图7为本技术实施例提供的一种插件生成装置的结构示意图。
56.图标:100-电子设备;111-存储器;112-存储控制器;113-处理器;114-外设接口;115-输入输出单元;116-显示单元;500-插件生成装置;510-预处理模块;520-解析模块;530-整合模块。
具体实施方式
57.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术实施例的一部分实施例,而不是全部的实施例。基于本技术实施例的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术实施例保护的范围。
58.在自动驾驶行业中,代码质量会对软件系统运行的稳定性造成影响。为了规范上线流程并协调车端、路端、云端等各个业务线对需求从上而下整体对齐,需要标准化各业务线的开发流程,从需求规划、需求拆解、技术设计、编译、打包、提测、部署、审批、验收、关闭等各个环节进行管控。例如,可以生成对地图进行打包、解压、展示等多种功能的插件,以满足用户的多种驾驶需求。
59.然而,各个业务线集成部署都有定制化部分,例如,路端设备可以为用户使用的手机等移动终端设备,而不同的移动终端设备的数据处理方式具有差异性,且不同功能的插件所使用的数据、对数据的处理方式也具有差异性,从而导致定制化部分具有差异性。因此,现有技术中,为了对多种插件进行管理,需要对各个定制化部分进行单独地处理,无法进行统一管控,导致插件开发、维护、处理时的成本较高,还会影响业务的正常运行。
60.为了解决上述问题,本技术实施例提供了一种插件生成方法,应用于服务器、个人电脑(personal computer,pc)、平板电脑、智能手机、个人数字助理(personal digital assistant,pda)、车载系统等具有逻辑计算功能的电子设备,能够以插件中台化对插件化构架进行抽象处理,以抽象出不同设备、不同插件中共性和个性的任务,并在整个软件生命周期中实现标准化地插件生成。
61.需要说明的是,电子设备可以为云端、车端、路端中的设备,例如,电子设备可以为云端的服务器,也可以为车端中的车载控制系统,还可以为路端的用户的手机等,以服务于云端业务、车端业务以及路端业务,满足不同应用场景的插件需求。
62.可选地,请参阅图1,图1为本技术实施例提供的一种电子设备的方框示意图。电子设备100可以包括存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、显示单元116。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子设备100的结构造成限定。例如,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
63.上述的存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115及显示单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
64.其中,存储器111可以是,但不限于,随机存取存储器(random access memory,简称ram),只读存储器(read only memory,简称rom),可编程只读存储器(programmable read-only memory,简称prom),可擦除只读存储器(erasable programmable read-only memory,简称eprom),电可擦除只读存储器(electric erasable programmable read-only memory,简称eeprom)等。其中,存储器111用于存储程序,处理器113在接收到执行指令后,执行程序,本技术实施例任一实施例揭示的过程定义的电子设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
65.上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器,也可以是任何常规的处理器等。
66.可选地,处理器113中可以设置有相应的插件控制器,插件控制器中可以包含三部分:内核、渲染器和解析器,从而实现三层架构,即数据层、视图层和控制层的处理方式。其中,内核可以遵循特定dsl和规则协议的json数据,包含了view和model等数据,渲染器对应的引擎能够基于ui框架的渲染器,完成视图渲染,解析器可以包含数据和控制,渲染器负责视图。通过解析器和渲染器将ui和数据模型完全隔离,不依赖任务上层渲染框架,支持react、vue、ng等多种框架,实现相应的自主生成功能。
67.上述的外设接口114将各种输入/输出装置耦合至处理器113以及存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
68.上述的输入输出单元115用于提供给用户输入数据。输入输出单元115可以是,但不限于,鼠标和键盘等。
69.上述的显示单元116在电子设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。在本技术实施例中,显示单元116可以显示插件的名称、属性、展示界面等多种数据。
70.本实施例中的电子设备可以用于执行本技术实施例提供的各个插件生成方法中的各个步骤。下面通过几个实施例详细描述插件生成方法的实现过程。
71.请参阅图2,图2为本技术实施例提供的一种插件生成方法的流程示意图,该方法可以包括步骤s200-s400。
72.步骤s200,基于自定义规则对初始数据进行预处理,得到目标格式的配置数据。
73.其中,自定义规则可以为多种语言编码规则,例如,自定义规则可以为schema规则,schema规则是自定义的一套规范,内容丰富,包含的数据层和视图层信息以及作用域等内容的规则。初始数据为生成插件所需的相关数据,初始数据中可以包括运行插件的运行
组件的相关数据,以及与插件相关的其他数据。通过自定义规则对不同插件的初始数据进行统一的预处理,能够得到格式相同的配置数据。
74.可选地,获取配置数据后,可以将配置数据存储在数据库中以待使用。配置数据中可以包括插件种类、插件名称、包名、应用名称、分支等多种不同类型的数据,目标格式可以为json数据格式,以便于进行存储和调用。
75.需要说明的是,初始数据可以通过以下方式获取:获取运行插件的运行组件的插件生成需求;基于插件生成需求,获取相应的初始数据。初始数据可以来源于不同的业务端,可以根据运行插件的运行组件对应的插件生成需求,基于通信连接或数据接口进行数据采集,以获取相应的生成插件所需的相关数据作为初始数据。能够根据需求获取相应的数据进行处理,减少了无关数据对插件生成造成的不利影响,并减小了数据处理成本。
76.步骤s300,对配置数据进行解析处理,得到渲染数据。
77.其中,可以通过数据接口,在数据库中查询得到相应的配置数据,在配置数据的基础上进行解析、渲染等处理,以得到相应的渲染数据。
78.可选地,渲染数据可以为渲染视图数据。
79.步骤s400,根据插件模板对渲染数据进行整合,生成目标插件。
80.其中,为了提高插件的生成效率,以实现流程化的插件生成功能,可以预设相应的插件模板,从而将渲染数据与对应的插件模板进行整合,生成实例化的可使用的目标插件。
81.需要说明的是,电子设备中能够同时生成多个不同业务端、不同功能的目标插件,以实现插件中台化的功能,支撑多种不同业务端以及不同类型的业务功能。
82.可选地,生成的目标插件中,可以包括目标插件的插件名称、插件种类、任务名称、包名、处理模式、指令内容,例如dockerfile内容,迭代名称、迭代版本、提交名称、分支信息、产物信息等多种信息,可以生成相应的ui界面对多种数据进行展示以及选择。并且,在目标插件的实行过程中,还可以对每个阶段目标插件的执行状态、过程日志、执行结果、审批状态等数据进行采集和推送,以对目标插件的执行过程进行监管。
83.需要说明的是,插件模板可以为相应的数据框架,插件模板可以通过以下方式预先生成:确定运行插件的运行组件的配置需求;确定多个插件之间的执行顺序;基于配置需求、执行顺序和运行组件对应的组件模板生成插件模板。可以先根据运行组件的实际使用情况,确定运行组件的配置需求和多个插件之间的执行顺序。示例地,可以基于用户或管理人员与云端、车端或路端设备进行交互时所选择的当前所需的阶段和插件情况,获取相应的配置需求,并根据用户的实际需求,或多个插件之间的属性规则等确定具有多个插件时多个插件之间的执行顺序,执行顺序可以包括串行顺序和并行顺序。并且,由于不同业务端的设备中运行插件的运行组件之间的差异性,还可以先根据不同的运行组件设置相应的组件模板,组件模板也可以为相应的数据框架,从而根据配置需求、执行顺序和运行组件对应的初始的组件模板进行组装或修改,得到完整的插件模板。能够根据运行组件中实际的运行需求和情况生成或调整得到相应的插件模板,有效地提高了插件模板的实用性和匹配度。
84.在图2所示的实施例中,能够消除不同业务端、不同功能的插件之间定制化部分的差异性,以实现统一的管控处理,提高了代码的质量和开发效率,从而提高插件的生成效率和可维护性,有效地节省插件开发、维护时的成本,有利于业务的正常运行。
85.可选地,请参阅图3,图3为本技术实施例提供的一种步骤s200的详细流程示意图,步骤s200中可以包括步骤s210-s240。
86.步骤s210,根据业务需求设置自定义规则。
87.其中,可以根据获取不同业务端中不同功能的插件对应的业务需求,以根据业务需求选择合适的语言规则作为自定义规则,还可以对语言规则进行修改和调整,以满足不同的业务场景。
88.步骤s220,提取初始数据的特征信息。
89.其中,特征信息包括行为信息和属性信息,行为信息中可以包括相关的文本内容、字符信息等多种类型的信息,属性信息中可以包括名称、时间、数据格式等多种类型的信息。
90.步骤s230,基于自定义规则对特征信息进行描述,得到描述数据。
91.其中,可以采用统一的自定义规则对特征信息进行描述,以得到符合自定义规则的描述数据,除插件之间的差异性,提高插件的可配置性和可扩展性。
92.步骤s240,基于目标格式对描述数据进行格式转换,得到配置数据。
93.其中,由于初始数据可以包括不同业务端中的不同类型的多种数据,因此,为了保证数据格式的统一性,可以对描述数据进行格式转换,得到目标格式的配置数据,从而统一数据格式,便于后续处理。
94.在图3所示的实施例中,能够对数据进行统一的预处理,从而对不同类型的数据进行一致化地描述和格式转换处理,得到便于统一管理的配置数据,消除了不同数据之间的差异性,提高了配置数据的普适性和可用性。
95.可选地,请参阅图4,图4为本技术实施例提供的一种步骤s300的详细流程示意图,步骤s300中可以包括步骤s310-s330。
96.步骤s310,对配置数据是否正确进行校验。
97.其中,为了保证配置数据的正确性,可以先对配置数据是否正确进行校验。
98.可选地,在配置数据校验错误时,可以生成相应的提示信息对数据错误的情况进行提示,以对数据进行修改,以便于生成相应的目标插件。
99.步骤s320,若配置数据校验正确,则对配置数据进行解析,得到解析数据。
100.其中,在校验正确的情况下,再对配置数据进行解析,从而减少解析错误数据的情况,提高解析得到的解析数据的准确性。
101.步骤s330,基于解析数据进行渲染,得到渲染数据。
102.其中,可以通过渲染器的引擎基于ui框架的渲染器,通过数据驱动视图对解析得到的解析数据进行渲染,以将解析数据中的属性和行为映射为相应的渲染数据。采用mvc分层模式,将数据和视图解耦,修改描述文件以实现多种插件任务,所有插件由一份代码进行加载、解析、渲染完成,节省开发和维护成本,能够满足多种类型的业务需求。
103.在图4所示的实施例中,通过对预处理得到的配置数据进行验证、解析以及渲染等多种处理,从而得到相应的渲染数据,有效地提高了渲染数据的有效性和准确性。
104.可选地,请参阅图5,图5为本技术实施例提供的一种步骤s320的详细流程示意图,步骤s320中可以包括步骤s321-s323。
105.步骤s321,确定配置数据的目标节点类型。
106.其中,由于不同插件相关的配置数据具有不同的特性,为了对不同特性的配置数据进行针对性地解析,可以先确定配置数据的目标节点类型。可选地,由于配置数据为json格式的数据,因此,可以遍历json节点,以确定相应的目标节点类型。
107.步骤s322,基于目标节点类型选择对应的渲染器对配置数据进行解析,得到识别数据。
108.其中,为了根据不同类型的数据进行针对性地解析,可以通过渲染引擎创建多个不同类型的渲染器,以根据目标节点类型,在多个不同渲染器中选择对应的渲染器对配置数据进行解析,例如,遇到props中的components时,可以调用ui渲染器去解析,在遍历完整个配置数据的所有json节点之后,可以形成了页面映射关系的虚拟dom树,可以调用渲染器对应的引擎完成解析,得到相应的识别数据。
109.步骤s323,根据渲染器对应的识别格式对识别数据进行格式转换,得到解析数据。
110.其中,为了保证解析数据的格式的统一性,还可以根据渲染器对应的引擎,例如javascript引擎可识别的识别格式对识别数据进行格式转换,以获取相应的解析数据。可选地,识别格式也可以设置为与目标格式相同的json数据格式或其他数据格式,在识别格式与目标格式相同的情况下,可以省去格式转换步骤,直接获取解析数据。
111.在图5所示的实施例中,能够根据配置数据的特性选择相应的渲染器进行解析处理,提高了解析数据的有效性和准确性,从而提高渲染数据的有效性和准确性。
112.可选地,请参阅图6,图6为本技术实施例提供的一种步骤s400的详细流程示意图,步骤s400中可以包括步骤s410-s430。
113.步骤s410,将渲染数据整合到插件模板中,得到初始插件。
114.其中,在进行整合时,可以现将渲染数据插入到相应的插件模板中,以整合得到初始插件。
115.步骤s420,确定插件执行所需的插件参数。
116.其中,由于运行组件执行插件时的情况各不相同,因此,可以先获取插件执行时所需的多种类型的插件参数,例如,在地图打包插件中,可以先获取地图的名称、类型等信息作为插件参数。
117.步骤s430,将插件参数代入初始插件中,得到目标插件。
118.其中,将插件参数代入初始插件中,从而生成可使用的目标插件,完成流程化的插件生成任务。
119.需要说明的是,在插件的使用过程中,云端、车端或路端的业务端设备中可以生成相应的插件管理页面,以对执行的一个或多个插件进行查看和管理。
120.在图6所示的实施例中,通过模板整合的方式代入相应的渲染数据以及插件参数,有效地提高了目标插件的生成效率和可维护性,节省了插件的开发成本和维护成本。
121.请参阅图7,图7为本技术实施例提供的一种插件生成装置的结构示意图,插件生成装置500中可以包括:预处理模块510、解析模块520和整合模块530;
122.预处理模块510用于基于自定义规则对初始数据进行预处理,得到目标格式的配置数据;其中,初始数据为生成插件所需的相关数据;
123.解析模块520用于对配置数据进行解析处理,得到渲染数据;
124.整合模块530用于根据插件模板对渲染数据进行整合,生成目标插件。
125.在一可选的实施方式中,预处理模块510具体用于:根据业务需求设置自定义规则;提取初始数据的特征信息;其中,特征信息包括行为信息和属性信息;基于自定义规则对特征信息进行描述,得到描述数据;基于目标格式对描述数据进行格式转换,得到配置数据。
126.在一可选的实施方式中,解析模块520中还可以包括校验子模块、解析子模块和渲染子模块;
127.校验子模块用于对配置数据是否正确进行校验;
128.若配置数据校验正确,解析子模块用于对配置数据进行解析,得到解析数据;
129.渲染子模块用于基于解析数据进行渲染,得到渲染数据。
130.在一可选的实施方式中,解析子模块具体用于:确定配置数据的目标节点类型;基于目标节点类型选择对应的渲染器对配置数据进行解析,得到识别数据;根据渲染器对应的识别格式对识别数据进行格式转换,得到解析数据。
131.在一可选的实施方式中,插件生成装置500中还可以包括模板生成模块,用于确定运行插件的运行组件的配置需求;确定多个插件之间的执行顺序;基于配置需求、执行顺序和运行组件对应的组件模板生成插件模板。
132.在一可选的实施方式中,整合模块530具体用于:将渲染数据整合到插件模板中,得到初始插件;确定插件执行所需的插件参数;将插件参数代入初始插件中,得到目标插件。
133.在一可选的实施方式中,插件生成装置500中还可以包括采集模块,用于获取运行插件的运行组件的插件生成需求;基于插件生成需求,获取相应的初始数据。
134.由于本技术实施例中的插件生成装置500解决问题的原理与前述的插件生成方法的实施例相似,因此本实施例中的插件生成装置500的实施可以参见上述插件生成方法的实施例中的描述,重复之处不再赘述。
135.本技术实施例还提供了一种计算机可读取存储介质,可读取存储介质中存储有计算机程序指令,计算机程序指令被一处理器读取并运行时,执行本实施例提供的插件生成方法中任一项方法中的步骤。
136.在本技术所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本技术的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
137.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
138.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说
对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
139.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
140.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
141.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
技术特征:
1.一种插件生成方法,其特征在于,所述方法包括:基于自定义规则对初始数据进行预处理,得到目标格式的配置数据;其中,所述初始数据为生成插件所需的相关数据;对所述配置数据进行解析处理,得到渲染数据;根据插件模板对所述渲染数据进行整合,生成目标插件。2.根据权利要求1所述的方法,其特征在于,所述基于自定义规则对初始数据进行预处理,得到目标格式的配置数据,包括:根据业务需求设置所述自定义规则;提取所述初始数据的特征信息;其中,所述特征信息包括行为信息和属性信息;基于所述自定义规则对所述特征信息进行描述,得到描述数据;基于所述目标格式对所述描述数据进行格式转换,得到所述配置数据。3.根据权利要求1所述的方法,其特征在于,所述对所述配置数据进行解析处理,得到渲染数据,包括:对所述配置数据是否正确进行校验;若所述配置数据校验正确,则对所述配置数据进行解析,得到解析数据;基于所述解析数据进行渲染,得到所述渲染数据。4.根据权利要求3所述的方法,其特征在于,所述对所述配置数据进行解析,得到解析数据,包括:确定所述配置数据的目标节点类型;基于所述目标节点类型选择对应的渲染器对所述配置数据进行解析,得到识别数据;根据所述渲染器对应的识别格式对所述识别数据进行格式转换,得到所述解析数据。5.根据权利要求1所述的方法,其特征在于,其中,所述插件模板通过以下方式生成:确定运行插件的运行组件的配置需求;确定多个插件之间的执行顺序;基于所述配置需求、所述执行顺序和所述运行组件对应的组件模板生成所述插件模板。6.根据权利要求1所述的方法,其特征在于,根据插件模板对所述渲染数据进行整合,生成目标插件,包括:将所述渲染数据整合到所述插件模板中,得到初始插件;确定插件执行所需的插件参数;将所述插件参数代入所述初始插件中,得到所述目标插件。7.根据权利要求1-6中任一项所述的方法,其特征在于,其中,所述初始数据通过以下方式获取:获取运行插件的运行组件的插件生成需求;基于所述插件生成需求,获取相应的所述初始数据。8.一种插件生成装置,其特征在于,所述装置包括:预处理模块、解析模块和整合模块;所述预处理模块用于基于自定义规则对初始数据进行预处理,得到目标格式的配置数据;其中,所述初始数据为生成插件所需的相关数据;所述解析模块用于对所述配置数据进行解析处理,得到渲染数据;
所述整合模块用于根据插件模板对所述渲染数据进行整合,生成目标插件。9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器运行所述程序指令时,执行权利要求1-7中任一项所述方法中的步骤。10.一种计算机可读取存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-7任一项所述方法中的步骤。
技术总结
本申请提供一种插件生成方法、装置、电子设备及计算机可读取存储介质,涉及插件管理技术领域。该方法包括:基于自定义规则对初始数据进行预处理,得到目标格式的配置数据;其中,初始数据为生成插件所需的相关数据;对配置数据进行解析处理,得到渲染数据;根据插件模板对渲染数据进行整合,生成目标插件。通过自定义规则对不同插件的数据进行统一的预处理,以得到格式相同的配置数据,从而在配置数据的基础上进行解析、渲染、整合等处理,生成相应的目标插件,能够消除不同业务端、不同功能的插件之间定制化部分的差异性,以实现统一的管控处理,有效地节省插件开发、维护时的成本,有利于业务的正常运行。业务的正常运行。业务的正常运行。
技术研发人员:尉安东 闫奎 邓攀
受保护的技术使用者:蘑菇车联信息科技有限公司
技术研发日:2023.07.13
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/