一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分层调用方法、系统、设备及存储介质与流程

2021-12-07 21:08:00 来源:中国专利 TAG:


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.图1为本发明实施例的分层调用方法的流程图;
48.图2为图1中步骤s200的流程图。
49.图3为图1中步骤s300的流程图。
50.图4为图1中步骤s400的流程图。
51.图5为本发明另一实施例的分层调用方法的部分流程图。
52.图6为本发明实施例的分层调用系统的结构示意图。
53.附图标记:100、底层方法解析模块;200、底层方法构建模块;300、服务层模块;400、底层方法调用模块。
具体实施方式
54.下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
55.在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
56.在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
57.本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
58.本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
59.上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
60.第一方面,参照图1,本发明实施例提供了一种分层调用方法,包括:
61.s100,获取已编写的底层文件,其中,已编写的底层文件包括底层方法;
62.s200,对底层文件进行解析,生成解析文件,并根据解析文件生成底层方法列表;
63.s300,根据底层方法列表,生成第一接口文件;
64.s400,根据第一接口文件,创建第二接口文件,以通过第二接口文件对底层方法跨进程调用。
65.在对底层方法进行调用时,首先获取底层文件,并对底层文件进行解析,生成解析文件。其中,解析文件中包含被获取到的规范化的底层方法列表。通过读取底层方法列表,可以创建中间层的第一接口文件,第一接口文件可以在本方法内部进行读取和调用。根据读取到的第一接口文件,创建中间层第二接口文件。第二接口文件可以跨进程调用,即对第
二接口文件的调用可以不局限于本方法内部,也在其他方法的上层方法中调用第二接口文件以实现对底层方法的调用。该方法实现了在底层方法数量较多或者底层方法繁杂时,通过将底层方法分层设计,并产生与底层方法对应的接口文件以实现层层调用,达到在调用底层方法时只需通过调取对应底层方法的第二接口文件即可实现跨进程的底层方法调用的效果,提高对所需要的底层方法的获取效率。
66.在一些具体的实施例中,底层文件可以是包含底层方法的c语言程序,也可以是其它,不做限制。
67.参照图2,在一些实施例中,步骤s200包括:
68.s210,调用预设的解析脚本,并根据解析脚本对底层文件进行解析,生成解析文件;
69.s220,根据解析文件,生成底层方法列表。
70.通过本发明实施例提供的分层调用方法,可以根据预设的解析脚本对底层文件进行解析,生成解析文件,从而根据解析文件获取对应底层方法的底层方法列表。在一些具体的实施例中,可以采用python脚本文件中的库文件(例如,pycparser等)对底层文件进行解析;也可以采用java中的抽象语法树(ast)方法生成并导出解析文件中的底层方法列表。其中,通过这种方法生成的底层方法列表可以是json格式的底层方法列表。这一方法实现了对底层文件的统一梳理,优化了调用过程,可以根据生成的底层方法列表快速地获取列表中所需要的底层方法,提高对所需要的底层方法的获取效率。
71.参照图3,在一些实施例中,步骤s300包括:
72.s310,调用预设的构建脚本,并根据构建脚本对底层方法列表进行解析,生成本地方法以及与本地方法对应的解析源文件;
73.s320,根据本地方法和解析源文件,生成第一接口文件。
74.通过本发明实施例提供的分层调用方法,可以根据预设的构建脚本对底层方法列表进行解析,生成本地方法以及本地方法对应的解析源文件。根据本地方法和解析源文件生成第一接口文件。其中,解析源文件可以对应底层文件中的底层方法。与底层文件相比,解析源文件可以实现在本方法内的随意调用。通过本方法获得的多个第一接口文件,可以与底层文件中的底层方法一一对应,因而,通过解析第一接口文件获取本地方法,通过本地方法可以调用对应底层方法的解析源文件,从而能够快速地获取第一接口文件中所需要的底层方法,提高对所需要的底层方法的获取效率。
75.在另一些具体的实施例中,可以是通过jni generator生成第一接口文件。通过这种方法生成的第一接口文件中的本地方法可以是native方法,解析源文件可以c 码源。对应的,第一接口文件可以是jni格式的接口文件。其中jni generator是利用python语言编写的脚本,可以直接利用并生成jni格式文件,native方法的应用是java中的现有方法。具体的实现方法在现有技术中可以查阅,在此不做赘述。由于第一接口文件中包含对应底层方法的底层文件,在本方法内可以通过调用第一接口文件实现对底层方法的调用。
76.参照图4,在一些实施例中,步骤s400包括:
77.s410,调用服务层,根据服务层对第一接口文件进行解析,得到与第一接口文件对应的本地方法和解析源文件;
78.s420,对与第一接口文件对应的本地方法和解析源文件进行处理,得到中间文件;
79.s430,根据中间文件,创建第二接口文件。
80.通过本发明实施例提供的分层调用方法,根据调用的服务层对第一接口文件进行解析,得到其中的本地方法和解析源文件。对这些本地方法和解析源文件对应的数据进行合法化处理,使其可以被调用和引用,形成中间文件。根据获取到的中间文件形成可以被跨进程引用和调用的第二接口文件。该方法能够提供与底层文件中的底层方法一一对应的第二接口文件,可以实现底层方法跨进程的调用和引用,达到在调用底层方法时只需通过调取对应底层方法的第二接口文件即可实现跨进程的底层方法调用的效果,提高对所需要的底层方法的获取效率。
81.在一些具体的实施例中,根据获取到的第一接口文件,可以通过创建服务层来声明和创建第一接口文件,并通过java中的get方法对已经被声明和创建后的第一接口文件中的实例进行获取,根据操作结果创建第二接口文件。通过这种方式创建的第二接口文件可以是aidl格式的接口文件。在android平台中,可以直接调用aidl接口来读取aidl格式的接口文件。在上层调用第二接口文件时,可以通过第二接口文件查询服务层中包含对应底层方法的底层文件,从而实现跨进程调用底层方法。
82.参照图5,在另一些实施例中,在步骤s400之后,该底层调用方法还包括:
83.s510,根据获取到的调用请求,获取第二接口文件;
84.s520,解析第二接口文件,得到第二接口文件对应的底层方法;
85.s530,调用并使用底层方法。
86.根据本发明实施例提供的底层方法,可以获取在上层发送的调用具体底层方法的调用请求。根据获取到的调用请求获取第二接口文件,并对第二接口文件进行解析,获取该底层方法所对应的第一接口文件中的本地方法。通过调用本地方法,获取该本地方法对应的解析源文件中相应的底层文件。通过调用并使用其中的底层文件以执行相应的底层方法。该方法实现了在调用底层方法时,只需通过调取对应底层方法的第二接口文件即可实现跨进程的底层方法调用,提高了对所需要的底层方法的获取效率。
87.在一些具体的实施例中,通过上层的管控服务可以调用服务层以实现对第二接口文件的访问。第二接口文件可以是aidl接口。通过aidl接口,管控服务可以通过binder架构实现进程间的通信访问,进而读取对应的底层方法。实现对底层方法的使用。关于使用binder架构实现进程间的通信访问属于现有技术,本发明在此不做赘述。
88.第二方面,参照图6,本发明实施例提供了一种分层调用系统,包括:
89.底层方法解析模块100,用于调用预设的解析脚本,并根据解析脚本对读取到的底层方法进行解析,生成解析文件;还用于根据解析文件,得到底层方法列表;
90.底层方法构建模块200,用于调用预设的构建脚本,并根据构建脚本对底层方法列表进行解析,生成本地方法以及与本地方法对应的解析源文件;还用于根据本地方法和解析源文件,生成第一接口文件;
91.服务层模块300,用于调用服务层,根据服务层对第一接口文件进行解析,得到与第一接口文件对应的本地方法和解析源文件;还用于对与第一接口文件对应的本地方法和解析源文件进行处理,得到中间文件;以及,根据中间文件,创建第二接口文件;
92.底层方法调用模块400,用于根据获取到的调用请求,获取第二接口文件;解析第二接口文件,得到第二接口文件对应的底层方法;还用于调用并使用底层方法。
93.通过本发明实施例提供的分层调用系统,可以通过底层方法解析模块100调用预设的解析脚本,并对读取到的底层方法进行解析,生成解析文件,并根据所生成的解析文件生成底层方法列表。通过底层方法构建模块200可以实现调用预设的构建脚本对底层方法列表进行解析,生成本地方法以及与本地方法对应的解析源文件,并根据本地方法和解析源文件生成第一接口文件。通过服务层模块300调用服务层,并对第一接口文件进行解析,得到与第一接口文件对应的本地方法和解析源文件;还可以通过服务层模块300对与第一接口文件对应的本地方法和解析源文件进行处理,得到中间文件,从而根据中间文件创建第二接口文件。通过底层方法调用模块400获取调用请求,根据获取到的调用请求获取第二接口文件,并解析第二接口文件,得到第二接口文件对应的底层方法,从而实现对底层方法的调用与使用。
94.本发明实施例所提供的分层调用系统可以实现在底层方法数量较多或者底层方法繁杂时,将底层方法分层设计,并产生与底层方法对应的接口文件以实现层层调用。也可以实现在调用底层方法时只需通过调取对应底层方法的第二接口文件即可实现跨进程的底层方法调用的效果,提高对所需要的底层方法的获取效率。
95.在一些实施例中,底层方法构建模块200包括:
96.第一接口文件生成单元,第一接口生成单元用于接收本地方法和解析源文件,并根据本地方法和解析源文件,生成第一接口文件。
97.通过第一接口文件生成单元可以对底层方法构建模块200调用构建脚本生成的本地方法和解析源文件进行处理,生成第一接口文件。同时,可以通过第一接口文件生成单元输出第一接口文件至服务层模块300。服务层模块300通过解析第一接口文件,可以获取本地方法,通过本地方法可以调用对应底层方法的解析源文件,从而能够快速地获取第一接口文件中所需要的底层方法,提高对所需要的底层方法的获取效率。
98.在一些实施例中,服务层模块300包括:
99.第二接口文件创建单元,第二接口文件创建单元用于获取本地方法和解析源文件,对本地方法和解析源文件进行处理,得到中间文件;还用于根据中间文件,创建第二接口文件。
100.通过第二接口文件创建单元可以实现对获取并解析后的第一接口文件中的本地方法和解析源文件对应的数据进行合法化处理,使其可以被调用和引用,形成中间文件。同时,通过第二接口文件创建单元使获取到的中间文件形成可以被跨进程引用和调用的第二接口文件。该方式能够提供与底层文件中的底层方法一一对应的第二文件,可以实现底层方法跨进程的调用和引用,达到在调用底层方法时只需通过调取对应底层方法的第二接口文件即可实现跨进程的底层方法调用的效果,提高对所需要的底层方法的获取效率。
101.在一些具体的实施例中,第二接口文件创建单元根据service服务获取并解析后的第一接口文件,其中,第一接口文件可以是jni格式的接口文件。进而第二接口文件创建单元对第一接口文件进行合法化处理,使其可以被调用和引用,形成中间文件。对获取到的中间文件使用java中的get方法,获取第一接口文件对应的实例,以形成可以被跨进程引用和调用的第二接口文件。通过这种方法形成的接口文件可以是aidl格式的接口文件。本方法中采取的get方法属于现有技术,相关实现方法不做赘述。
102.第三方面,本发明实施例提供了一种分层调用设备,包括:
103.至少一个处理器,与
104.至少一个存储器,以及
105.存储在存储器上,并可在处理器上运行的计算机程序,处理器执行程序时实现:如本发明第一方面实施例的分层调用方法。
106.本发明的分层调用设备具有至少一个存储器,以存储本发明第一方面实施例的分层调用方法并可以运行含有本发明第一方面实施例的分层调用方法的计算机程序。分层调用设备还具有至少一个处理器,用来运行计算机程序,以实现如本发明第一方面实施例的分层调用方法。通过采取本发明实施例的分层调用设备,可以实现在底层方法数量较多或者底层方法繁杂时,通过将底层方法分层设计,并产生与底层方法对应的接口文件以实现层层调用,达到在调用底层方法时只需通过调取对应底层方法的第二接口文件即可实现跨进程的底层方法调用的效果,提高对所需要的底层方法的获取效率
107.第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,可用于执行如本发明第一方面实施例的分层调用方法,以实现在底层方法数量较多或者底层方法繁杂时,通过将底层方法分层设计,并产生与底层方法对应的接口文件以实现层层调用,达到在调用底层方法时只需通过调取对应底层方法的第二接口文件即可实现跨进程的底层方法调用的效果,提高对所需要的底层方法的获取效率。
108.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd

rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
109.上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献