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

一种代码框架识别方法、装置、电子设备及存储介质与流程

2022-11-19 08:39:13 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体而言,涉及一种代码框架识别方法、装置、电子设备及存储介质。


背景技术:

2.代码框架是一堆包含了常量、方法、类等代码的集合,它是一个半成品的应用,只包含了一些项目开发的时候所用使用的底层架构,并不包含业务逻辑,代码框架还包含了一些优秀的设计模式,如单例模式,工厂模式,ar(active record)模式等。代码框架的使用大大缩短大型应用软件系统的开发周期,提高开发质量。
3.企业为了更好的对代码进行管理,需要对各个代码使用的框架进行识别。现有的对代码框架的识别方式大多为人工上报或者在基础框架上进行修改,这种识别方式都需要消耗大量的人力,而且识别效率不高。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种代码框架识别方法、装置、电子设备及存储介质,通过代码特征识别代码框架,不需要人工上报和再次开发,降低了工作量,提高了识别效率,便于企业进行管理。
5.第一方面,本技术实施例提供了一种代码框架识别方法,所述方法包括:
6.从预设的代码仓库中,获取待识别项目的源代码;所述源代码包含有java文件;
7.按照所述待识别项目的文件结构依次对所述java文件进行搜索,确定出所述待识别项目的入口文件;
8.对所述入口文件进行编译,将所述入口文件转化为预设结构的第一抽象语法树;
9.若所述第一抽象语法树中包含有预设的目标注解标签,根据所述第一抽象语法树中包含的目标注解标签和预设的目标注解标签与代码框架的关联关系,确定所述待识别项目使用的目标代码框架。
10.在本技术一些技术方案中,上述源代码还包含有配置文件,所述方法还包括:
11.对所述配置文件进行编译,将所述配置文件转化为预设结构的第二抽象语法树;
12.根据所述第二抽象语法树中所述目标代码框架对应的版本标签对应的值,确定所述目标代码框架的版本号。
13.在本技术一些技术方案中,上述方法包括:
14.将所述目标代码框架和该目标代码框架对应的版本保存至预设的数据库中;所述数据库用于对所述目标代码框架和该目标代码框架对应的版本进行统计分析。
15.在本技术一些技术方案中,上述方法还包括:
16.若所述目标代码框架的类型超出了预设的类型阈值,根据各个所述目标代码框架的可修改性,从所述目标代码框架中确定出待修改代码框架,并对所述待修改代码框架进行修改。
17.在本技术一些技术方案中,上述方法还包括:
18.根据所述待修改代码框架修改为其他类型的代码框架的难易程度,将所述待修改代码框架修改为其他类型的代码框架。
19.在本技术一些技术方案中,上述方法还包括:
20.若所述第一抽象语法树中未包含有预设的目标注解标签,向管理人员发送提示信息;
21.响应针对所述源代码的标注操作,确定所述待识别项目使用的目标代码框架。
22.在本技术一些技术方案中,上述方法还包括:
23.根据所述第一抽象语法树中包含的独立标签和生成的该待识别项目使用的目标代码框架,更新所述目标注解标签和预设的目标注解标签与代码框架的关联关系。
24.第二方面,本技术实施例提供了一种代码框架识别装置,所述装置包括:
25.获取模块,用于从预设的代码仓库中,获取待识别项目的源代码;所述源代码包含有java文件;
26.搜索模块,用于按照所述待识别项目的文件结构依次对所述java文件进行搜索,确定出所述待识别项目的入口文件;
27.编译模块,用于对所述入口文件进行编译,将所述入口文件转化为预设结构的第一抽象语法树;
28.确定模块,用于若所述第一抽象语法树中包含有预设的目标注解标签,根据所述第一抽象语法树中包含的目标注解标签和预设的目标注解标签与代码框架的关联关系,确定所述待识别项目使用的目标代码框架。
29.第三方面,本技术实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的代码框架识别方法的步骤。
30.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的代码框架识别方法的步骤。
31.本技术的实施例提供的技术方案可以包括以下有益效果:
32.本技术方法包括从预设的代码仓库中,获取待识别项目的源代码;所述源代码包含有java文件;按照所述待识别项目的文件结构依次对所述java文件进行搜索,确定出所述待识别项目的入口文件;对所述入口文件进行编译,将所述入口文件转化为预设结构的第一抽象语法树;若所述第一抽象语法树中包含有预设的目标注解标签,根据所述第一抽象语法树中包含的目标注解标签和预设的目标注解标签与代码框架的关联关系,确定所述待识别项目使用的目标代码框架。本技术通过代码特征识别代码框架,不需要人工上报和再次开发,降低了工作量,提高了识别效率,便于企业进行管理。
33.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
34.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
35.图1示出了本技术实施例所提供的一种代码框架识别方法的流程示意图;
36.图2示出了本技术实施例所提供的一种具体识别实施例示意图;
37.图3示出了本技术实施例所提供的一种代码框架识别装置示意图;
38.图4为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
39.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
40.另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.需要说明的是,本技术实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
42.代码框架是一堆包含了常量、方法、类等代码的集合,它是一个半成品的应用,只包含了一些项目开发的时候所用使用的底层架构,并不包含业务逻辑,代码框架还包含了一些优秀的设计模式,如单例模式,工厂模式,ar(active record)模式等。代码框架的使用大大缩短大型应用软件系统的开发周期,提高开发质量。
43.在公司java框架治理过程中,由于历史及各个小组技术原因,不同的应用在同一种语言情况下,会使用不同的基础框架,当应用数量发展到一定规模的时候需要对应用的框架进行统一的治理。
44.传统的统计,收集,监控公司开发基础框架,采用的是开发人员主动上报,或者在集成的基础框架中代码主动上报框架版本。两种方法均有不足之处:
45.开发人员主动上报:需要开发人员主动上报,会可能造成上报不及时。上报不准确,容易造成误报,错报。耗费大量时间,每次变动都需要人工上报,耗费大量人工上报,收集,统计时间。
46.集成的基础框架中代码主动上报:使用的为原生的基础框架并不具备该功能,需要修改相关代码。对于历史的应用无法实现主动上报。必须是已经接入使用改造过基础框架后,后续的基础框架版本改动。需要对基础框架在框架代码层面改动。
47.基于此,本技术实施例提供了一种代码框架识别方法、装置、电子设备及存储介
质,下面通过实施例进行描述。
48.图1示出了本技术实施例所提供的一种代码框架识别方法的流程示意图,其中,该方法包括步骤s101-s104;具体的:
49.s101、从预设的代码仓库中,获取待识别项目的源代码;所述源代码包含有java文件;
50.s102、按照所述待识别项目的文件结构依次对所述java文件进行搜索,确定出所述待识别项目的入口文件;
51.s103、对所述入口文件进行编译,将所述入口文件转化为预设结构的第一抽象语法树;
52.s104、若所述第一抽象语法树中包含有预设的目标注解标签,根据所述第一抽象语法树中包含的目标注解标签和预设的目标注解标签与代码框架的关联关系,确定所述待识别项目使用的目标代码框架。
53.本技术通过代码特征识别代码框架,不需要人工上报和再次开发,降低了工作量,提高了识别效率,便于企业进行管理。
54.下面对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
55.s101、从预设的代码仓库中,获取待识别项目的源代码;所述源代码包含有java文件。
56.银行金融科技领域的代码仓库亦称储存库、资源库、资源库、版本库、代码库、存放库,在版本控制系统中是指在磁盘存储上的数据结构,其中包含了文件、目录以及元数据。代码仓库是一个企业的保存大量源代码的地方。大多数仓库会用作备份、版本控制,在多人开发的项目中会帮助处理各种代码版本问题,如:开发者同时修改源码导致的冲突。
57.针对某个企业的代码仓库,根据需要从代码仓库中获取任意一个或者多个项目。本技术将从代码仓库中获取的项目成为待识别项目,每个待识别项目都对应有自身的源代码。源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。
58.源代码的语言有很多种,本技术主要针对的java(面向对象的编程语言)。所以本技术获取的源代码中需要包含有java文件。
59.s102、按照所述待识别项目的文件结构依次对所述java文件进行搜索,确定出所述待识别项目的入口文件。
60.在得到了源代码之后,本技术需要对源代码进行遍历搜索。在对源代码进行检索的时候,由于待识别项目中包含多个文件结构,例如packages、project、public、controller、service等。本技术需要按照这些文件结构的顺序依次对java文件进行搜索。
61.具体的搜索方式为依次判断各个结构中是否包含有main,本技术将包含有main方法的文件作为该待识别项目的入口文件。
62.s103、对所述入口文件进行编译,将所述入口文件转化为预设结构的第一抽象语
法树。
63.编译(compilation,compile)利用编译程序从源语言编写的源程序产生目标程序的过程。或者用编译程序产生目标程序的动作。编译就是把高级语言变成计算机可以识别的二进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成二进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
64.抽象语法树(abstract syntax tree,ast),或简称语法树(syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。
65.在确定了入口文件之后,本技术使用编译器对入口文件进行编译(抽象语法树分析),将入口文件的各个文件特征表现在预设结构的第一抽象语法树。第一抽象语法树上特定的节点对应有入口文件的特定结构。
66.s104、若所述第一抽象语法树中包含有预设的目标注解标签,根据所述第一抽象语法树中包含的目标注解标签和预设的目标注解标签与代码框架的关联关系,确定所述待识别项目使用的目标代码框架。
67.在将入口文件转化为第一抽象语法树之后,第一抽象语法树中每个节点对应的入口文件的结构是预先知道的。所以本技术对第一抽象语法树中的目标节点进行检测即可,大大降低了检索时间。通过对目标节点进行检测,确定该目标节点中是否存在预设的目标注解标签。
68.在目标节点中存在预设的目标注解标签的时候,根据目标注解标签与代码框架的关联关系即可确定出该待识别项目使用的目标代码框架。这里的关联关系表征的是具体的使用关系,即不类型同的代码框架使用不同的目标注解标签。换句话说,如果某个注解标签在多个不同类型的代码框架下均能够正常使用,则该注解标签不能够作为目标注解标签。
69.具体的如图2所示:如果在入口文件的抽象语法树中同时获取到@sar注解和@sarbootclass注解,则确定该项目pafa框架。如果在入口文件的抽象语法树中同时获取到@sar注解和@sarbootclass注解,则确定该项目pafa框架。如果在入口文件的抽象语法树中获取到@esa注解,则确定该项目esa框架。如果在入口文件的抽象语法树中获取到@springboot注解,则确定该项目springboot框架。如果入口文件中以上四种情况都不存在,则标记为未知框架。
70.本技术实施例中,作为一可选实施例,本技术不仅识别出来了待识别项目使用的代码框架,还对代码框架的使用版本进行了识别,进一步提升了管理人员的关联效率。
71.本技术中的源代码还包含有配置文件(项目的pom依赖配置文件,项目yaml配置文件等)。pom文件的作用:pomxml文作描述了maven项目的基委信息。比如roupld、artifeactld、version等。也可以对maven项目的运程仓库、打包形式、资源依赖关系等进行配置。一个最简单的pom.xml文件至少需要包含四个元素:modeversion、groupld、artiffactld和version。yaml是一种标记语言,常用作配置文件。yaml的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件。yaml的配置文件后缀
为.yml或.yaml。
72.本技术的方法还包括:对所述配置文件进行编译,将所述配置文件转化为预设结构的第二抽象语法树;根据所述第二抽象语法树中所述目标代码框架对应的版本标签对应的值,确定所述目标代码框架的版本号。
73.本技术使用编译器对配置文件进行编译(抽象语法树分析),将配置文件的各个文件特征表现在预设结构的第二抽象语法树。第二抽象语法树上特定的节点对应有配置文件的特定结构。通过查找第二抽象语法树上特版本标签,根据该版本标签对应的值既可确定出目标代码框架的使用版本。
74.具体的,针对halo框架:分析待识别项目的项目依赖配置pom文件,同样分析该文件的抽象语法树,在抽象语法树中找到properties标签,然后分析该标签下面的halo.version标签的值,得到的值为halo基础框架的版本。
75.针对pafa框架:分析待识别项目的项目依赖配置pom文件,同样分析该文件的抽象语法树,在抽象语法树中找到pafa-framework标签,然后分析该标签下面的version标签的值,得到的值pafa基础框架的版本。
76.针对esa框架:分析待识别项目的项目依赖配置pom文件,同样分析该文件的抽象语法树,在抽象语法树中找到esa.properties标签,然后分析该标签下面的version标签的值,得到的值esa基础框架的版本。
77.针对springboot框架:分析待识别项目的项目依赖配置pom文件,同样分析该文件的抽象语法树,在抽象语法树中找到dependency标签,找到springboot-start依赖项目,分析version标签,得到的值为springboot基础框架的版本。
78.在得到了目标代码框架和该目标代码框架的版本之后,本技术将所述目标代码框架和该目标代码框架对应的版本保存至预设的数据库中;所述数据库用于对所述目标代码框架和该目标代码框架对应的版本进行统计分析。企业通过在数据库中对本企业中所有的代码框架和代码框架的版本进行统计,对使用的代码进行管理和调整,尽量少的使用不同类型的代码框架,避免出现工作壁垒。
79.在对代码框架进行统计的时候,本技术根据企业的实际运行情况和作业要求,设置了一个代码框架的类型阈值,为了便于管理,员工在进行作业的使用使用代码框架的种类不能超过待类型阈值。如果员工使用的代码框架种类较多(超出了类型阈值)的话,不利于大家之间的工作交流。
80.为了避免上述情况的发生,提高工作效率,本技术中若所述目标代码框架的类型超出了预设的类型阈值,根据各个所述目标代码框架的可修改性,从所述目标代码框架中确定出待修改代码框架,并对所述待修改代码框架进行修改。根据所述待修改代码框架修改为其他类型的代码框架的难易程度,将所述待修改代码框架修改为其他类型的代码框架。
81.本技术在检测到员工使用的代码框架类型的数量超出了类型阈值的话,本技术要对部分使用的代码框架(待修改代码框架)进行修改,以使员工使用的代码框架相对集中。本技术在确定需要进行修改的代码框架(待修改代码框架)的时候,是根据各个代码框架的可修改性确定的。可修改性确定主要体现在各个类型目标代码框架的使用数量。也就是说,本技术将使用数量最少的代码框架作为待修改代码框架。例如,有十个项目使用的是halo
框架,有八个项目使用的是pafa框架,有两个项目使用的esa框架,那么本技术将esa框架作为待修改代码框架。这里的可修改性还体现在项目的运行周期、开发周期等人工成本。也就是说,对于进行修改耗费人工成本较低的代码框架,其可修改性较高。对于进行修改耗费人工成本较高的代码框架,其可修改性就较低。
82.本技术在确定了待修改代码框架之后,还要确定该待选修代码框架需要修改为哪种类型的代码框架。在确定待修改代码框架要修改为某种类型的代码框架的时候,本技术是根据修改的难易程度确定的。即待修改代码框架修改为其他类型的第一代码框架和其他类型的第二代码框架(第一代码框架和第二代码框架的类型不同)的难易程度是不同的。本技术通过其他各个类型的代码框架对应的难易程度对比,将待修改代码框架修改为难易程度最低的其他类型的代码框架。
83.本技术实施例中,作为一可选实施例,若所述第一抽象语法树中未包含有预设的目标注解标签,向管理人员发送提示信息;
84.响应针对所述源代码的标注操作,确定所述待识别项目使用的目标代码框架。
85.本技术在第一抽象语法数据进行搜索的时候,如果在第一抽象语法树中没有搜索到预设的目标注解标签的话,即第一抽象语法树中不包含预设的目标注解标签,本技术向管理人员发送提示消息,提醒管理人员该待识别项目中没有预设的目标代码框架。管理人员需要对该待识别项目进行人工识别,确定出该待识别项目使用的代码框架具体是什么框架。在通过人工确定了该待识别项目使用的代码框架之后,管理人员需要将该待识别项目所使用的代码框架进行标注。本技术通过识别人工标注的人工标签,确定出该待识别项目使用的目标代码框架。
86.本技术在确定了未包含预设的目标注解标签的待识别项目的目标代码框架之后,为了提高后续的识别效率,本技术还根据所述第一抽象语法树中包含的第二关键词和生成的该待识别项目使用的目标代码框架,更新所述目标注解标签和预设的目标注解标签与代码框架的关联关系。
87.本技术中人工在标注人工标签的时候,这里的人工标签有两种情况。第一种情况是该人工标签对应的为数据库中已经有的代码框架,但是待识别项目中的注解标签是新的(即数据库中没有保存的)。由于新的注解标签未与已有的代码框架就建立关联关系,所以不能够确定出这里新的注解标签对应的目标代码框架。基于这种情况,本技术需要在数据库中加入新的注解标签,并将这个新的注解标签与已有的代码框架之间建立关联关系。那么,再下次使用本技术的方法进行识别的时候,如果再次搜索到上述新的注解标签的话,即可通过建立好的新的注解标签与已有的代码框架之间的关联关系,确定出来待识别项目使用的目标代码框架。
88.第二种情况是该人工标签对应的为数据库中没有的代码框架,且待识别项目中的注解标签是新的(即数据库中没有保存的)。由于新的注解标签未与新的代码框架就建立关联关系,所以不能够确定出目标代码框架。基于这种情况,本技术需要在数据库中加入新的注解标签和新的代码框架,并将这个新的注解标签与新的代码框架之间建立关联关系。那么,再下次使用本技术的方法进行识别的时候,如果再次搜索到上述新的注解标签的话,即可通过建立好的新的注解标签与新的代码框架之间的关联关系,确定出来待识别项目使用的目标代码框架。
89.本技术从开发人员的角度来看:开发人员不需要人工上报基础框架版本,对于处于维护阶段的应用也不在需要耗费时间去研究了解其基础框架版本,通过代码特征识别基础框架实现数据上报。从基础框架架构治理角度:在不增加开发任务的前提下,通过代码特征自动准确获取应用的基础框架版本,对后续基础框架治理及基础框架升级提供非常有用的基础数据。从运维人员的角度来看:在通过代码特征识别基础框架基础上可以实现常规化的,自动化的脚本扫描,能够实时,准确识别所有应用的基础框架数据,实时监控公司基础框架及版本分布情况。
90.图3示出了本技术实施例所提供的一种代码框架识别装置的结构示意图,所述装置包括:
91.获取模块,用于从预设的代码仓库中,获取待识别项目的源代码;所述源代码包含有java文件;
92.搜索模块,用于按照所述待识别项目的文件结构依次对所述java文件进行搜索,确定出所述待识别项目的入口文件;
93.编译模块,用于对所述入口文件进行编译,将所述入口文件转化为预设结构的第一抽象语法树;
94.确定模块,用于若所述第一抽象语法树中包含有预设的目标注解标签,根据所述第一抽象语法树中包含的目标注解标签和预设的目标注解标签与代码框架的关联关系,确定所述待识别项目使用的目标代码框架。
95.所述源代码还包含有配置文件,编译模块,还用于:对所述配置文件进行编译,将所述配置文件转化为预设结构的第二抽象语法树;根据所述第二抽象语法树中所述目标代码框架对应的版本标签对应的值,确定所述目标代码框架的版本号。
96.所述装置还包括:统计模块,用于将所述目标代码框架和该目标代码框架对应的版本保存至预设的数据库中;所述数据库用于对所述目标代码框架和该目标代码框架对应的版本进行统计分析。
97.所述装置还包括:修改模块,用于若所述目标代码框架的类型超出了预设的类型阈值,根据各个所述目标代码框架的可修改性,从所述目标代码框架中确定出待修改代码框架,并对所述待修改代码框架进行修改。根据所述待修改代码框架修改为其他类型的代码框架的难易程度,将所述待修改代码框架修改为其他类型的代码框架。
98.所述装置还包括:调整模块,用于若所述第一抽象语法树中未包含有预设的目标注解标签,向管理人员发送提示信息;响应针对所述源代码的标注操作,确定所述待识别项目使用的目标代码框架。
99.根据所述第一抽象语法树中包含的独立标签和生成的该待识别项目使用的目标代码框架,更新所述目标注解标签和预设的目标注解标签与代码框架的关联关系。
100.如图4所示,本技术实施例提供了一种电子设备,用于执行本技术中的代码框架识别方法,该设备包括存储器、处理器、总线及存储在该存储器上并可在该处理器上运行的计算机程序,其中,上述处理器执行上述计算机程序时实现上述的代码框架识别方法的步骤。
101.具体地,上述存储器和处理器可以为通用的存储器和处理器,这里不做具体限定,当处理器运行存储器存储的计算机程序时,能够执行上述的代码框架识别方法。
102.对应于本技术中的代码框架识别方法,本技术实施例还提供了一种计算机可读存
储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的代码框架识别方法的步骤。
103.具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述的代码框架识别方法。
104.在本技术所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
105.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
106.另外,在本技术提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
107.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
108.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
109.最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围。都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献