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

一种文件处理方法及相关设备

文献发布时间:2024-04-18 19:58:30


一种文件处理方法及相关设备

技术领域

本申请实施例涉及计算机领域,尤其涉及一种文件处理方法及相关设备。

背景技术

随着计算机技术的发展,开源软件检测技术的应用也越来越广泛。

业界普遍采用软件成分分析方法(Software Component Analysis,SCA)来判断被测对象(例如二进制文件)中引用的开源软件名称及版本号,从而完成开源软件检测。

但是在实际软件开发过程中并不需要全量使用引入开源软件的所有功能,而SCA确定出的开源软件名称和版本号涵盖了其中所有代码,因此SCA的检测结果不够准确。

发明内容

本申请实施例提供一种文件处理方法,用于提高开源软件检测的准确性。本申请实施例还提供了相应的计算机可读存储介质及芯片系统等。

本申请第一方面提供一种文件处理方法,包括:获取二进制文件和开源软件特征库,开源软件特征库包括开源软件中每个源代码文件的第一文件特征;提取二进制文件中的第二文件特征;将第一文件特征和第二文件特征进行匹配,以确定二进制文件与每个源代码文件的相似度;根据相似度从每个源代码文件中确定出参与二进制文件编译的目标源代码文件。

本申请中,该文件处理方法可以在计算机设备中执行,二进制文件是由开源软件中的源代码文件(或功能模块)编译后链接得到的。该二进制文件为最小二进制文件,当用户上传的是二进制软件包,而不是最小二进制文件时,计算机设备还需要解压二进制软件包得到最小二进制文件,否则会影响后续的匹配。

本申请中的开源软件特征库可以是预设在计算机设备中,也可以是计算机设备实时建立的。开源软件特征库中的开源软件可以为市面全部已知的开源软件。

本申请中,提取的第一文件特征和第二文件特征可以为提取常量字符串、函数名称等信息。第一文件特征和第二文件特征都为一个特征集合。

本申请中,杰卡德距离(jaccard distance)是用来衡量两个集合差异性的一种指标,因此可以计算第一文件特征和第二文件特征中的杰卡德距离作为二进制文件与每个源代码文件的相似度。

该第一方面,通过获取开源软件中每个源代码文件的文件特征,并与作为被测对象的二进制文件进行匹配,从而在每个源代码文件中确定出参与二进制文件编译的目标源代码文件,即确定出二进制文件引用的开源软件名称及版本号中,具体的源代码文件,实现更细粒度的特征检测,提高了开源软件检测的准确性。

在第一方面的一种可能的实现方式中,第一文件特征包括每个源代码文件的源文件特征和关联源代码文件的关联文件特征,关联源代码文件与源代码文件具有强依赖关系。

该种可能的实现方式中,确定第一文件特征中除了包括源代码文件的特征,还包括与源代码文件具有强依赖关系的关联源代码文件的特征,很好地解决了那些缺少特征而导致无法检测的源代码文件的问题,使得检测精准度更进一步的提升。

在第一方面的一种可能的实现方式中,上述步骤:获取开源软件特征库包括:获取开源软件中每个源代码文件的源文件特征和函数调用关系;根据函数调用关系和每个源代码文件的引用信息确定出关联源代码文件;获取关联源代码文件的关联文件特征;将源文件特征和关联文件特征进行融合,得到开源软件特征库。

该种可能的实现方式中,通过获取开源软件中每个源代码文件的源文件特征和函数调用关系确定关联源代码文件,提升了方案的可实现性。

在第一方面的一种可能的实现方式中,该方法还包括:获取组件漏洞库,组件漏洞库包括每个源代码文件的漏洞信息;从漏洞信息中确定出目标源代码文件的目标漏洞信息。

该种可能的实现方式中,在完成开源软件检测后,还可以确定二进制文件引用的开源软件和版本号存在的漏洞,从而确定被测对象的漏洞,并生成对应的漏洞扫描报告。根据二进制文件具体涉及的目标源代码文件找到对应的漏洞信息,实现更细粒度的漏洞检测,可以区分出哪些已知漏洞是该二进制文件不涉及的,提高了漏洞扫描报告的准确性。

在第一方面的一种可能的实现方式中,上述步骤:获取组件漏洞库包括:获取开源软件的补丁文件;根据补丁文件确定每个源代码文件的漏洞信息。

该种可能的实现方式中,通过获取开源软件的补丁文件来确定每个源代码文件的漏洞信息,进而生成组件漏洞库,提升了方案的可实现性。

在第一方面的一种可能的实现方式中,漏洞信息包括源代码文件名称、函数名称和源代码片段信息。

该种可能的实现方式中,漏洞信息具体包括了源代码文件名称、函数名称和源代码片段信息,即生成具体的精准定位三元组信息,因此在具有三元组信息的基础上,检测到未编译源代码信息后,可以准确的确定该文件影响到的已知漏洞对象。

本申请第二方面,提供了一种计算机设备,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该计算机设备包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的模块或单元,如:获取单元、提取单元、匹配单元和确定单元等。

本申请第三方面提供一种计算机设备,包括:处理器、通信接口和存储器,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码以使得所述计算机设备执行第一方面或第一方面的任意可能的实现方式中的方法。

本申请第四方面提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如第一方面或第一方面的任意可能的实现方式中的方法。

本申请第五方面提供了一种芯片系统,该芯片系统包括至少一个处理器和接口,该接口用于接收数据和/或信号,至少一个处理器用于支持计算机设备实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存计算机设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

本申请第六方面提供一种存储一个或多个计算机执行指令的计算机程序产品,当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。

本申请实施例中,通过获取开源软件中每个源代码文件的文件特征,并与作为被测对象的二进制文件进行匹配,从而在每个源代码文件中确定出参与二进制文件编译的目标源代码文件,即确定出二进制文件引用的开源软件名称及版本号中,具体的源代码文件,实现更细粒度的特征检测,提高了开源软件检测的准确性。

附图说明

图1A和图1B为本申请实施例提供的应用场景示意图;

图2为本申请实施例提供的文件处理方法的一个实施例示意图;

图3为本申请实施例提供的生成二进制文件的示意图;

图4为本申请实施例提供的计算机设备的一个实施例示意图;

图5为本申请实施例提供的计算机设备的另一个实施例示意图。

具体实施方式

下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

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

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。

本申请实施例提供一种文件处理方法,用于提高开源软件检测的准确性。本申请实施例还提供了相应的计算机可读存储介质及芯片系统等。以下分别进行详细说明。

下面对本申请实施例的应用场景进行说明。

如图1A所示,用户可以在计算机设备中进行开源软件检测,计算机设备获取到用户上传的被测对象(二进制文件)后,对被测对象进行特征提取,将提取到的特征与计算机设备中预设的特征库进行匹配,匹配时根据两个特征集合中包含相同数据的多少判断特征是否一致,从而判断被测对象中是否引用了相应的开源软件,确定出被测对象引用的开源软件名称和版本号等信息,完成开源软件检测。

示例性的,如图1B所示,用户上传的为二进制软件包,计算机设备需要解压软件包,并进行文件格式识别得到二进制文件,并进行二进制文件特征提取,与预设的组件特征库进行匹配,从而检测出组件(开源软件名称)和版本号,确定被测对象引用的开源软件和版本号后,还可以根据计算机设备中预设的组件漏洞库确定引用的开源软件和版本号存在的漏洞,从而确定被测对象的漏洞,并生成对应的漏洞扫描报告。

下面结合上述应用场景对本申请实施例提供的文件处理方法的流程进行举例说明。

如图2所示,本申请实施例提供的文件处理方法的一个实施例包括:

201、获取二进制文件和开源软件特征库。

以计算机设备为例,用户在计算机设备中上传二进制文件,该二进制文件为最小二进制文件,当用户上传的是二进制软件包,而不是最小二进制文件时,计算机设备还需要解压二进制软件包得到最小二进制文件,并进行文件格式识别,否则会影响后续的匹配。二进制文件是由开源软件中的源代码文件(或功能模块)编译后链接得到的。

开源软件特征库可以是预设在计算机设备中,也可以是计算机设备实时建立的。具体的,开源软件特征库包括开源软件中每个源代码文件的第一文件特征,其中开源软件可以为市面全部已知的开源软件,开源软件特征库中包含的开源软件越多,开源软件检测的最终检测结果就越准确,开源软件在开源软件特征库中以开源软件名称和版本号的形式出现,每个第一文件特征与其对应的开源软件名称和版本号绑定。

可选的,第一文件特征包括每个源代码文件的源文件特征和关联源代码文件的关联文件特征,关联源代码文件与源代码文件具有强依赖关系。则在获取开源软件特征库时,需要获取开源软件中每个源代码文件的源文件特征和函数调用关系,然后根据函数调用关系和每个源代码文件的引用信息确定出关联源代码文件,并获取关联源代码文件的关联文件特征,最后将源文件特征和关联文件特征进行融合,得到开源软件特征库。

具体的,获取开源软件中每个源代码文件的源文件特征时,具体为对开源软件中每个源代码文件进行分析,并提取常量字符串、函数名称等信息作为源文件特征,这里可以采用二进制文件中常量字符串的提取技术。此外,还需要提取开源软件中每个源代码文件的函数调用关系,这里的函数调用关系可以为函数之间的直接调用关系,也可以为间接调用关系,然后就可以根据函数调用关系和每个源代码文件的引用信息确定出关联源代码文件,并采用与源代码文件相同的方法,分析并提取出关联源代码文件中的常量字符串、函数名称等信息作为关联文件特征。

示例性的,源代码文件Documentation/accounting/getdelays.c中create_nl_socket函数中调用了源代码文件net/caif/caif_socket.c中的setsockopt函数,表示getdelays.c源代码文件与caif_socket.c源代码文件具有强依赖关系,即要想成功正确地运行create_nl_socket函数,setsockopt函数就一定要存在,所以caif_socket.c源代码文件就是getdelays.c源代码文件的关联源代码文件。在源代码文件lib/oid_registry.c中,有#include"oid_registry_data.c语句,表示源代码文件oid_registry.c直接包含引用了oid_registry_data.c源代码文件,源代码文件oid_registry.c和oid_registry_data.c源代码文件具有也具有强依赖关系,此时oid_registry_data.c源代码文件为关联源代码文件。

应理解,开源软件特征库中的第一文件特征为预先提取好的,在实际进行开源软件检测时不需要再实时对开源软件中每个源代码文件和关联源代码文件进行特征提取。

202、提取二进制文件中的第二文件特征。

203、将第一文件特征和第二文件特征进行匹配,以确定二进制文件与每个源代码文件的相似度。

204、根据相似度从每个源代码文件中确定出参与二进制文件编译的目标源代码文件。

获取到开源软件特征库中的第一文件特征和二进制文件后,继续提取二进制文件中的第二文件特征,例如对二进制文件进行分析,并提取常量字符串、函数名称等信息作为第二文件特征,获得第一文件特征和第二文件特征后,就可以将第一文件特征和第二文件特征进行匹配,以确定二进制文件与每个源代码文件的相似度。

应理解,第一文件特征和第二文件特征都为一个特征集合,可选的,计算第一文件特征和第二文件特征中的杰卡德距离(jaccard distance),杰卡德距离是用来衡量两个集合差异性的一种指标,因此将二进制文件与每个源代码文件的杰卡德距离作为相似度,因此相似度为一个具体的值,最后就根据相似度从每个源代码文件中确定出参与二进制文件编译的目标源代码文件。

具体的,对于一个源代码文件来说,如果该源代码文件的第一文件特征与第二文件特征的相似度小于预设的门限值,以及与该源代码文件具有强依赖关系的关联源代码文件的第一文件特征与第二文件特征的相似度也小于预设的门限值,则说明该源代码文件没有被编译至该二进制文件中。相反的,如果该源代码文件的第一文件特征与第二文件特征的相似度大于或等于预设的门限值,或与该源代码文件具有强依赖关系的关联源代码文件的第一文件特征与第二文件特征的相似度大于或等于预设的门限值,则说明该源代码文件被编译至该二进制文件中。基于上述方法遍历所有源代码文件和关联源代码文件的第一特征就可以确定出参与二进制文件编译的目标源代码文件。

最后,计算机设备可以根据开源软件特征库找到目标源代码文件所属的开源软件名称和版本号,因此计算机设备也可以确定该目标源代码文件对应的开源软件名称和版本号并输出,并在开源软件名称和版本号中标注,在该版本号的开源软件中实际参与了编译的源代码文件,或标注为参与编译的源代码文件。

示例性的,通过本申请实施例提供的文件处理方法,计算机设备确定出参与二进制文件编译的目标源代码文件为源代码文件A、源代码文件B和源代码文件C,其中源代码文件A属于开源软件A的版本1.1(版本号),源代码文件B属于开源软件A的版本1.1,源代码文件C属于开源软件B的版本1.2,而开源软件A的版本1.1除了包括源代码文件A和源代码文件B,还包括源代码文件D,开源软件B的版本1.2除了包括源代码文件C,还包括源代码文件E,即源代码文件D和源代码文件E没有参与二进制文件的编译。例如对于开源软件A的版本1.1来说,如图3所示,开源软件A的版本1.1中的源代码文件A、源代码文件B经过编译和链接,参与到二进制文件的生成,而源代码文件D就没有参与,因此对于二进制文件来说,只涉及到了开源软件A的版本1.1的部分代码和组件。

此时,计算机设备最终可以输出目标源代码文件,即输出开源软件A的版本1.1和开源软件B的版本1.2,并在开源软件A的版本1.1中标注出源代码文件D未参与编译,在开源软件B的版本1.2中标注出源代码文件E未参与编译,可选的,上述的标注也可以体现为未编译文件列表,该未编译文件列表包括源代码文件D和源代码文件E,即最终计算机设备输出开源软件A的版本1.1、开源软件B的版本1.2和未编译文件列表。

205、获取组件漏洞库。

206、从漏洞信息中确定出目标源代码文件的目标漏洞信息。

在完成开源软件检测后,还可以确定二进制文件引用的开源软件和版本号存在的漏洞,从而确定被测对象的漏洞,并生成对应的漏洞扫描报告。因此计算机设备需要获取组件漏洞库,该组件漏洞库包括每个源代码文件的漏洞信息。应理解,组件漏洞库中可以是计算机设备中预设的,也可以是实时构建的。

具体的,计算机设备先获取开源软件的补丁文件,这里的开源软件与开源软件特征库中的开源软件相同,且可以理解的是,补丁文件和漏洞是对应的,例如一个源代码文件中存在一个漏洞,那么就会有一个对应的补丁文件用于修复该漏洞。然后根据补丁文件确定每个源代码文件的漏洞信息,即对补丁文件进行解析,提取出修改、增加或删除的源代码文件及源代码行信息,并从中提取出已知漏洞的三元组的精准定位信息,即漏洞信息,该漏洞信息(三元组信息)包括源代码文件名称(源代码文件路径)、函数名称和源代码片段信息,最后将已知漏洞的编号和对应的漏洞信息保存在组件漏洞库中。

计算机设备获取到组件漏洞库中的漏洞信息后,就可以从漏洞信息中确定出目标源代码文件的目标漏洞信息。具体的,计算机设备获取到开源软件名称和版本号后,计算机设备根据开源软件名称和版本号在组件漏洞库中进行查询,获取该版本号下开源软件的所有的已知漏洞信息,然后根据未编译文件列表查询漏洞信息(已知漏洞精准定位信息),获取到不涉及的已知漏洞信息(未参与编译的源代码文件对应的漏洞信息),从而生成扫描报告,即该扫描报告中包括二进制文件涉及的已知漏洞信息(基于开源软件名称和版本号确定的),并在扫描报告中标注出不涉及的已知漏洞信息(基于未编译文件确定的)。

可选的,也可以直接确定目标源代码文件的目标漏洞信息作为扫描报告,示例性的,计算机设备确定目标源代码文件为源代码文件A和源代码文件B,然后与组件漏洞库中的漏洞信息进行匹配,确定源代码文件A和源代码文件B对应的开源软件和版本号,然后找出该版本号下开源软件的漏洞信息,最后找到这些漏洞信息中涉及源代码文件A和源代码文件B的目标漏洞信息,计算机设备将该目标漏洞信息作为扫描报告输出。

应理解,本申请实施例提供的文件处理方法的过程对用户是透明的,用户可以通过启动和关闭该文件处理方法来进行已知漏洞检查准确率的效果对比。

总结上述实施例可见,本申请实施例提供的文件处理方法带来的有益效果包括但不限于以下4点:

(1)通过获取开源软件中每个源代码文件的文件特征,并与作为被测对象的二进制文件进行匹配,从而在每个源代码文件中确定出参与二进制文件编译的目标源代码文件,即确定出二进制文件引用的开源软件名称及版本号中,具体的源代码文件,实现更细粒度的特征检测,提高了开源软件检测的准确性。

(2)基于强依赖关系确定出关联源代码文件,很好地解决了那些缺少特征而导致无法检测的源代码文件的问题,使得检测精准度更进一步的提升。

(3)根据二进制文件具体涉及的目标源代码文件找到对应的漏洞信息,实现更细粒度的漏洞检测,可以区分出哪些已知漏洞是该二进制文件不涉及的,提高了漏洞扫描报告的准确性。

(4)现在的已知漏洞只和开源软件名称及版本号进行对应,没有具体的精准定位三元组信息,因此在具有三元组信息的基础上,检测到未编译源代码信息后,可以准确的确定该文件影响到的已知漏洞对象。

以上介绍了本申请实施例提供的文件处理方法,下面结合附图介绍本申请实施例提供的相关设备。

如图4所示,本申请实施例提供的计算机设备400的一个实施例包括:

获取单元401,用于获取二进制文件和开源软件特征库,开源软件特征库包括开源软件中每个源代码文件的第一文件特征;该获取单元401可以执行上述方法实施例中的步骤201。

提取单元402,用于提取二进制文件中的第二文件特征;该提取单元402可以执行上述方法实施例中的步骤202。

匹配单元403,用于将第一文件特征和第二文件特征进行匹配,以确定二进制文件与每个源代码文件的相似度;该匹配单元403可以执行上述方法实施例中的步骤203。

确定单元404,用于根据相似度从每个源代码文件中确定出参与二进制文件编译的目标源代码文件。该确定单元404可以执行上述方法实施例中的步骤204。

本申请实施例中,通过获取开源软件中每个源代码文件的文件特征,并与作为被测对象的二进制文件进行匹配,从而在每个源代码文件中确定出参与二进制文件编译的目标源代码文件,即确定出二进制文件引用的开源软件名称及版本号中,具体的源代码文件,实现更细粒度的特征检测,提高了开源软件检测的准确性。

可选的,第一文件特征包括每个源代码文件的源文件特征和关联源代码文件的关联文件特征,关联源代码文件与源代码文件具有强依赖关系。

可选的,获取单元401具体用于获取开源软件中每个源代码文件的源文件特征和函数调用关系;根据函数调用关系和每个源代码文件的引用信息确定出关联源代码文件;获取关联源代码文件的关联文件特征;将源文件特征和关联文件特征进行融合,得到开源软件特征库。

可选的,获取单元401还用于获取组件漏洞库,组件漏洞库包括每个源代码文件的漏洞信息;确定单元404还用于从漏洞信息中确定出目标源代码文件的目标漏洞信息。

可选的,获取单元401具体用于获取开源软件的补丁文件;根据补丁文件确定每个源代码文件的漏洞信息。

可选的,漏洞信息包括源代码文件名称、函数名称和源代码片段信息。

本申请实施例提供的计算机设备400可以参阅前述文件处理方法实施例部分的相应内容进行理解,此处不再重复赘述。

在本申请的另一实施例中,还提供一种计算机设备,图5为本申请的实施例提供的计算机设备500的一种可能的逻辑结构示意图。计算机设备500包括:处理器501、通信接口502、存储系统503以及总线504。处理器501、通信接口502以及存储系统503通过总线504相互连接。在本申请的实施例中,处理器501用于对计算机设备500的动作进行控制管理,例如,处理器501用于执行上述实施例所描述计算机设备执行的文件处理方法。通信接口502用于支持计算机设备500进行通信。存储系统503,用于存储计算机设备500的程序代码和数据。

其中,处理器501可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器501也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线504可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

在本申请的另一实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机设备的至少一个处理器执行该指令时,计算机设备执行上述实施例所描述的文件处理方法。

在本申请的另一实施例中,还提供一种芯片系统,该芯片系统包括至少一个处理器和接口,该接口用于接收数据和/或信号,至少一个处理器用于支持实现上述实施例所描述的文件处理方法。在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存计算机设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备执行上述实施例所描述的文件处理方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 一种文件处理方法及终端设备
  • 一种文件处理方法及终端设备
  • 一种信息处理方法、区块链节点设备以及相关设备
  • 一种DPI设备的数据处理方法及相关的DPI设备
  • 一种文本处理方法、装置以及相关设备
  • 一种三维模型文件处理方法及其相关设备
  • 一种文件传输的处理方法及相关设备
技术分类

06120116499669