CN111914519A - 目标对象生成方法及装置、电子设备、存储介质 - Google Patents
目标对象生成方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN111914519A CN111914519A CN202010742372.7A CN202010742372A CN111914519A CN 111914519 A CN111914519 A CN 111914519A CN 202010742372 A CN202010742372 A CN 202010742372A CN 111914519 A CN111914519 A CN 111914519A
- Authority
- CN
- China
- Prior art keywords
- parameter
- target object
- target
- parameters
- configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请揭示了一种目标对象生成方法及装置,涉及大数据技术领域。该方法包括:获取为生成目标对象所配置的配置文件的路径,并根据路径将配置文件含有的配置数据加载到预设类的实例对象中,实例对象中含有目标对象的构造规则;在实例对象中解析配置数据,获得带有引用格式的引用参数,以及不带有引用格式的直接参数;根据引用格式所指示的参数引用方式,对引用参数中含有的参数引用部分进行转换处理,获得消除了引用格式的目标配置参数;按照目标对象的构造规则将目标配置参数和直接参数转换为目标对象的各项对象参数,获得目标对象。此外,本申请还涉及区块链技术,为生成目标对象所配置的配置文件可存储于区块链节点中。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种目标对象生成方法及装置、电子设备、计算机可读存储介质。
背景技术
对象转换是把从文件中读取出来的参数值转换为系统需要使用的对象的过程,通常每个系统参数转换逻辑因为业务和系统的差异而无法复用,并且转换逻辑重复繁杂,不仅浪费大量开发人力,而且很容易因为转换问题而造成系统缺陷。同时,参数中往往包含某些重复内容,例如文件目录等,需要用户进行多处配置,使得系统开发的工作量增加。
因此,如何便捷地进行对象转换是现有技术中还有待解决的技术问题。
发明内容
为了解决上述技术问题,本申请提供一种目标对象生成方法及装置、电子设备、计算机可读存储介质。
本申请所揭示的技术方案包括:
一种目标对象生成方法,包括:获取为生成目标对象所配置的配置文件的路径,并根据所述路径将所述配置文件含有的配置数据加载到预设类的实例对象中,所述实例对象中含有所述目标对象的构造规则;在所述实例对象中解析所述配置数据,获得带有引用格式的引用参数,以及不带有引用格式的直接参数;根据所述引用格式所指示的参数引用方式,对所述引用参数中含有的参数引用部分进行转换处理,获得消除了所述引用格式的目标配置参数;按照所述目标对象的构造规则将所述目标配置参数和所述直接参数转换为所述目标对象的属性参数,获得所述目标对象。
在一个示例性实施例中,在所述实例对象中解析所述配置数据,获得不带有引用格式的直接参数,包括:确定所述配置文件中为生成所述目标对象所配置的方法程序的前缀;将含有所述前缀的配置数据获取为所述直接参数。
在一个示例性实施例中,所述引用参数包括第一引用参数,所述第一引用参数的引用格式指示引用替换参数;对所述引用参数中含有的参数引用部分进行转换处理,包括:获取所述实例对象解析得到的替换参数;将所述第一引用参数中关于所述替换参数的引用部分替换为所述替换参数的值,以消除所述第一引用参数的引用格式。
在一个示例性实施例中,所述引用参数包括第二引用参数,所述第二引用参数的引用格式指示引用来源对象属性;对所述引用参数中含有的参数引用部分进行转换处理,包括:从所述实例对象所在的内存中获取目标来源对象的属性值;将所述第二引用参数中关于来源对象属性的引用部分替换为所述目标来源对象的属性值。
在一个示例性实施例中,所述引用参数包括第三引用参数,所述第三引用参数的引用格式指示引用运算表达式;对所述引用参数中含有的参数引用部分进行转换处理,包括:根据所述第三引用参数的引格式所指示引用的运算表达式,在所述实例对象中定位目标数据;对所述目标数据进行运算,并将所述第三引用参数中关于运算表达式的引用部分替换为运算所得到的结果值。
在一个示例性实施例中,所述方法还包括:在所述实例对象中获取用于生成所述目标对象的用户参数,以基于所述目标配置参数、所述直接参数和所述用户参数生成所述目标对象。
在一个示例性实施例中,所述方法还包括:将所述目标对象的各项对象参数作为值,且将所述各项对象参数对应的参数名称作为键存入Hash map中,以基于所述键和值在所述Hash map中进行所述目标对象的使用。
一种目标对象生成装置,包括:数据加载模块,用于获取为生成目标对象所配置的配置文件的路径,并根据所述路径将所述配置文件含有的配置数据加载到预设类的实例对象中,所述实例对象中含有所述目标对象的构造规则;参数解析模块,用于在所述实例对象中解析所述配置数据,获得带有引用格式的引用参数,以及不带有引用格式的直接参数;参数转换模块,用于根据所述引用格式所指示的参数引用方式,对所述引用参数中含有的参数引用部分进行转换处理,获得消除了所述引用格式的目标配置参数;对象生成模块,用于按照所述目标对象的构造规则将所述目标配置参数和所述直接参数转换为所述目标对象的各项对象参数,获得所述目标对象。
一种电子设备,包括处理器和存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如前任一项所述的目标对象生成方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如前任一项所述的目标对象生成方法。
本申请实施例提供的技术方案可以包括以下有益效果:
在上述技术方案中,对配置文件所含有配置数据的解析和转换是在预设类的实例对象中完成的,并且基于对配置数据的解析和转换所得到的相关参数生成目标对象的过程也是在此实例对象中完成的,也即是说,在本申请所提供的方法中,基于配置文件生成目标对象的过程是由预设类的实例对象自动实现的,开发人员只需预先配置好相应的配置文件即可,无需人工进行大量重复繁杂的开发工作,由此使得对象生成过程十分的便捷。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并于说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种目标对象生成方法的流程图;
图2是图1所示实施例中步骤130在一个实施例的流程图;
图3是图1所示实施例中步骤130在另一个实施例的流程图;
图4是图1所示实施例中步骤130在另一个实施例的流程图;
图5是根据一示例性实施例示出的一种目标对象生成装置的框图;
图6是根据一示例性实施例所示出的一种电子设备的硬件示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
如前所述,对象转换是把从文件中读取出来的参数值转换为系统需要使用的对象的过程,也即是基于一些参数构造系统所需使用的对象的过程。在现有技术中,由于不同系统的参数转换逻辑因为业务和系统的差异而无法复用,并且转换逻辑重复繁杂,导致人工进行对象生成所需参数的转换过程十分费时费力,并且效率不高。
基于此,本申请的实施例从不同的方面提出一种目标对象生成方法、一种目标对象生成装置、一种电子设备以及一种计算机可读存储介质,以通过一个工具类自动从配置文件中获取生成目标对象所需的参数信息,并最终构造得到可以直接使用的目标对象,省去了开发人员手动进行目标对象构造的繁杂过程,使得目标对象的构造过程十分方便。
请参阅图1,图1是根据一示例性实施例示出的一种目标对象生成方法的流程图,该方法至少包括如下步骤:
步骤110,获取为生成目标对象所配置的配置文件的路径,并根据路径将配置文件含有的配置数据加载到预设类的实例对象中,该实例对象中含有目标对象的构造规则。
首先需要说明的是,目标对象是指待生成的系统所需要使用的对象,具体需要基于特定的配置参数进行构造获得。
配置文件是开发人员为生成目标对象所配置的,其中含有用于生成目标对象的配置数据,例如配置数据包括对应于目标对象的配置名称、属性等数据。示例性的,配置文件可以存储在操作系统的文件系统中,或者存储于jar(是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源文件到一个文件)包中。还需要强调的是,为进一步保证上述为生成目标对象所配置的配置文件的私密和安全性,上述为生成目标对象所配置的配置文件还可以存储在一区块链的节点中。
配置文件的路径用于指示配置文件的存储位置,因此,基于配置文件的路径即可相应获取到该配置文件,并从该配置文件中读取到其所含有的配置数据。
配置文件的路径可以包括绝对路径、相对路径、类路径中的任意一种。其中,绝对路径是指主页文件或者目录在硬盘上真正的路径,相对路径是相对于当前文件的路径,类路径是类在项目文件中的路径。配置文件的类型不同,对应的路径也不同。
预设类是指预设的一个工具类,其中配设有目标对象的构造规则,以基于此工具类自动执行配置文件所含有配置数据的转换操作,并基于转换后的配置数据生成目标对象。
应当理解,类(Class)是面向对象程序设计实现信息封装的基础,也是由用户定义的引用数据类型,类的实例即称为对象。预设类的实例对象即为该预设类的实例,预设类所实现的功能实质上是由相应的实例对象具体执行。
因此,为实现预设类自动执行目标对象的生成操作,本实施例将配置文件含有的配置数据加载到预设类的实例对象中,以使预设类的示例对象基于这些配置数据构造生成目标对象,并能够直接提供给系统进行使用。
步骤120,在实例对象中解析配置数据,获得带有引用格式的引用参数以及不带有引用格式的直接参数。
其中,在实例对象中解析配置数据的过程,是指对配置文件所含有的配置数据进行解析的过程,以获得不同类型的配置参数,例如带有引用格式的引用参数,以及不带有引用格式的直接参数。
需要说明的是,引用格式是指一种特殊的数据格式,带有引用格式的引用参数不能直接用于生成目标对象,而是需要进行特定的转换处理,在得到具体的数据值后才能够作用于目标对象的构造。例如,引用格式{@<参数名称>}表示对该参数名称所对应的参数进行运算,所得的运算结果可用于生成目标对象。
不带有引用格式的直接参数则可以直接用于生成目标对象,而无需进行额外的转换处理。在一个实施例中,直接参数可以是含有目标对象的配置名称的配置数据。配置文件中配置有生成目标对象的方法程序,该方法程序的前缀对应于待生成的目标对象的配置名称,因此在确定配置文件中为生成目标对象所配置的方法程序的前缀之后,即可将含有此前缀的配置数据获取为不含有引用格式的直接参数。
步骤130,根据引用格式所指示的参数引用方式,对引用参数中含有的参数引用部分进行转换处理,获得消除了引用格式的目标配置参数。
如前所述,带有引用格式的引用参数无法直接用于生成目标对象,因此需要对引用参数进行转换处理,以消除引用参数中的引用格式,得到相应的目标配置参数。
消除引用参数中的引用格式是将引用参数中的引用格式替换为具体的数据值的过程。针对不同类型的引用格式,对相应引用参数进行转换处理的具体操作也不同。例如,如果引用格式指示将其它的已知参数进行替换,因此只需将引用参数直接替换为已知参数即可得到相应的目标配置参数;如果引用格式指示需要对引用参数进行运算,则需按照相应运算规则对引用参数进行运算得到目标配置参数。
步骤140,按照目标对象的构造规则将目标配置参数和直接参数转换为目标对象的各项对象参数,获得目标对象。
如前所述,目标配置参数和直接参数均是不带有引用格式的,并且目标配置参数和直接参数均是满足json(JavaScript Object Notation,JS对象简谱,是一种轻量级的数据交换格式)格式的字符串,因此基于这些参数即可在预设类的实例对象中执行目标对象的构造操作,从而得到目标对象。
示例性的,目标对象的生成过程通常是对不同的参数信息进行组合的过程,因此可以在预设类中引用专用的构造器来自动执行目标对象所含有基本类型、属性等各项对象参数的组合,由此得到目标对象。而针对系统中特有的某些对象,则可以在预设类中引用基于Class ID(类标识符)的对象工厂来构造目标对象。目标对象的构造规则相应配置在构造器或者对象工厂中。
由此,基于本实施例提供的方法,在将配置文件中的配置数据加载到预设的示例对象中之后,基于配置文件所含有的配置数据来生成目标对象的过程,是由预设类的实例对象自动实现的,开发人员只需预先在配置文件中配置好生成目标对象所需的配置数据即可,无需人工进行大量重复繁杂的开发工作,使得目标对象的生成过程十分的便捷。
在一示例性的实施例中,引用参数包括第一引用参数,第一引用参数的引用格式指示引用替换参数。其中,引用替换参数是指需要利用其它的已知参数进行替换,以得到用于生成目标对象的目标配置参数。
如图2所示,对第一引用参数进行转换处理,可以包括如下步骤:
步骤131,获取实例对象解析得到的替换参数;
步骤132,将第一引用参数中关于替换参数的引用部分替换为替换参数的值,以消除第一引用参数的引用格式。
首先需要说明的是,替换参数是配置文件中含有的已知参数,用于对第一引用参数进行替换,以获得不含有引用格式的目标配置参数。
预设类的实例对象对配置文件含有的配置数据进行解析时,不仅能够获得第一引用参数,还相应获取对第一引用参数进行替换的替换参数。例如,通过解析配置数据可以得到第一引用参数:FILE1_PATH={$DIR}\file1.txt并得到对应的替换参数:DIR=c:\data\abc\def\gh。
由此,基于替换参数对应的路径可以确定该替换参数的实际值,然后将替换参数的实际值替换为第一引用参数中含有的引用部分“{$DIR}”,即可得到相应的目标配置参数。
需要说明的是,在本实施例中,如果配置文件中的替换参数的实际值被修改,那么相应的修改会同步反映至引用该替换参数的第一引用参数中,因此能够保证目标对象的配置统一性。
在一示例性的实施例中,引用参数包括第二引用参数,第二引用参数的引用格式指示引用来源对象属性。其中,引用来源对象属性是指目标对象的构造需要引用其它的来源对象的属性信息。
如图3所示,对第二引用参数进行转换处理,可以包括如下步骤:
步骤133,从实例对象所在的内存中获取目标来源对象的属性值;
步骤134,将第二引用参数中关于来源对象属性的引用部分替换为目标来源对象的属性值。
首先需要说明的是,来源对象是指在预设类的实例对象所在内存中,除该实例对象以外的其它对象,本实施例构造目标对象所需的参数还存储在这些其它对象中。
示例性的,若假设内存中已存在的一个来源对象表示为ClassA,该来源对象表达为:ClassA[pro1=abc,pro2=ClassB[pro3=def],pro3=[ClassC[pro=C1]],可知该来源对象含有pro1、pro2以及pro3个属性,并且可以获取到每个属性对应的属性值。
第二引用参数所对应的引用格式可以为{<属性表达式>},在从实例对象所在的内存中获取目标来源对象的属性值之后,将第二引用参数中关于来源对象属性的引用部分替换为该目标来源对象的属性值,即可得到用于生成目标对象的目标配置参数。
在上述引用格式中,属性表达式可以包括直接属性、属性嵌套、元素访问等表达形式,直接属性表示直接引用目标来源对象的某个属性值,属性嵌套表示并列引用目标来源对象的至少两个属性值,元素访问表示引用目标来源对应的属性值中的具体元素。仍以上述来源对象ClassA为示例:
直接属性所对应的属性表达式可表示为:ARG=A_{pro1}->A_abc;
属性嵌套对应的属性表达式可表示为:ARG=A_{pro2.pro3}->A_def;
元素访问对应的属性表达式可表示为:ARG=A_{pro3[0].pro}->A_C1。
因此,本实施例通过对第二引用参数中关于来源对象属性的引用部分所进行的替换,能够从其它来源对象中获取属性信息用以生成目标对象,如果其它来源对象的属性值被修改,此修改会同步反映至引用该属性值的第二引用参数中,也能够保证目标对象的配置统一性。
在一示例性的实施例中,引用参数包括第三引用参数,第三引用参数的引用格式指示引用运算表达式,引用运算表达式是指需要对第三引用参数进行运算,以得到用于生成目标对象的目标配置参数。
如图4所示,对第三引用参数进行转换处理,可以包括如下步骤:
步骤135,根据第三引用参数的引用格式所指示引用的的运算表达式,在实例对象中定位目标数据;
步骤136,对目标数据进行运算,并将第三引用参数中关于运算表达式的引用部分替换为运算所得到的结果值。
在本实施例中,构造目标对象所需的参数还包括需要对参数进行一定运算得到,例如当前日期的前一天需要对当前日期减去1天而得到,目标对象的唯一标识需要根据某些参数进行计算得到。
示例性的,第三引用参数对应的引用格式表达为{@<运算表达式>},应当理解的是,该运算表达式中不仅含有运算所需的目标数据,还含有对目标数据进行运算的规则。因此,在根据第三引用参数所引用的运算表达式在实例对象中定位得到目标数据之后,根据运算表达式中含有的相应运算规则对所述目标数据进行运算,然后将第三引用参数替换为运算所得到的结果值,即可得到用于生成目标对象的目标配置参数。
在一个实施例中,关于第三引用参数的替换是在完成第一引用参数和第二引用参数的替换之后所进行的,因此第三引用参数对应的运算表达式中可以含有第一引用参数中关于替换参数的引用部分,和/或第二引用参数中关于来源对象属性的引用部分。
例如,生成目标对象的唯一标识的运算表达式为:ID=ABC_{@GID};计算当前日期的前一天日期的运算表达式为:BACKUP_DIR={@YYMMDD-1};运算表达式还可以是针对一些参数的数学运算,例如:ARG={@(3*%d)+{$ARG2}-{proArg}}。
由此,本实施例能够基于一定的参数运算来得到生成目标对象所需的目标配置参数,并且参与运算的目标数据还可以是其它类型的引用参数中的引用部分,如果其它类型的引用参数中的引用部分被修改,此修改会同步反映至第三引用参数中,从而保证了目标对象的配置统一性。
在另一示例性实施例中,用于生成目标对象的参数还包括用户输入的用户参数,由于这些用户参数是由用户输入,开发人员无法预先配置到配置文件中,因此需要在目标对象的生成过程中进行获取。
用户参数可以是由用户实时输入的一系列参数值,或者是内存中存储的参数值。预设类的实例对象中会配置有关于用户参数的引用部分,以根据此引用部分获取相应的用户参数。但需要说明的是,关于用户参数的引用部分的定义需满足Java formatter(是指Java编程语言中新增的类库,用于格式化文本)的格式要求,例如为%[argument_index$][flags][width][.precision]<conversion>。
在另一示例性的实施例中,在完成目标对象的构造后,还将目标对象存储至Hashmap(基于哈希表的Map接口的实现,提供所有可选的映射操作,并允许使用空值和空键),以便于后续进行目标对象的使用。
具体在Hash map中,是将目标对象的每项对象参数作为值,并将每项对象参数对应的参数名称作为键进行存储的。目标对象的对象参数可以包括对象属性、对象类型等。后续在进行目标对象的使用时,根据Hashmap中存储的键可确定相应的值,由此十分便于目标对象的使用。
在一示例性的应用场景中,本申请实施例提供的预设类表示为CfgProperties,该预设类可以读取properties文件(即配置文件),并输出系统所需要使用的目标对象。
该预设类所对应的实施过程可表示如下:
CfgProperties cfg=CfgProperties.fromFile(path);
Map<String,Object>objs=cfg.getObjectsByPrefix(“CLZA”,srcObject,argArray)。
具体来说,在该预设类的实例对象中,将前缀为“CLZA”的目标对象构造出来,并形成一个Hash map供其它程序进行调用。Hash map中的键(key)为目标对象中的每一项对象参数的名称,例如为CLZA_ARG1,Hash map中的键(value)为各项对象参数对应的参数值,由此以各项对象参数对应的参数值为基础形成可供程序调用的目标对象。
图5是根据一示例性实施例示出的一种目标对象生成装置的框图。如图5所示,该目标对象生成装置包括数据加载模块210、参数解析模块220、参数转换模块230和对象生成模块240。
其中,数据加载模块210用于获取为生成目标对象所配置的配置文件的路径,并根据路径将配置文件含有的配置数据加载到预设类的实例对象中,实例对象中含有目标对象的构造规则。参数解析模块220用于在实例对象中解析配置数据,获得带有引用格式的引用参数,以及不带有引用格式的直接参数。参数转换模块230用于根据引用格式所指示的参数引用方式,对引用参数中含有的参数引用部分进行转换处理,获得消除了引用格式的目标配置参数。对象生成模块240用于按照目标对象的构造规则将目标配置参数和直接参数转换为目标对象的各项对象参数,获得目标对象。
在一示例性实施例中,参数解析模块220包括前缀确定单元和数据提取单元。前缀确定单元用于确定配置文件中为生成目标对象所配置的方法程序的前缀,数据提取单元用于将含有前缀的配置数据获取为直接参数。
在一示例性实施例中,引用参数包括第一引用参数,第一引用参数的引用格式指示引用替换参数,参数转换模块230包括替换参数获取单元和参数替换单元。替换参数获取单元用于获取实例对象解析得到的替换参数。参数替换单元用于将第一引用参数关于替换参数的引用部分替换为替换参数的值,以消除第一引用参数的引用格式。
在一示例性实施例中,引用参数包括第二引用参数,第二引用参数的引用格式指示引用来源对象属性,参数转换模块230包括属性获取单元和属性替换单元。属性获取单元用于从实例对象所在的内存中获取目标来源对象的属性值。属性替换单元用于将第二引用参数中关于来源对象属性的引用部分替换为目标来源对象的属性值。
在一示例性实施例中,引用参数包括第三引用参数,第三引用参数的引用格式指示引用运算表达式,参数转换模块230包括数据定位单元和运算替换单元。数据定位单元用于根据第三引用参数的引用格式所指示引用的运算表达式,在实例对象中定位目标数据。运算替换单元用于对目标数据进行运算,并将第三引用参数中关于运算表达式的引用部分替换为运算所得到的结果值。
在一示例性实施例中,目标对象生成装置还包括用户数据获取模块,该用户数据获取模块用于在实例对象中获取用于生成目标对象的用户参数,以基于目标配置参数、直接参数和用户参数生成目标对象。
在一示例性实施例中,该装置还包括对象存储模块,该对象存储模块用于将目标对象的各项对象参数作为值,且将各项对象参数对应的参数名称作为键存入Hash map中,以基于键和值在Hash map中进行目标对象的使用。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
在一示例性的实施例中,本申请还提供一种电子设备,该设备包括处理器和存储器,该存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时,实现如前所述的目标对象生成方法。
进一步地,计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
图6是根据一示例性实施例所示出的一种电子设备的硬件示意图。
需要说明的是,该电子设备只是一个适配于本申请的示例,不能认为是提供了对本申请的使用范围的任何限制。该电子设备也不能解释为需要依赖于或者必须具有图6中示出的示例性的电子设备中的一个或者多个组件。
该电子设备的硬件结构可因配置或者性能的不同而产生较大的差异,如图6所示,电子设备包括:电源510、接口530、至少一存储器550、以及至少一中央处理器(CPU,CentralProcessing Units)570。
其中,电源510用于为电子设备上的各硬件设备提供工作电压。
接口530包括至少一有线或无线网络接口531、至少一串并转换接口533、至少一输入输出接口535以及至少一USB接口537等,用于与外部设备通信。
存储器550作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统551、应用程序553或者数据555等,存储方式可以是短暂存储或者永久存储。
其中,操作系统551用于管理与控制电子设备上的各硬件设备以及应用程序553,以实现中央处理器570对海量数据555的计算与处理,其可以是Windows ServerTM、Mac OSXTM、UnixTM、LinuxTM等。应用程序553是基于操作系统551之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图6中未示出),每个模块都可以分别包含有对电子设备的一系列计算机可读指令。数据555可以是存储于磁盘中的http协议数据等。
中央处理器570可以包括一个或多个以上的处理器,并设置为通过总线与存储器550通信,用于运算与处理存储器550中的海量数据555。
如上面所详细描述的,适用本申请的电子设备将通过中央处理器570读取存储器550中存储的一系列计算机可读指令的形式来完成前述实施例所述的目标对象生成方法。
此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本申请,因此实现本申请并不限于任何特定硬件电路、软件以及两者的组合。
在一示例性的实施例中,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如前所述的目标对象生成方法。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
还应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种目标对象生成方法,其特征在于,包括:
获取为生成目标对象所配置的配置文件的路径,并根据所述路径将所述配置文件含有的配置数据加载到预设类的实例对象中,所述实例对象中含有所述目标对象的构造规则;
在所述实例对象中解析所述配置数据,获得带有引用格式的引用参数,以及不带有引用格式的直接参数;
根据所述引用格式所指示的参数引用方式,对所述引用参数中含有的参数引用部分进行转换处理,获得消除了所述引用格式的目标配置参数;
按照所述目标对象的构造规则将所述目标配置参数和所述直接参数转换为所述目标对象的各项对象参数,获得所述目标对象。
2.根据权利要求1所述的方法,其特征在于,在所述实例对象中解析所述配置数据,获得不带有引用格式的直接参数,包括:
确定所述配置文件中为生成所述目标对象所配置的方法程序的前缀;
将含有所述前缀的配置数据获取为所述直接参数。
3.根据权利要求1所述的方法,其特征在于,所述引用参数包括第一引用参数,所述第一引用参数的引用格式指示引用替换参数;对所述引用参数中含有的参数引用部分进行转换处理,包括:
获取所述实例对象解析得到的替换参数;
将所述第一引用参数中关于所述替换参数的引用部分替换为所述替换参数的值,以消除所述第一引用参数的引用格式。
4.根据权利要求1所述的方法,其特征在于,所述引用参数包括第二引用参数,所述第二引用参数的引用格式指示引用来源对象属性;对所述引用参数中含有的参数引用部分进行转换处理,包括:
从所述实例对象所在的内存中获取目标来源对象的属性值;
将所述第二引用参数中关于来源对象属性的引用部分替换为所述目标来源对象的属性值。
5.根据权利要求1所述的方法,其特征在于,所述引用参数包括第三引用参数,所述第三引用参数的引用格式指示引用运算表达式;对所述引用参数中含有的参数引用部分进行转换处理,包括:
根据所述第三引用参数的引用格式所指示引用的运算表达式,在所述实例对象中定位目标数据;
对所述目标数据进行运算,并将所述第三引用参数中关于运算表达式的引用部分替换为运算所得到的结果值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述实例对象中获取用于生成所述目标对象的用户参数,以基于所述目标配置参数、所述直接参数和所述用户参数生成所述目标对象。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述目标对象的各项对象参数作为值,且将所述各项对象参数对应的参数名称作为键存入Hash map中,以基于所述键和值在所述Hash map中进行所述目标对象的使用。
8.一种目标对象生成装置,其特征在于,包括:
数据加载模块,用于获取为生成目标对象所配置的配置文件的路径,并根据所述路径将所述配置文件含有的配置数据加载到预设类的实例对象中,所述实例对象中含有所述目标对象的构造规则;
参数解析模块,用于在所述实例对象中解析所述配置数据,获得带有引用格式的引用参数,以及不带有引用格式的直接参数;
参数转换模块,用于根据所述引用格式所指示的参数引用方式,对所述引用参数中含有的参数引用部分进行转换处理,获得消除了所述引用格式的目标配置参数;
对象生成模块,用于按照所述目标对象的构造规则将所述目标配置参数和所述直接参数转换为所述目标对象的各项对象参数,获得所述目标对象。
9.一种电子设备,其特征在于,包括:
存储器,存储有计算机可读指令;
处理器,读取存储器存储的计算机可读指令,以执行权利要求1-7中的任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-7中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010742372.7A CN111914519B (zh) | 2020-07-27 | 2020-07-27 | 目标对象生成方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010742372.7A CN111914519B (zh) | 2020-07-27 | 2020-07-27 | 目标对象生成方法及装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111914519A true CN111914519A (zh) | 2020-11-10 |
CN111914519B CN111914519B (zh) | 2023-10-03 |
Family
ID=73286683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010742372.7A Active CN111914519B (zh) | 2020-07-27 | 2020-07-27 | 目标对象生成方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914519B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039114A1 (en) * | 2003-07-16 | 2005-02-17 | Oracle International Corporation | Spreadsheet to SQL translation |
US20060136809A1 (en) * | 2004-12-17 | 2006-06-22 | Xerox Corporation | Method and apparatus for generating instances of documents |
US20070260571A1 (en) * | 2006-04-19 | 2007-11-08 | Apple Computer, Inc. | Generating a format translator |
US20090183117A1 (en) * | 2003-12-12 | 2009-07-16 | Peter Hon-You Chang | Dynamic generation of target files from template files and tracking of the processing of target files |
CN101578579A (zh) * | 2007-01-10 | 2009-11-11 | 微软公司 | 分类对象建模 |
CN104346322A (zh) * | 2013-08-08 | 2015-02-11 | 北大方正集团有限公司 | 文档格式处理装置和文档格式处理方法 |
CN105683946A (zh) * | 2013-06-15 | 2016-06-15 | 微软技术许可有限责任公司 | 电子表格应用中的无缝网格和画布集成 |
CN106649769A (zh) * | 2016-12-27 | 2017-05-10 | 中国科学院大学 | 一种基于语义的xbrl数据到owl数据的转换方法 |
CN109766253A (zh) * | 2018-12-15 | 2019-05-17 | 平安证券股份有限公司 | 一种性能数据发送方法、装置、计算机设备及存储介质 |
CN110704099A (zh) * | 2019-10-10 | 2020-01-17 | 北京东软望海科技有限公司 | 联盟链的构建方法、装置和电子设备 |
US20200043232A1 (en) * | 2018-07-31 | 2020-02-06 | Microsoft Technology Licensing, Llc | Exporting non-mesh components when exporting 3d objects to 3d file formats |
CN111198677A (zh) * | 2018-10-30 | 2020-05-26 | 阿里巴巴集团控股有限公司 | 一种设备对象生成方法、装置及设备 |
-
2020
- 2020-07-27 CN CN202010742372.7A patent/CN111914519B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039114A1 (en) * | 2003-07-16 | 2005-02-17 | Oracle International Corporation | Spreadsheet to SQL translation |
US20090183117A1 (en) * | 2003-12-12 | 2009-07-16 | Peter Hon-You Chang | Dynamic generation of target files from template files and tracking of the processing of target files |
US20060136809A1 (en) * | 2004-12-17 | 2006-06-22 | Xerox Corporation | Method and apparatus for generating instances of documents |
US20070260571A1 (en) * | 2006-04-19 | 2007-11-08 | Apple Computer, Inc. | Generating a format translator |
CN101578579A (zh) * | 2007-01-10 | 2009-11-11 | 微软公司 | 分类对象建模 |
CN105683946A (zh) * | 2013-06-15 | 2016-06-15 | 微软技术许可有限责任公司 | 电子表格应用中的无缝网格和画布集成 |
CN104346322A (zh) * | 2013-08-08 | 2015-02-11 | 北大方正集团有限公司 | 文档格式处理装置和文档格式处理方法 |
CN106649769A (zh) * | 2016-12-27 | 2017-05-10 | 中国科学院大学 | 一种基于语义的xbrl数据到owl数据的转换方法 |
US20200043232A1 (en) * | 2018-07-31 | 2020-02-06 | Microsoft Technology Licensing, Llc | Exporting non-mesh components when exporting 3d objects to 3d file formats |
CN111198677A (zh) * | 2018-10-30 | 2020-05-26 | 阿里巴巴集团控股有限公司 | 一种设备对象生成方法、装置及设备 |
CN109766253A (zh) * | 2018-12-15 | 2019-05-17 | 平安证券股份有限公司 | 一种性能数据发送方法、装置、计算机设备及存储介质 |
CN110704099A (zh) * | 2019-10-10 | 2020-01-17 | 北京东软望海科技有限公司 | 联盟链的构建方法、装置和电子设备 |
Non-Patent Citations (1)
Title |
---|
陈治平;: "基于复杂对象分解的相似性计算方法", 计算机工程与应用, no. 34, pages 149 * |
Also Published As
Publication number | Publication date |
---|---|
CN111914519B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10095499B2 (en) | Optimization for multi-project package manager | |
US10740093B2 (en) | Advanced packaging techniques for improving work flows | |
US11036754B2 (en) | Database table conversion | |
JP5475979B2 (ja) | プロジェクト開発環境を与える方法及び装置並びにプロジェクト開発システム(プロジェクト開発環境を与える方法及び装置並びにプロジェクト開発システム) | |
US20170161291A1 (en) | Database table conversion | |
US11048524B2 (en) | Creating a tokenized process template for invoking one or more services by replacing service references with respective tokens | |
JP6673359B2 (ja) | システム構築支援システム、方法およびプログラム | |
CN112769706B (zh) | 组件化路由方法及系统 | |
JP2017519314A (ja) | 製品、材料及び製造工程の統合化された設計向けのモデルを活用した計算プラットフォーム | |
CN112000320A (zh) | 自动化代码生成方法、装置、设备及存储介质 | |
CN111428451A (zh) | 文本在线编辑方法、装置、电子设备及存储介质 | |
Chen et al. | A novel automated construction scheme for efficiently developing cloud manufacturing services | |
CN114047938B (zh) | 一种构建镜像的方法、装置、设备及可读存储介质 | |
US20100251207A1 (en) | Framework for variation oriented analysis for service-oriented architecture | |
US9330372B2 (en) | Generating an improved development infrastructure | |
CN113495723B (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN111198880A (zh) | 一种基于redis的数据存储方法、装置及电子设备 | |
CN112905227A (zh) | 开源软件版本登记方法及装置 | |
US20170286192A1 (en) | Interprogram communication messaging for program synchronization | |
CN111914519B (zh) | 目标对象生成方法及装置、电子设备、存储介质 | |
CN116107991A (zh) | 容器标签数据库构建方法、装置、存储介质及电子设备 | |
CN113760292A (zh) | 开发应用程序的方法、装置、电子设备和存储介质 | |
US10162626B2 (en) | Ordered cache tiering for program build files | |
CN109271182B (zh) | 用于搜索引擎升级的方法及装置 | |
Corradini et al. | A Data Extraction Methodology for Ethereum Smart Contracts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |