掌桥专利:专业的专利平台
掌桥专利
首页

一种组件的处理方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 19:27:02


一种组件的处理方法、装置、电子设备及存储介质

技术领域

本发明涉及数据处理技术领域,尤其涉及一种组件的处理方法、装置、电子设备及存储介质。

背景技术

目前,常应用软件使用的外部开源组件及外部开源组件之间的依赖关系作为进行漏洞扫描或软件开源组件升级等行为的前置条件,因此需要进行开源组件的依赖分析。

传统开源组件依赖分析主要通过人工的方式进行分析,由于人工分析后对于分析结果的管理相对松散,且无法统一对数据进行管理,从而导致在进行漏洞扫描或软件开源组件升级时,无法统一进行管理,导致软件开源组件存在未及时发现和修复的漏洞,此外也会对查找软件使用的开源组件及开源组件的依赖关系产生速度上的影响。

发明内容

有鉴于此,本发明实施例提供一种组件的处理方法、装置、电子设备及存储介质,以解决现有技术中无法统一对软件所使用的开源组件进行管理,进而存在开源组件出现未及时发现和修复的漏洞,且也会对查找软件使用的开源组件及开源组件的依赖关系产生速度影响的问题。

为实现上述目的,本发明实施例提供如下技术方案:

本发明实施例第一方面示出了一种组件的处理方法,所述方法包括:

在应用软件构建完成时,将所述应用软件的软件构建信息进行处理,得到处理后的软件构建信息;

对所述处理后的软件构建信息进行解析,得到软件基础信息、目标开源组件和目标开源组件的依赖关系;

将所述目标开源组件、目标开源组件的依赖关系和软件基础信息进行存储,以便后续对软件使用的开源组件漏洞扫描以及开源组件统一升级管理做预处理操作。

可选的,所述对所述处理后的软件构建信息进行解析,得到软件基础信息,包括:

对所述处理后的软件构建信息进行解析,确定所述基础参数对应的值;

基于所述基础参数对应的值组合,得到软件基础信息。

可选的,所述对所述处理后的软件构建信息进行解析,得到目标开源组件和目标开源组件的依赖关系,包括:

对所述处理后的软件构建信息中的组件依赖树文件进行分析,确定目标开源组件;

基于所述目标开源组件所在的组件依赖树文件的文件信息,确定所述目标开源组件的依赖关系。

可选的,所述对所述处理后的软件构建信息中的组件依赖树文件进行分析,确定目标开源组件,包括:

对所述处理后的软件构建信息中的组件依赖树文件进行读取,得到每一开源组件的名称;

基于所述每一开源组件的名称,确定目标开源组件。

可选的,所述基于所述目标开源组件所在的组件依赖树文件的文件信息,确定所述目标开源组件的依赖关系,包括:

从所述目标开源组件所在的组件依赖树文件中获取文件信息;

对所述文件信息进行解析,确定所述目标开源组件的依赖关系。

本发明实施例第二方面示出了一种组件的处理装置,所述装置包括:

处理单元,用于在应用软件构建完成时,将所述应用软件的软件构建信息进行处理,得到处理后的软件构建信息;

分析单元,用于对所述处理后的软件构建信息进行解析,得到软件基础信息、目标开源组件和目标开源组件的依赖关系;

存储单元,用于将所述目标开源组件、目标开源组件的依赖关系和软件基础信息进行存储,以便后续对软件使用的开源组件漏洞扫描以及开源组件统一升级管理做预处理操作。

可选的,所述对所述处理后的软件构建信息进行解析,得到软件基础信息的分析单元,具体用于:

对所述处理后的软件构建信息进行解析,确定所述基础参数对应的值;

基于所述基础参数对应的值组合,得到软件基础信息。

可选的,所述对所述处理后的软件构建信息进行解析,得到目标开源组件和目标开源组件的依赖关系的分析单元,具体用于:

对所述处理后的软件构建信息中的组件依赖树文件进行分析,确定目标开源组件;

基于所述目标开源组件所在的组件依赖树的文件信息,确定所述目标开源组件的依赖关系。

本发明实施例第三方面示出了一种电子设备,所述电子设备用于运行程序,其中,所述程序运行时执行如本发明实施例第一方面示出的组件的处理方法。

本发明实施例第四方面示出了一种存储介质,所述存储介质包括存储程序,其中,在所述程序运行时控制所述存储介质所在设备执行如本发明实施例第一方面示出的组件的处理方法。

基于上述本发明实施例提供的一种组件的处理方法、装置、电子设备及存储介质,所述方法包括:在应用软件构建完成时,将所述应用软件的软件构建信息进行处理,得到处理后的软件构建信息;对所述处理后的软件构建信息进行解析,得到软件基础信息、目标开源组件和目标开源组件的依赖关系;将所述目标开源组件、目标开源组件的依赖关系和软件基础信息进行存储,以便后续对软件使用的开源组件漏洞扫描以及开源组件统一升级管理做预处理操作。在本发明实施例中,软件在TDO平台进行构建完成之后,获取对应的软件构建信息;并对软件构建信息进行解析,以确定软件基础信息、目标开源组件和目标开源组件的依赖关系,并进行存储。通过上述方式能够统一对数据进行管理,以实现快速查找软件使用的开源组件及开源组件的依赖关系,并为后续对软件使用的开源组件漏洞扫描以及开源组件统一升级管理做预处理操作。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例示出的组件的处理系统的架构示意图;

图2为本发明实施例示出的一种组件的处理方法的流程示意图;

图3为本发明实施例示出的组件依赖树与组件依赖树文件的示例图;

图4为本发明实施例示出的一种组件的处理装置的结构示意图;

图5为本发明实施例示出的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

为了更好的理解本发明实施例示出的术语,下面进行解释说明。

TDO模块,即同TDO平台,是民航信息网络股份有限公司研发中心开发的软件集成开发平台,在该平台软件项目可从需求分析开始,按照需求分析、需求设计、开发、测试、上线以及下线等流程完成项目全生命周期的操作。

软件,本发明提到的软件,均为Java语言开发的Maven项目软件。

开源组件依赖(树):一个开源组件中可能会调用多个子开源组件,子开源组件又可以调用多个子开源组件。而软件在开发中,所用到的开源组件,可能为某一个开源组件的多层子开源组件,因此描述这种调用关系称作为开源组件依赖,多个开源组件依赖则称之为组件依赖树。

软件构建:TDO中重要环节之一,将软件阶段性开发完成的代码进行打包。

Maven仓库:任何语言开发都会存在使用已有的开源组件情况,这里以Java代码为例,Java的开源组件会统一存放在一个公共仓库,并通过Maven技术进行管理,习惯上,会把上述这类保存Java开源组件的仓库称作Maven仓库。

在本发明实施例中,软件在TDO平台进行构建完成之后,获取对应的软件构建信息;并对软件构建信息进行解析,以确定软件基础信息、目标开源组件和目标开源组件的依赖关系,并进行存储。通过上述方式能够统一对数据进行管理,以实现对软件投产安全进行保护,并能够快速查找软件使用的开源组件及开源组件的依赖关系,从而为后续对软件使用的开源组件漏洞扫描以及开源组件统一升级管理做预处理操作。

参见图1,为本发明实施例示出的组件的处理系统的架构示意图。

所述组件的处理系统10包括TDO模块20和依赖解析模块30。

TDO模块20用于构建应用软件,并在应用软件构建完成时,将所述应用软件的软件构建信息进行处理(即封装和编译),得到处理后的软件构建信息,并将所述软件信息发送给依赖解析模块30。

所述依赖解析模块30,对所述处理后的软件构建信息进行解析,得到软件基础信息;对所述处理后的软件构建信息中的所述组件依赖树文件进行分析,得到目标开源组合和目标开源组件依赖关系。将所述目标开源组件、目标开源组件的依赖关系和软件基础信息进行存储,以便后续对软件使用的开源组件漏洞扫描以及开源组件统一升级管理做预处理操作。

在本发实施例中,软件在TDO平台进行构建完成之后,获取对应的软件构建信息;并对软件构建信息进行解析,以确定软件基础信息、目标开源组件和目标开源组件的依赖关系,并进行存储。通过上述方式能够统一对数据进行管理,以实现快速查找软件使用的开源组件及开源组件的依赖关系,并为后续对软件使用的开源组件漏洞扫描以及开源组件统一升级管理做预处理操作。

参见图2,为本发明实施例示出的一种组件的处理方法的流程示意图,所述方法包括:

步骤S201:在应用软件构建完成时,将所述应用软件的软件构建信息进行处理,得到处理后的软件构建信息。

在具体实现步骤S201的过程中,应用在TDO平台统一构建完成时,TDO模块调用Jenkins技术通过代码仓库地址,拉取构建所述应用软件的代码,而后通过Jenkins服务器对所述应用软件的代码进行封装与编译处理,得到处理后的软件构建信息;并将处理后的软件构建信息发送到依赖解析模块。

可选的,在得到处理后的软件构建信息后,可将处理后的软件构建信息以数据字典格式发送到依赖解析模块,同时,将所述软件构建信息存储至数据库DB中。

需要说明的是,软件构建信息包括软件与模块名称、软件与模块版本、代码仓库提交的代码编号CommitID、构建阶段信息,比如软件开发阶段、测试阶段、以及发布阶段等数据,以及软件的组件依赖树文件等。

其中,一个应用软件存在多个项目包,每一项目包中包括多个开源组件和项目包名称,一个项目包对应一个组件依赖树文件,组件依赖文件中至少包括一个组件依赖树。

进一步需要说明的是,软件构建信息中软件名称,软件版本,模块名称,模块版本,代码上传中央仓库时仓库对代码标记的标签,软件构建时生成依赖树,软件构建阶段描述等信息,如下表(1)所示。

表(1):

可选的,软件的组件依赖树文件生成是通过mvn命令的固定语句生成的,也就是说,实际使用中若Java项目需要使用开源组件时,把所需要的开源组件在Maven仓库中的坐标,即索引号,写在POM文件里,之后通过构建,即可从公共Maven仓库获得对应的开源组件和自研组件生成组件依赖树文件。其中,开源组件为外部引用的开源组件,一般在组件依赖树文件常通过符合“|”、“”、“+”及“-”等符号进行标识。自研组件即企业内部开发的组件,其在组件依赖树文件中没有标识符号,一般作为组件依赖树的根节点。

组件依赖树中存在标识“+”“-”和空格是指开源组件包含关系并没有结束,即存在子节点;存在标识“|”和空格是指明确标识开源组件的包含关系,通过确定同列竖线的位置,就能够明确个开源组件包含了那些子节点。存在标识“”、“-”及空格是指组件依赖树本层级最后一个开源组件。

例如:项目包Q包括3棵组件依赖树,如图3所示,自研组件Q、ZYB、和ZYC;第一棵组件依赖树包括自研组件Q,和开源组件B、B2、B3、C、D、D3、D31、D4、D41、D42、以及D421;第二棵组件依赖树包括自研组件ZYB;第三棵组件依赖树包括自研组件ZYC和开源组件C3。组件依赖树文件将3棵树转换成包括1到16行的数据。

其中,图3中还示出了组件依赖树文件的层数,层数通过数字标识。

步骤S202:对所述处理后的软件构建信息进行解析,得到软件基础信息、目标开源组件和目标开源组件的依赖关系。

需要说明的是,具体实现步骤S202对所述处理后的软件构建信息进行解析,得到软件基础信息的过程包括:

步骤S11:对所述处理后的软件构建信息进行解析,确定所述基础参数对应的值。

在具体实现步骤S11的过程中,接收TDO传入的数据包,并通过HttpServletRequest解析,而后调用HttpServletRequest.getParameter方法,获取对应基础参数的值,比如软件模块名称request.getParameter对应的值为sw_name_en、软件的模块名称对应的值为sw_modulename_en、软件版本对应的值为sw_version、软件模块名称对应的值为sw_moduleversion、软件的代码提交的数据库标签对应的值为sw_moduleversion以及软件当前处于何种构建阶段对应的值为build_phase。

步骤S12:基于所述基础参数对应的值组合,得到软件基础信息。

在具体实现步骤S12的过程中,将基础参数对应的值按照对象形式临时转存内存,也就是说,将其存储至内部类中,形成软件基础信息。

需要说明的是,具体实现步骤S202对所述处理后的软件构建信息进行解析,得到目标开源组件和目标开源组件的依赖关系的过程包括:

步骤S21:对所述处理后的软件构建信息中的组件依赖树文件进行分析,确定目标开源组件。

需要说明的是,具体实现步骤S21对所述处理后的软件构建信息中的组件依赖树文件进行分析,确定目标开源组件的过程,包括:

步骤S31:对所述处理后的软件构建信息中的组件依赖树文件进行读取,得到每一开源组件的名称。

在具体实现步骤S31的过程中,针对所述应用软件对应的每一组件依赖树,将文件依赖树文件以字符流的形式按行读取,依次读取字符“-”后的字段,即每一开源组件的名称。

步骤S32:基于所述每一开源组件的名称,确定目标开源组件。

在具体实现步骤S32的过程中,由于应用软件可能使用的开源组件是某一开源组件的子节点,因此需要确定目标开源组件,即所述软件应用所使用的开源组件。针对所述应用软件对应的每一组件依赖树的每一开源组件;基于所述编译后应用软件的代码确定所调用的开源组件的名称,从所述组件依赖树文件中的组件依赖树中选取与所调用的开源组件的名称一致的开源组件,将其作为目标开源组件。

可选的,还包括:存储所述目标开源组件对应的相关信息。

具体的,使用目标开源组件名称,将名称保存进数据库DB,并同时获取数据库中与名称对应的开源组件的ID号等相关信息。也就是说预先在数据库中构建HashMap参数,以用于存储开源组件的相关信息,其中相关信息包括开源组件依赖层级、开源组件groupId、开源组件artifactId、开源组件完整信息以及开源组件版本等。

步骤S22:基于所述目标开源组件所在的组件依赖树文件的文件信息,确定所述目标开源组件的依赖关系。

需要说明的是,依赖关系包括直接依赖和间接依赖等。

具体实现步骤S22的过程中,包括:

步骤S41:从所述目标开源组件所在的组件依赖树文件中获取文件信息。

具体的,首先,读取所述组件依赖树文件中没有符号标识的组件名称,即自研组件,将其剔除。接着,按行读取,记录“-”号字符所在位置,即计算所述开源组件所在行数的第一个字段(包括空格)至符号“-”的字节数,例如第二行,“-”在位置2,第三行“-”位置在5。然后,如果出现第N行’-’号位置在小于第N+1行的情况,则说明第N+1行依赖于N行的开源组件;如果出现第N行’-’号位置和第N+1行’-’号位置相同的情况,表示不存在依赖关系;如果出现第N行’-’号位置大于第N+1行’-’号位置的情况,则标识不存在依赖关系,并且上一层依赖结束;综上能够确定每一行的开源组件之间的关系,基于每一行的开源组件之间的关系生成文件信息。

可选的,可根据’-’号位置判断该行的层级,例如:第一行’-’号位置为2,第二行’-’号位置为5,第三行’-’号位置5,第四行’-’号位置7,第五行’-’号位置5,第六行’-’号位置2,基于此可以推断,第一行为父类层,第五行与第二行和第三行为同级层,均依赖于第一行,第四行依赖第三行,第六行与第一行同级,属于父类。

步骤S42:对所述文件信息进行解析,确定所述目标开源组件的依赖关系。

具体的,通过对文件信息中的每一行的开源组件之间的关系,确定与所述目标开源组件存在依赖关系的开源组件;将所述与所述目标开源组件存在依赖关系的开源组件。

可选的,还包括:将目标开源组件的依赖关系进行存储,也就是说,可以将目标开源组件的依赖关系存储至数据库DB中。

具体的,存储包括软件构建信息中的代码仓库提交CommitID、目标开源组件在数据库存储的编号,以及目标开源组件的上层依赖开源组件的编号等信息,将其以表的形式存储,具体数据库表可如表(2)所示。

表(2):

步骤S203:将所述目标开源组件、目标开源组件的依赖关系和软件基础信息进行存储,以便后续对软件使用的开源组件漏洞扫描以及开源组件统一升级管理做预处理操作。

在具体实现步骤S203的过程中,分别将目标开源组件的相关信息、目标开源组件的依赖关系和软件基础信息生成对应表格,即目标开源组件对应的相关信息表、依赖信息表、和软件信息表,将其以表格的形式存储;构建所述目标开源组件、目标开源组件的依赖关系和基础信息之间的映射关系,以便后续能够快速查找到所述软件应用的所有信息。

在本发明实施例中,软件在TDO平台进行构建完成之后,获取对应的软件构建信息;并对软件构建信息进行解析,以确定软件基础信息、目标开源组件和目标开源组件的依赖关系,并进行存储。通过上述方式能够统一对数据进行管理,以实现快速查找软件使用的开源组件及开源组件的依赖关系,并为后续对软件使用的开源组件漏洞扫描以及开源组件统一升级管理做预处理操作。

基于上述本发明实施例示出的组件的处理方法,相应的,本发明实施例还示出了一种组件的处理装置,如图4所示,所述装置包括:

处理单元401,用于在应用软件构建完成时,将所述应用软件的软件构建信息进行处理,得到处理后的软件构建信息;

分析单元402,用于对所述处理后的软件构建信息进行解析,得到软件基础信息、目标开源组件和目标开源组件的依赖关系;

存储单元403,用于将所述目标开源组件、目标开源组件的依赖关系和软件基础信息进行存储,以便后续对软件使用的开源组件漏洞扫描以及开源组件统一升级管理做预处理操作。

上述本发明实施例公开的组件的处理装置中各个单元具体的原理和执行过程,与上述本发明实施例示出的组件的处理方法相同,可参见上述本发明实施例示出的组件的处理方法中相应的部分,这里不再进行赘述。

在本发明实施例中,软件在TDO平台进行构建完成之后,获取对应的软件构建信息;并对软件构建信息进行解析,以确定软件基础信息、目标开源组件和目标开源组件的依赖关系,并进行存储。通过上述方式能够统一对数据进行管理,以实现快速查找软件使用的开源组件及开源组件的依赖关系,并为后续对软件使用的开源组件漏洞扫描以及开源组件统一升级管理做预处理操作。

可选的,基于上述本发明实施例示出的组件的处理方法,所述对所述处理后的软件构建信息进行解析,得到软件基础信息的分析单元402,具体用于:

对所述处理后的软件构建信息进行解析,确定所述基础参数对应的值;

基于所述基础参数对应的值组合,得到软件基础信息。

可选的,基于上述本发明实施例示出的组件的处理方法,所述对所述处理后的软件构建信息进行解析,得到目标开源组件和目标开源组件的依赖关系的分析单元,具体用于:

对所述处理后的软件构建信息中的组件依赖树文件进行分析,确定目标开源组件;

基于所述目标开源组件所在的组件依赖树文件的文件信息,确定所述目标开源组件的依赖关系。

可选的,基于上述本发明实施例示出的组件的处理方法,所述对所述处理后的软件构建信息中的组件依赖树文件进行分析,确定目标开源组件的分析单元402,具体用于:

对所述处理后的软件构建信息中的组件依赖树文件进行读取,得到每一开源组件的名称;

基于所述每一开源组件的名称,确定目标开源组件。

可选的,基于上述本发明实施例示出的组件的处理方法,所述基于所述目标开源组件所在的组件依赖树文件的文件信息,确定所述目标开源组件的依赖关系的分析单元,具体用于:

从所述目标开源组件所在的组件依赖树文件中获取文件信息;

对所述文件信息进行解析,确定所述目标开源组件的依赖关系。

本申请实施例还提供一种电子设备,该电子设备包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,该程序用于实现组件的处理方法。

下面参考图5,其示出了适于用来实现本发明公开实施例的电子设备的结构示意图。本发明公开实施例中的电子设备可以包括但不限于诸如数字TV、台式计算机等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本发明公开实施例的功能和使用范围带来任何限制。

如图5所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。

通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的数据存储方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM502被安装。在该计算机程序被处理装置501执行时,执行本发明公开实施例的软件应用的分析方法中限定的上述功能。

更进一步的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行软件应用的分析方法。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收上线成功的软件应用的版本基础信息;基于所述版本基础信息获取所述软件应用的基线代码文件;对所述基线代码文件进行分析,得到对应的分析结果;基于所述分析结果、目标组件的名称、以及版本应用的软件名称生成开源资产清单,以便后续用户查询。

在本发明公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

需要说明的是,本发明公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种消息处理方法、装置、电子设备及存储介质
  • 一种应用程序处理方法、装置、电子设备及可读存储介质
  • 一种网页处理方法、装置、电子设备及存储介质
  • 一种方控数据处理方法、装置、电子设备及存储介质
  • 一种游戏信息处理方法和装置、电子设备、存储介质
  • 一种组件处理方法及装置、存储介质及电子设备
  • 一种组件处理方法、装置、电子设备及存储介质
技术分类

06120115917915