用于数据加载的方法、装置及计算机可读介质与流程

文档序号:13915582阅读:127来源:国知局

本发明涉及数据库信息处理领域,具体而言,涉及一种用于数据加载的方法、装置及计算机可读介质。



背景技术:

数据加载(etl,extract-transform-load),是用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。即为将数据从一个地方抽取经过转换加载到另一个地方的过程,etl过程是搭建数据仓库的核心内容;一般来讲实现etl的过程有两种主要的方式;第一种通过编码的方式,由开发人员写代码封装抽取逻辑,配置调度任务,进行抽取;另一种是通过外部工具,使用etl工具来进行开发,涉及转换和工作流的设计创建;以上两种方式都离不开映射转换逻辑的处理,其中非常重要的一部分内容是源与目标的字段映射关系及字段的加工处理,无论是哪种方式,都需要由业务人员告知技术人员映射关系,技术人员经过设计形成文档,然后经过开发实现etl过程,现有技术中的这种实现方式使得映射关系的维护与实现无法形成一个统一的整体。

传统的数据仓库项目在应对上面两种需求时,通用流程是先设计后开发,即由开发人员与相关方确认业务逻辑,设计表结构,形成设计文档;通过确认后的设计文档再交由开发人员,开发人员照着文档内容进行开发;随着时间的推移,需求的调整可能直接在程序上实现,文档的作用愈加变小,使得设计与开发脱离。

因此,需要一种新的用于数据加载的方法、装置及计算机可读介质。

在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

有鉴于此,本发明提供一种用于数据加载的方法、装置及计算机可读介质,能够快速的应对新的需求,无缝对接不同的数据库和不同的etl工具,让数据仓库核心逻辑能够通过设计文档准确全面的表达。

本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

根据本发明的一方面,提出一种用于数据加载的方法,该方法包括:通过源数据库内容与目标数据库内容生成映射关系;创建所述目标数据库的表结构;通过所述映射关系,生成数据抽取指令;将所述数据抽取指令部署在数据加载工具中;以及执行所述数据抽取指令完成数据加载。

在本公开的一种示例性实施例中,还包括:将所述源数据库内容进行初始处理,生成预定的数据对象描述方式。

在本公开的一种示例性实施例中,所述将所述源数据库内容进行初始处理,包括:通过转换字典将所述源数据库内容进行初始处理。

在本公开的一种示例性实施例中,所述通过源数据库内容与所述目标数据库内容生成映射关系,包括:通过源数据库中表的字段定义与所述目标数据库中的表的字段定义,生成映射关系;以及通过所述映射关系生成映射关系文档。

在本公开的一种示例性实施例中,所述创建所述目标数据库的表结构,包括:通过脚本语言创建所述目标数据库的所述表结构。

在本公开的一种示例性实施例中,所述通过脚本语言创建所述目标数据库的所述表结构,包括:将所述目标数据库中的表结构相关信息储存在vba变量中;读取所述vba变量内容,生成所述脚本语言;以及将所述脚本语言在所述目标数据库执行以生成所述表结构。

在本公开的一种示例性实施例中,所述通过所述映射关系,生成数据抽取指令,包括:判断所述数据加载工具的类型;以及根据所述数据加载工具的不同类型,分别生成不同的数据抽取指令。

在本公开的一种示例性实施例中,所述通过所述映射关系,生成数据抽取指令,还包括:判断由所述源数据库至所述目标数据库的数据抽取方式;以及根据不同的数据抽取方式,分别生成不同的数据抽取指令。

在本公开的一种示例性实施例中,所述通过所述映射关系,生成数据抽取指令,还包括:将预定信息写入预定数据抽取指令格式中,生成赋值模板。

在本公开的一种示例性实施例中,所述通过所述映射关系,生成数据抽取指令,还包括:将待赋值信息赋值到所述赋值模板,以生成第一格式文件;以及通过所述第一格式文件生成所述数据抽取指令。

根据本发明的一方面,提出一种用于数据加载的装置,该装置包括:映射模块,用于通过源数据库内容与目标数据库内容生成映射关系;结构模块,用于创建所述目标数据库的表结构;指令模块,用于通过所述映射关系,生成数据抽取指令;部署模块,用于将所述数据抽取指令部署在数据加载工具中;以及执行模块,用于执行所述数据抽取指令完成数据加载。

在本公开的一种示例性实施例中,还包括:处理模块,用于将所述源数据库内容进行初始处理,生成预定的数据对象描述方式。

根据本发明的一方面,提出一种计算机可读介质,其上存储有计算机程序,其特征在于,程序被处理器执行时实现如上文中的方法。

根据本发明的用于数据加载的方法、装置及计算机可读介质,能够快速的应对新的需求,无缝对接不同的数据库和不同的etl工具。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的一种用于数据加载的方法的流程图。

图2是根据一示例性实施例示出的映射关系的示意图。

图3是根据一示例性实施例示出的输出数据示意图。

图4是根据一示例性实施例示出的源表内容的示意图。

图5是根据一示例性实施例示出的转换字典转换的示意图。

图6是根据一示例性实施例示出的目标表内容的示意图。

图7是根据一示例性实施例示出的一种用于数据加载的方法的系统流程图。

图8是根据另一示例性实施例示出的一种用于数据加载的方法的示意图。

图9是根据一示例性实施例示出的一种用于数据加载的方法的示意图。

图10是根据一示例性实施例示出的数据结构示意图。

图11是根据另一示例性实施例示出的数据结构示意图。

图12是根据一示例性实施例示出的一种用于数据加载的装置的框图。

图13是根据另一示例性实施例示出的一种用于数据加载的装置的框图。

图14据一示例性实施例示出的一种计算机可读介质示意图。

具体实施例

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。

本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的,因此不能用于限制本发明的保护范围。

下面结合附图对本公开示例实施方式进行详细说明。

图1是根据一示例性实施例示出的一种用于数据加载的方法的流程图。

如图1所示,在s102中,通过源数据库内容与目标数据库内容生成映射关系。通过源数据库中表的字段定义与所述目标数据库中的表的字段定义,生成映射关系;以及通过所述映射关系生成映射关系文档。可例如,获取源数据库中待处理的数据的字段定义与目标数据库中目标表的字段定义,分析上述字段定义,形成源数据库内容与目标数据库内容的映射关系,可例如图2所述。还可例如,通过上述映射关系生成映射关系文档。

在s104中,创建所述目标数据库的表结构。在etl过程中,需要先创建目标数据库的对应的表才能通过etl工具往目标数据库的表中插入数据。可例如,通过脚本语言创建所述目标数据库的所述表结构。包括:将所述目标数据库中的表结构相关信息储存在vba变量中;读取所述vba变量内容,生成所述脚本语言;以及将所述脚本语言在所述目标数据库执行以生成所述表结构。可例如,通过约定的关键词对目标表的格式信息进行分类,根据分类信息中的内容,从上往下依次读取目标表内容,读取的内容包括目标表名称、字段、索引、分区的具体内容等。还可例如,预先设定的多个目标数据库对应的数据格式和约定的格式转换规则,比如对于oracle数据库,其要求字段类型为number数值型;比如对于索引类型维护了idx则会认为它是普通索引等。进而将读取到的内容结合转换为数据库能够识别的内容,包括字段类型的转换、索引类型的转换、分区分类型的转换等。还可例如,将读取的目标表内容进行不同结构的组织,形成能够被目标数据库识别的脚本语言。

还可例如,获取目标表的格式信息及其相关内容;将该目标表的格式信息分为四块,可例如目标表名称、字段内容、索引内容、分区内容,临时将这些内容先存储在vba变量中;读取的同时会对内容进行转换,转换的规则为预先约定的或存储在vba模块中的格式转换定义,图3中转换主要为字段类型的转换,会将vc转换为varchar2,n转换为number,d转换为date等;转换后,会判断影响表结构sql语句的因素存不存在,上图中影响的因素为分区内容是否有填;判断分区内容没有维护,则会按照常规的结构将前一步中转换好的内容进行组织;形成能够被目标数据库识别的脚本语言。

在s106中,通过所述映射关系,生成数据抽取指令。在本申请中,数据抽取指令可例如为:核心etl代码。包括:判断所述数据加载工具的类型;以及根据所述数据加载工具的不同类型,分别生成不同的数据抽取指令。还包括:判断由所述源数据库至所述目标数据库的数据抽取方式;以及根据不同的数据抽取方式,分别生成不同的数据抽取指令。还包括:将预定信息写入预定数据抽取指令格式中,生成赋值模板。将待赋值信息赋值到所述赋值模板,以生成第一格式文件;以及通过所述第一格式文件生成所述数据抽取指令。

在s108中,将所述数据抽取指令部署在数据加载工具中。数据抽取指令(核心etl代码)是在etl工具里执行的,将所述数据抽取指令部署在数据加载工具中。

在s110中,执行所述数据抽取指令完成数据加载。etl工具读取生成的核心etl代码来生成映射或工作流,从而完成大部分的etl开发工作。

根据本发明的用于数据加载的方法,通过将数据抽取指令部署到etl工具中,辅助数据抽取的方式,能够快速的应对新的需求,无缝对接不同的数据库和不同的etl工具,让数据仓库核心逻辑能够通过设计文档准确全面的表达。

应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施例。

在本公开的一种示例性实施例中,还包括:将所述源数据库内容进行初始处理,生成预定的数据对象描述方式。可例如包括:通过转换字典将所述源数据库内容进行初始处理。可例如,圈定需要采集的源表内容,将源表内容按照一定的格式维护在文档上,每个源表需要采集提取如图4所示的关键信息。

还可例如,通过如下步骤进行源数据库的数据采集:根据源数据库配置信息与源数据库进行连接;连接上源数据库后,从源数据库中读取圈定源表的表结构内容,数据库中的系统表存储表结构内容;将源表表结构读取后,将内容写入到文档指定的位置,分成表名、字段内容、索引内容等等。

图5是根据一示例性实施例示出的转换字典转换的示意图。如图5所示,还可例如,将不同源数据库的数据对象统一转换为标准的数据对象描述方式,通过自定义数据对象转换字典来实现。其中,目标表可例如如图6所示。

图7是根据另一示例性实施例示出的一种用于数据加载的方法的系统流程图。

如图7所示,通过源数据库010圈定需要采集的源表内容,将源表内容按照一定的格式维护在文档上,生成源表结构011,每个源表需要采集提取如图4所示的关键信息。通过自定义数据对象转换字典021来将不同源数据库的源表结构011统一转换为标准的目标表结构012。分析目标数据库中目标表结构012的字段定义和源表结构011的字段定义,形成源表和目标表的映射关系,并将源表与目标表字段之间的映射关系维护在文档中,生成映射关系文档022。

图8是根据另一示例性实施例示出的一种用于数据加载的方法的示意图。图8对图7中的通过vba023构建数据库脚本013进行了示例性的描述。

可例如包括如下处理过程:

(1)获取目标表的格式信息及其相关内容。

(2)通过约定的关键词对目标表的格式信息进行分类,提取内容位置信息。

(3)依靠内容位置信息,从上往下依次读取目标表内容,读取的内容包括目标表名称、字段、索引、分区的具体内容等。

(4)根据预先存储多个目标数据库对应的数据格式和约定的格式转换规则,比如对于oracle数据库,其要求字段类型为number数值型;比如对于索引类型维护了idx则会认为它是普通索引等。根据格式存储单元的内容,将读取到的内容结合转换为数据库能够识别的内容,包括字段类型的转换、索引类型的转换、分区分类型的转换等。

(5)判断会影响表结构sql语句的因素是否存在。根据判断结果,将读取的目标表内容进行不同结构的组织,形成能够被目标数据库识别的脚本语言。当组织好结构之后将内容逐行输出,即写入到文本文件。

将生成的目标表建表脚本(数据库脚本013)在目标数据库020执行,从而在目标数据库020中生成目标表结构。

将前面设计维护好的映射关系通过编写特定模块的vba024生成etl核心代码014。

图9是根据一示例性实施例示出的一种用于数据加载的方法的示意图。可例如,通过如图9所示的步骤生成etl核心代码014:

(1)通过关键词将维护的内容进行分类,主要分为源表表名,目标表表名,抽取方式,映射内容等,将这些内容在文档中的位置信息临时存储,位置信息同记录文档中的位置信息。

(2)依靠上一步的内容位置信息,读取这些位置信息对应的文档内容,主要为源表表名、目标表名、以及两者之间的字段映射关系,将这些内容临时存储在vba变量中。

(3)判断数据从源表抽取到目标表的方式,比如日期增量、全量、变换增量等不同的抽取方式;判断目标etl工具的类型,不同的etl工具对etl内容的存储和识别不同,形成的etl核心代码格式也不同,此处的判断为后面格式的调用提供了前置条件。

(4)针对不同的etl工具或方式而对格式进行的设定,可例如,预先定义该目标etl工具能够识别的格式,同时定义了哪些关键etl信息需要进行赋值;针对不同的etl工具,预先在vba模块中定义了常用的格式单元,根据判断的结果进行调用。

比如格式为<sourcename=””></source>,这是某etl工具固定的表示源表表名的格式,其中name后面即为需要进行赋值的地方,也就是说主体内容已经形成,只需要下一步赋值单元将值赋予,即可形成被目标etl工具识别的核心etl代码014。

(5)可例如,将核心etl信息写入到特定的etl格式中,比如上一步提到的源表表名格式,则需要将从文档中读取到的源表表名xxx赋值到上述name后面,形成<sourcename=”源表表名”></source>这样的内容,从而告知etl工具,有一张源表,源表的名称为xxx;格式类似于一个模板,模板定义好了etl代码的整体结构,但里面关键内容的值是待填的;赋值是将从文档中读取到的关键内容填入到模板中的过程。

(6)将关键内容赋值到etl格式中后内容输出到特定格式的文本文件,输出文件的路径、名称等。

根据本发明的用于数据加载的方法,通过将设计数据模型、设计etl的过程以文档为载体,以规范的文档格式内容为基础,通过编写特定vba模块,实现能够针对不同目标数据库生成表结构及针对不同etl工具生成etl核心代码的功能。

不同的etl工具其能识别的格式不一样,先判断目标etl工具类别,然后根据不同的etl工具调用不同的格式单元。图10,11是根据一示例性实施例示出的数据结构示意图。展示了两种etl工具能够识别的etl格式,以目标表结构的定义为例,图10对应的etl工具通过xml格式来定义,即标记2的位置,代码为<targetname=”目标表”><targetfieldname=“目标字段”></target>,其中目标表和目标字段为从文档中读取到的内容,其他为固定的格式,该格式即告知该etl工具目标表的名称和包含的字段内容。图11对应的etl工具通过表结构的记录来表示,即图中目标定义,将关键信息插入到该etl工具对应的表中,该sql语句同样是固定的格式,vba的赋值单元会将其中关键的字段值用读取到的文档内容进行替换,从而告知etl工具目标表结构的定义;在将核心etl信息赋值到格式中后,即能生成如下两种针对不同etl工具的核心etl代码。

本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由cpu执行的计算机程序。在该计算机程序被cpu执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

此外,需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

图12是根据一示例性实施例示出的一种用于数据加载的装置的框图。

映射模块1202用于通过源数据库内容与目标数据库内容生成映射关系。

结构模块1204用于创建所述目标数据库的表结构。

指令模块1206用于通过所述映射关系,生成数据抽取指令。

部署模块1208用于将所述数据抽取指令部署在数据加载工具中。

执行模块1210用于执行所述数据抽取指令完成数据加载。

在本公开的一种示例性实施例中,还包括:处理模块(图中未示出)用于将所述源数据库内容进行初始处理,生成预定的数据对象描述方式。

根据本发明的用于数据加载的装置,通过将数据抽取指令部署到etl工具中,辅助数据抽取的方式,能够快速的应对新的需求,无缝对接不同的数据库和不同的etl工具,让数据仓库核心逻辑能够通过设计文档准确全面的表达。

图13是根据另一示例性实施例示出的一种用于数据加载的装置的框图。图13所示的步骤生成etl核心代码的过程。

分类单元1302通过关键词将维护的内容进行分类。

读取单元1304依靠上一步分类单元1302取得的内容位置信息,读取这些位置信息对应的文档内容,将这些内容临时存储在vba变量中。

判断单元1306用于判断数据从源表抽取到目标表的方式。

格式单元1308用于针对不同的etl工具或方式而对格式进行的设定。

赋值单元1310将核心etl信息写入到特定的etl格式中,赋值是将从文档中读取到的关键内容填入到模板中的过程。

输出单元1312将上一步即将关键内容赋值到etl格式中后内容输出到特定格式的文本文件。

图14据一示例性实施例示出的一种计算机可读介质示意图。

参考图14所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:通过源数据库内容与目标数据库内容生成映射关系;创建所述目标数据库的表结构;通过所述映射关系,生成数据抽取指令;将所述数据抽取指令部署在数据加载工具中;以及执行所述数据抽取指令完成数据加载。

本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施例的方法。

通过以上的详细描述,本领域的技术人员易于理解,根据本发明实施例的用于数据加载的方法、装置及计算机可读介质具有以下优点中的一个或多个。

根据一些实施例,本发明的用于数据加载的方法,通过将数据抽取指令部署到etl工具中,辅助数据抽取的方式,能够快速的应对新的需求,无缝对接不同的数据库和不同的etl工具,让数据仓库核心逻辑能够通过设计文档准确全面的表达。

根据另一些实施例,本发明的用于数据加载的方法,通过将设计数据模型、设计etl的过程以文档为载体,以规范的文档格式内容为基础,通过编写特定vba模块,实现能够针对不同目标数据库生成表结构及针对不同etl工具生成etl核心代码的功能。

以上具体地示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本发明可实施的范畴。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1