CN113791775B - 元数据的流程编排方法与装置、存储介质和电子设备 - Google Patents
元数据的流程编排方法与装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN113791775B CN113791775B CN202010848900.7A CN202010848900A CN113791775B CN 113791775 B CN113791775 B CN 113791775B CN 202010848900 A CN202010848900 A CN 202010848900A CN 113791775 B CN113791775 B CN 113791775B
- Authority
- CN
- China
- Prior art keywords
- flow
- metadata
- model
- entity
- data result
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 306
- 230000008569 process Effects 0.000 claims abstract description 25
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开属于数据处理技术领域,涉及一种元数据的流程编排方法与装置、存储介质和电子设备。该方法包括:获取元数据,并确定与元数据对应的实体类型;若元数据对应单实体,执行与元数据对应的方法模型和/或关系模型中的流程方法得到数据结果;若元数据对应多实体,执行与元数据对应的流程模型、方法模型和/或关系模型中的流程方法得到数据结果。本公开一方面,用户在定义元数据对应实体类型的过程中就能完成流程编排,实现建模即开发的效果,提高了工作效率;另一方面,通过少量配置即可完成原有流程引擎中大量配置才能完成的工作,提高了流程编排的灵活性、扩展性和复用性,优化了流程编排的精准度,减少了重复冗余配置。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种元数据的流程编排方法与元数据的流程编排装置、计算机可读存储介质及电子设备。
背景技术
元数据作为描述数据的数据,主要是描述数据属性的信息,因此能够方便快捷的通过数据配置描述出一个系统。高效可靠的元数据管理系统可以有效的对数据进行管理,从而合理充分地运用数据解决使用过程中遇到的问题。
当不可避免地用到流程或调整方法细节时,可以引入已有的流程引擎处理。具体的,通过流程引擎的文件配置和可视化设计可以完整的构建出方法的所有步骤,进而完成全流程的编排。但是,这种方式的数据关系不够透明,会导致流程设计的灵活性较差,并且由于会产生大量的配置文件,因此应用场景也十分局限。
鉴于此,本领域亟需开发一种新的元数据的流程编排方法及装置。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种元数据的流程编排方法、元数据的流程编排装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制而导致的流程编排的灵活性差和应用场景局限等问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本发明实施例的第一个方面,提供一种元数据的流程编排方法,所述方法包括:获取元数据,并确定与所述元数据对应的实体类型;
若所述元数据对应单实体,执行与所述元数据对应的方法模型和/或关系模型中的流程方法得到数据结果;
若所述元数据对应多实体,执行与所述元数据对应的流程模型、方法模型和/或关系模型中的流程方法得到数据结果。
在本发明的一种示例性实施例中,所述执行与所述元数据对应的方法模型和/或关系模型中的流程方法得到数据结果,包括:确定与所述元数据对应的方法模型,并获取所述方法模型中的方法基本信息;
确定所述方法模型中的方法执行链,并按照所述方法基本信息执行所述方法执行链中的流程方法得到数据结果。
在本发明的一种示例性实施例中,所述关系模型包括继承关系模型;所述按照所述方法基本信息执行所述方法执行链中的流程方法得到数据结果,包括:按照所述方法基本信息执行所述方法执行链中的流程方法得到方法数据结果;
确定与所述元数据对应的继承关系模型,并执行所述继承关系模型中的流程方法得到数据结果。
在本发明的一种示例性实施例中,所述关系模型包括组合关系模型;所述按照所述方法基本信息执行所述方法执行链中的流程方法得到数据结果,包括:按照所述方法基本信息执行所述方法执行链中的流程方法得到方法数据结果;
确定与所述元数据对应的组合关系模型,并执行所述组合关系模型中的流程方法得到数据结果。
在本发明的一种示例性实施例中,所述执行与所述元数据对应的流程模型、方法模型和/或关系模型中的流程方法得到数据结果,包括:确定与所述元数据对应的流程模型,并获取所述流程模型中的流程基本信息;
确定所述流程模型中的流程执行链,并根据所述流程执行链和所述流程基本信息执行方法模型和/或关系模型中的流程方法得到数据结果。
在本发明的一种示例性实施例中,所述根据所述流程执行链和所述流程基本信息执行方法模型和/或关系模型中的流程方法得到数据结果,包括:确定所述多实体中包含的单实体,并根据所述流程执行链确定所述单实体的执行顺序以及与所述单实体对应的方法模型和/或关系模型;
基于所述流程基本信息,按照所述执行顺序执行所述方法模型和/或所述关系模型中的流程方法得到数据结果。
在本发明的一种示例性实施例中,所述按照所述执行顺序执行所述方法模型和/或关系模型中的流程方法得到数据结果,包括:确定所述单实体为当前单实体,并根据所述执行顺序在所述多实体中确定所述当前单实体的下一单实体;
执行与所述当前单实体对应的所述方法模型和/或所述关系模型中的流程方法得到当前数据结果;
对所述当前数据结果进行参数转换得到转换数据结果,以执行与所述下一单实体对应的所述方法模型和/或所述关系模型中的流程方法得到数据结果。
在本发明的一种示例性实施例中,所述流程方法,包括:新增操作、修改操作、删除操作、查询操作、属性校验操作、填充默认值操作、参数转换操作和自定义操作。
根据本发明实施例的第二个方面,提供一种元数据的流程编排装置,所述装置包括:数据获取模块,被配置为获取元数据,并确定与所述元数据对应的实体类型;
第一执行模块,被配置为若所述元数据对应单实体,执行与所述元数据对应的方法模型和/或关系模型中的流程方法得到数据结果;
第二执行模块,被配置为若所述元数据对应多实体,执行与所述元数据对应的流程模型、方法模型和/或关系模型中的流程方法得到数据结果。
根据本发明实施例的第三个方面,提供一种电子设备,包括:处理器和存储器;其中,存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意示例性实施例的元数据的流程编排方法。
根据本发明实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意示例性实施例中的元数据的流程编排方法。
由上述技术方案可知,本发明示例性实施例中的元数据的流程编排方法、元数据的流程编排装置、计算机存储介质及电子设备至少具备以下优点和积极效果:
在本公开的示例性实施例提供的方法及装置中,通过确定出的元数据对应的实体类型,可以进一步实现执行不同模型中的流程方法的功能。一方面,用户在定义元数据对应实体类型的过程中就能完成流程编排,实现建模即开发的效果,提高了工作效率;另一方面,通过少量配置即可完成原有流程引擎中大量配置才能完成的工作,提高了流程编排的灵活性、扩展性和复用性,优化了流程编排的精准度,减少了重复冗余配置。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中一种元数据的流程编排方法的流程图;
图2示意性示出本公开示例性实施例中执行方法模型中的流程方法得到数据结果的方法的流程示意图;
图3示意性示出本公开示例性实施例中执行继承关系模型中的流程方法得到数据结果的方法的流程示意图;
图4示意性示出本公开示例性实施例中执行组合关系模型中的流程方法得到数据结果的方法的流程示意图;
图5示意性示出本公开示例性实施例中执行流程模型中的流程方法得到数据结果的方法的流程示意图;
图6示意性示出本公开示例性实施例中按照执行顺序执行流程方法得到数据结果的方法的流程示意图;
图7示意性示出本公开示例性实施例在多实体之间进行参数转换的方法的流程示意图;
图8示意性示出本公开示例性实施例中在应用场景下的元数据的流程编排方法的流程示意图;
图9示意性示出本公开示例性实施例中一种元数据的流程编排装置的结构示意图;
图10示意性示出本公开示例性实施例中一种用于实现元数据的流程编排方法的电子设备;
图11示意性示出本公开示例性实施例中一种用于实现元数据的流程编排方法的计算机可读存储介质。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
针对相关技术中存在的问题,本公开提出了一种元数据的流程编排方法。图1示出了元数据的流程编排方法的流程图,如图1所示,元数据的流程编排方法至少包括以下步骤:
步骤S110.获取元数据,并确定与元数据对应的实体类型。
步骤S120.若元数据对应单实体,执行与元数据对应的方法模型和/或关系模型中的流程方法得到数据结果。
步骤S130.若元数据对应多实体,执行与元数据对应的流程模型、方法模型和/或关系模型中的流程方法得到数据结果。
在本公开的示例性实施例中,通过确定出的元数据对应的实体类型,可以进一步实现执行不同模型中的流程方法的功能。一方面,用户在定义元数据对应实体类型的过程中就能完成流程编排,实现建模即开发的效果,提高了工作效率;另一方面,通过少量配置即可完成原有流程引擎中大量配置才能完成的工作,提高了流程编排的灵活性、扩展性和复用性,优化了流程编排的精准度,减少了重复冗余配置。
下面对元数据的流程编排方法的各个步骤进行详细说明。
在步骤S110中,获取元数据,并确定与元数据对应的实体类型。
在本公开的示例性实施例中,元数据(Metadata)是描述数据的数据,主要是描述数据属性的信息。举例而言,当一本书籍为数据时,那么描述这本书籍的数据,例如书名、作者和所属类别等都为这本书籍的元数据;当一部电影为数据时,那么描述这部电影的数据,例如电影名、导演、演员和制片人等都为这部电影的元数据。
一般的,元数据的设计都包括类和属性等的定义,并且描述元数据的方式可以采用领域特定语言(Domain-Specific Language,简称DSL)描述,例如可扩展标记语言(eXtensible Markup Language,简称XML)和对象简谱(JavaScript Object Notation,简称JSON)语言。
在获取到的元数据中可以包括类模型和属性模型两种数据结构的数据。其中,类模型用于描述类的基本信息概要,包括类全限定名、版本、描述、数据库表明和ID生成器类型等;属性模型可以描述类的特点,例如属性名称、数据库列、数据类型、属性描述、是否主键、是否必填、是否为集合和默认值等。
具体的,可以参考如下数据结构:
当后端获取元数据之前,前端可以根据可视化操作系统选择该元数据的实体类型,例如为单实体或者多实体。其中,单实体是使用一个实体对象描述一个实体的数据;多实体是使用多个实体对象描述一个实体的数据。举例而言,对于一个业务文书而言,使用单实体来描述时,表明使用一个实体对象描述一个业务文书对象;对于另一个业务文书而言,该业务文书可能有多个属性,并且每个属性都可能发生变化,因此使用多实体来描述该业务文书。因此,后端在接收到元数据的时候,也可以确定该元数据的实体类型。
在步骤S120中,若元数据对应单实体,执行与元数据对应的方法模型和/或关系模型中的流程方法得到数据结果。
在本公开的一种示例性实施例中,实体是独立的、具有实际意义的事务或事件。不同分析需求对应的实体是不同的。举例而言,在应用程序的页面投放了广告,需求方要了解各广告位的用户操作,此时的实体为用户对各广告的操作事件,例如用户点击A广告位后,关闭还是观看;或者点击完A广告位后,是否会点击B广告位等。
当前端选择元数据描述一个实体的数据时,可以确定对应单实体。
在可选的实施例中,图2示出了执行方法模型中的流程方法得到数据结果的方法的流程示意图,如图2所示,该方法至少包括以下步骤:在步骤S210中,确定与元数据对应的方法模型,并获取方法模型中的方法基本信息。
其中,该方法模型可以是在元数据的基础上定义的,主要包含两部分内容,分别为方法基本信息和方法执行链。其中,方法基本信息包括操作名称、入参类型、返回类型、中文描述、执行器的唯一限定名、引用其他操作、是否使用事务等。
在步骤S220中,确定方法模型中的方法执行链,并按照方法基本信息执行方法执行链中的流程方法得到数据结果。
其中,方法模型中的方法执行链既可以包括预先设置的流程方法,也可以组装自定义方法,实现自由调配执行顺序的效果。
在可选的实施例中,流程方法包括:新增操作、修改操作、删除操作、查询操作、属性校验操作、填充默认值操作、参数转换操作和自定义操作。
每一个操作方法都内置了默认执行器,可以实现对应的功能,供用户拿来即用,同时也可以重写覆盖执行器,做自定义开发。
具体的,流程方法参考表1:
表1
其中,确定方法模型中的方法基本信息和方法执行链之后的数据结构如下所示:
在本示例性实施例中,给出元数据仅执行方法模型中的流程方法的具体方式,为用户提供了执行预置的操作方法和自定义操作方法两种方式,能够精准设计流程编排方式,提高了流程编排的灵活性和可扩展性。
当元数据对应单实体时,除了仅执行方法模型中的流程方法之外,还可以进一步执行定义有关系模型的流程方法。
图3和图4分别示出了两种关系模型的流程示意图。其中,图3示出了执行继承关系模型中的流程方法得到数据结果的方法的流程示意图,图4示出了执行组合关系模型中的流程方法得到数据结果的方法的流程示意图。
在可选的实施例中,关系模型包括继承关系模型,图3示出了执行继承关系模型中的流程方法得到数据结果的方法的流程示意图,如图3所示,该方法至少包括以下步骤:在步骤S310中,按照方法基本信息执行方法连中的流程方法得到方法数据结果。在步骤S310中按照方法基本信息执行方法链中的流程方法的方式与步骤S220相同,在此不再赘述。为了后续执行继承关系模型中的流程方法,将元数据的处理结果定义为方法数据结果。
在步骤S320中,确定与元数据对应的继承关系模型,并执行继承关系模型中的流程方法得到数据结果。
其中,该继承关系模型可以是在使用过程中,子类自动获得父类中声明的流程方法。该流程方法也可以包括新增操作、修改操作、删除操作、查询操作、属性校验操作、填充默认值操作、参数转换操作和自定义操作。
在本示例性实施例中,利用继承关系模型可以直接获得定义好的流程方法执行,避免重复定义和冗余配置。
在可选的实施例中,关系模型包括组合关系模型,图4示出了执行组合关系模型中的流程方法得到数据结果的方法的流程示意图,如图4所示,该方法至少包括以下步骤:在步骤S410中,按照方法基本信息执行方法执行链中的流程方法得到方法数据结果。在步骤S410中按照方法基本信息执行方法链中的流程方法的方式与步骤S220相同,在此不再赘述。为了后续执行组合关系模型中的流程方法,将元数据的处理结果定义为方法数据结果。
在步骤S420中,确定与元数据对应的组合关系模型,并执行组合关系模型中的流程方法得到数据结果。
其中,该组合关系模型可以是在使用过程中,类与类之间进行组合,以在执行一个类的流程方法时关联另一个类的修改,实现联动更新的效果。该流程方法也可以包括新增操作、修改操作、删除操作、查询操作、属性校验操作、填充默认值操作、参数转换操作和自定义操作。
在本示例性实施例中,通过组合关系模型可以实现多个类之间的联动更新效果,以提高开发效率。
具体的,利用关系模型时的数据结构如下所示:
在步骤S130中,若元数据对应多实体,执行与元数据对应的流程模型、方法模型和/或关系模型中的流程方法得到数据结果。
在本公开的一种示例性实施例中,当前端选择元数据描述至少两个实体的数据时,可以确定对应多实体。
在可选的实施例中,图5示出了执行流程模型中的流程方法得到数据结果的方法的流程示意图,如图5所示,该方法至少包括以下步骤:在步骤S510中,确定与元数据对应的流程模型,并获取流程模型中的流程基本信息。流程模型可以是与元数据的类模型和属性模型平级的模型,主要包括两部分内容,分别为流程基本信息和流程执行链。其中,流程基本信息可以包括唯一流程名称、流程中文描述、引用其他流程、是否使用事务等。
在步骤S520中,确定流程模型中的流程执行链,并根据流程执行链和流程基本信息执行方法模型和/或关系模型中的流程方法得到数据结果。
在可选的实施例中,图6示出了按照执行顺序执行流程方法得到数据结果的方法的流程示意图,如图6所示,该方法至少包括以下步骤:在步骤S610中,确定多实体中的单实体,并根据流程执行链确定单实体的执行顺序以及与单实体对应的方法模型和/或关系模型。
流程链中可以组装已经声明的方法模型,并进行自由调配执行顺序,也可以直接声明关系模型中包含的方法模型,直接进行调用。
由于多实体中包括至少两个单实体,因此可以确定出各个单实体,并进一步按照流程连确定对应的方法模型和/或关系模型。
其中,流程模型的数据结构如下所示:
可以看出,在流程模型的两个单实体之间存在参数转换的步骤,因此,可以在执行过程中执行参数转换的步骤。
在步骤S620中,基于流程基本信息,按照执行顺序执行方法模型和/或关系模型中的流程方法得到数据结果。
在可选的实施例中,图7示出了在多实体之间进行参数转换的方法的流程示意图,如图7所示,该方法至少包括以下步骤:在步骤S710中,确定单实体为当前单实体,并根据执行顺序在多实体中确定当前单实体的下一单实体。在多实体中,将当前正在执行流程方法的单实体确定为当前单实体,并且按照流程执行链中定义的执行顺序依次确定下一个单实体为下一单实体。
在步骤S720中,执行与当前单实体对应的方法模型和/或关系模型中的流程方法得到当前数据结果。该当前单实体可以是要执行方法模型中的流程方法,也可以是同时执行方法模型和关系模型中的流程方法。当执行之后得到的元数据的结果可以确定为当前数据结果。
在步骤S730中,对当前数据结果进行参数转换得到转换数据结果,以执行下一单实体对应的方法模型和/或关系模型中的流程方法得到数据结果。数据转换可以是当当前单实体与下一单实体中的参数类型不一致时进行的转换操作。举例而言,当当前单实体中的参数为“人员姓名”,下一单实体中的参数为“用户名”时,可以进行参数转换得到与当前数据结果对应的转换数据结果。进一步的,执行下一单实体对应的流程方法得到数据结果。
在本示例性实施例中,当元数据对应多实体时,可以根据流程模型执行对应的流程,实现复杂情况下的流程编排,丰富了流程编排的应用场景。
值得说明的是,不论是对执行单实体的流程方法,或者是执行多实体的流程方法得到的数据结果,都可以保存在云端。由于元数据配置存放在云端,而云端存储具有高扩展性,天然支持分布式场景下的资源扩容、数据迁移,从实现的难度和扩容产生的影响方面都较传统数据库方式优越很多。但是,也可以根据需求将数据结果存储在数据库,本示例性实施例对此不做特殊限定。
下面结合一应用场景对本公开实施例中的元数据的流程编排方法做出详细说明。
图8示出了应用场景下元数据的流程编排方法的流程示意图,如图8所示,在步骤S810中,对元数据进行定义。具体的,可以配置元数据的类、接口和操作等。
在步骤S820中,基于元数据的定义,对元数据对应的实体进行配置。其中,可以对元数据配置两个实体,分别为实体A和实体B。
在步骤S830中,启动元数据平台,并且在启动时使用元数据解析器读取元数据的配置,并加载到元数据平台的运行环境中,为请求调用提供数据支持。
在步骤S840中,用户发出调用请求,并且在请求的入参中包括流程的全限定名。
在步骤S850中,根据流程全限定名从运行环境中获取该元数据对应的流程模型,以确定流程模型中的流程基本信息和流程执行链。
在步骤S860中,根据流程模型中的定义,遍历流程执行链中要执行的操作。因此,看可以确定执行实体A的新增操作,之后执行实体B的修改操作。
具体的,在步骤S861中,首先执行实体A的新增操作。根据实体A的全限定名,获取实体A的元数据定义。然后,根据实体A的新增操作确定对应的方法模型中的方法执行链,并遍历执行该方法执行链。因此,执行实体A的方法执行链上的“赋默认值”、“属性校验”和“新增操作”三个步骤。其中,每一步都会根据不同的操作方法寻找对应的预置执行器执行并返回当前数据结果。
在步骤S862中,根据实体A新增后的当前数据结果进行参数转换。具体的,利用配置的转换器调用默认转换器执行器进行参数转换得到转换数据结果,为实体B的更新操作提供过度参数。
在步骤S863中,执行实体B的修改操作。其中,执行流程与步骤S861中的实体A的执行流程相似,在此不再赘述。最后,按照顺序执行实体B的更新操作的方法执行链上的“属性校验”和“修改操作”,并返回数据结果。
在步骤S870中,执行完实体A和实体B的所有步骤之后,根据配置的结果封装节点封装数据结果即可。
在步骤S880中,将封装好的数据结果返回给用户,以响应用户的调用请求。
在本公开的示例性实施例中,通过确定出的元数据对应的实体类型,可以进一步实现执行不同模型中的流程方法的功能。一方面,用户在定义元数据对应实体类型的过程中就能完成流程编排,实现建模即开发的效果,提高了工作效率;另一方面,通过少量配置即可完成原有流程引擎中大量配置才能完成的工作,提高了流程编排的灵活性、扩展性和复用性,优化了流程编排的精准度,减少了重复冗余配置。
此外,在本公开的示例性实施例中,还提供一种元数据的流程编排装置。图9示出了元数据的流程编排装置的结构示意图,如图9所示,元数据的流程编排装置900可以包括:数据获取模块910、第一执行模块920和第二执行模块930。其中:
数据获取模块910,被配置为获取元数据,并确定与元数据对应的实体类型;
第一执行模块920,被配置为若元数据对应单实体,执行与元数据对应的方法模型和/或关系模型中的流程方法得到数据结果;
第二执行模块930,被配置为若元数据对应多实体,执行与元数据对应的流程模型、方法模型和/或关系模型中的流程方法得到数据结果。
上述元数据的流程编排装置的具体细节已经在对应的元数据的流程编排方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及元数据的流程编排装置900的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
下面参照图10来描述根据本发明的这种实施例的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030、显示单元1040。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1021和/或高速缓存存储单元1022,还可以进一步包括只读存储单元(ROM)1023。
存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1024,这样的程序模块1025包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备1200(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1040通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
参考图11所示,描述了根据本发明的实施例的用于实现上述方法的程序产品1100,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (11)
1.一种元数据的流程编排方法,其特征在于,所述方法包括:
启动元数据平台,并且在启动时使用元数据解析器读取元数据的配置,并将所述配置加载到所述元数据平台的运行环境中,为调用请求调用提供数据支持;
接收用户发出的所述调用请求,所述调用请求的入参中包括流程全限定名;
获取元数据,并确定与所述元数据对应的实体类型;
若所述元数据对应单实体,执行与所述元数据对应的方法模型和/或关系模型中的流程方法得到数据结果;
根据所述流程全限定名从所述运行环境中获取所述元数据对应的流程模型,其中,所述流程模型中包括流程基本信息和流程执行链;
若所述元数据对应多实体,执行与所述元数据对应的流程模型、方法模型和/或关系模型中的流程方法得到数据结果;
其中,所述单实体是使用一个实体对象描述一个实体的数据;所述多实体是使用多个实体对象描述一个实体的数据。
2.根据权利要求1所述的元数据的流程编排方法,其特征在于,所述执行与所述元数据对应的方法模型和/或关系模型中的流程方法得到数据结果,包括:
确定与所述元数据对应的方法模型,并获取所述方法模型中的方法基本信息;
确定所述方法模型中的方法执行链,并按照所述方法基本信息执行所述方法执行链中的流程方法得到数据结果。
3.根据权利要求2所述的元数据的流程编排方法,其特征在于,所述关系模型包括继承关系模型;
所述按照所述方法基本信息执行所述方法执行链中的流程方法得到数据结果,包括:
按照所述方法基本信息执行所述方法执行链中的流程方法得到方法数据结果;
确定与所述元数据对应的继承关系模型,并执行所述继承关系模型中的流程方法得到数据结果。
4.根据权利要求2所述的元数据的流程编排方法,其特征在于,所述关系模型包括组合关系模型;
所述按照所述方法基本信息执行所述方法执行链中的流程方法得到数据结果,包括:
按照所述方法基本信息执行所述方法执行链中的流程方法得到方法数据结果;
确定与所述元数据对应的组合关系模型,并执行所述组合关系模型中的流程方法得到数据结果。
5.根据权利要求1所述的元数据的流程编排方法,其特征在于,所述执行与所述元数据对应的流程模型、方法模型和/或关系模型中的流程方法得到数据结果,包括:
确定与所述元数据对应的流程模型,并获取所述流程模型中的流程基本信息;
确定所述流程模型中的流程执行链,并根据所述流程执行链和所述流程基本信息执行方法模型和/或关系模型中的流程方法得到数据结果。
6.根据权利要求5所述的元数据的流程编排方法,其特征在于,所述根据所述流程执行链和所述流程基本信息执行方法模型和/或关系模型中的流程方法得到数据结果,包括:
确定所述多实体中包含的单实体,并根据所述流程执行链确定所述单实体的执行顺序以及与所述单实体对应的方法模型和/或关系模型;
基于所述流程基本信息,按照所述执行顺序执行所述方法模型和/或所述关系模型中的流程方法得到数据结果。
7.根据权利要求6所述的元数据的流程编排方法,其特征在于,所述按照所述执行顺序执行所述方法模型和/或关系模型中的流程方法得到数据结果,包括:
确定所述单实体为当前单实体,并根据所述执行顺序在所述多实体中确定所述当前单实体的下一单实体;
执行与所述当前单实体对应的所述方法模型和/或所述关系模型中的流程方法得到当前数据结果;
对所述当前数据结果进行参数转换得到转换数据结果,以执行与所述下一单实体对应的所述方法模型和/或所述关系模型中的流程方法得到数据结果。
8.根据权利要求1所述的元数据的流程编排方法,其特征在于,所述流程方法,包括:新增操作、修改操作、删除操作、查询操作、属性校验操作、填充默认值操作、参数转换操作和自定义操作。
9.一种元数据的流程编排装置,其特征在于,包括:
数据获取模块,被配置为获取元数据,并确定与所述元数据对应的实体类型;
第一执行模块,被配置为若所述元数据对应单实体,执行与所述元数据对应的方法模型和/或关系模型中的流程方法得到数据结果;
第二执行模块,被配置为若所述元数据对应多实体,执行与所述元数据对应的流程模型、方法模型和/或关系模型中的流程方法得到数据结果;
其中,所述装置还用于:
启动元数据平台,并且在启动时使用元数据解析器读取元数据的配置,并将所述配置加载到所述元数据平台的运行环境中,为调用请求调用提供数据支持;
接收用户发出的所述调用请求,所述调用请求的入参中包括流程全限定名;
根据所述流程全限定名从所述运行环境中获取所述元数据对应的流程模型,其中,所述流程模型中包括流程基本信息和流程执行链;
其中,所述单实体是使用一个实体对象描述一个实体的数据;所述多实体是使用多个实体对象描述一个实体的数据。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8中任意一项所述的元数据的流程编排方法。
11.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器被配置为经由执行所述可执行指令来执行权利要求1-8中任意一项所述的元数据的流程编排方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010848900.7A CN113791775B (zh) | 2020-08-21 | 2020-08-21 | 元数据的流程编排方法与装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010848900.7A CN113791775B (zh) | 2020-08-21 | 2020-08-21 | 元数据的流程编排方法与装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113791775A CN113791775A (zh) | 2021-12-14 |
CN113791775B true CN113791775B (zh) | 2024-03-01 |
Family
ID=78876784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010848900.7A Active CN113791775B (zh) | 2020-08-21 | 2020-08-21 | 元数据的流程编排方法与装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113791775B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019232980A1 (zh) * | 2018-06-05 | 2019-12-12 | 平安科技(深圳)有限公司 | 节点配置方法及装置、计算机可读存储介质和电子设备 |
CN110618810A (zh) * | 2019-06-27 | 2019-12-27 | 武汉大学 | 一种基于元数据驱动的多样化服务的混合编排方法 |
CN110765099A (zh) * | 2019-09-06 | 2020-02-07 | 阿里巴巴集团控股有限公司 | 一种业务构建方法、装置及计算机设备 |
CN111144837A (zh) * | 2019-12-13 | 2020-05-12 | 东软集团股份有限公司 | 流程编排的方法、装置、存储介质及电子设备 |
-
2020
- 2020-08-21 CN CN202010848900.7A patent/CN113791775B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019232980A1 (zh) * | 2018-06-05 | 2019-12-12 | 平安科技(深圳)有限公司 | 节点配置方法及装置、计算机可读存储介质和电子设备 |
CN110618810A (zh) * | 2019-06-27 | 2019-12-27 | 武汉大学 | 一种基于元数据驱动的多样化服务的混合编排方法 |
CN110765099A (zh) * | 2019-09-06 | 2020-02-07 | 阿里巴巴集团控股有限公司 | 一种业务构建方法、装置及计算机设备 |
CN111144837A (zh) * | 2019-12-13 | 2020-05-12 | 东软集团股份有限公司 | 流程编排的方法、装置、存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
Media Orchestration Between Streams and Devices via New MPEG Timed Metadata;M. Oskar van Deventer等;《SMPTE Motion Imaging Journal》;全文 * |
元数据驱动的多样化服务的混合编排方法;张光宇;应时;贾向阳;骆慧;;计算机应用研究(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113791775A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9146955B2 (en) | In-memory, columnar database multidimensional analytical view integration | |
CN101334728B (zh) | 一种基于xml文档描述的界面生成方法和装置 | |
CN109344223A (zh) | 一种基于云计算技术的建筑信息模型管理系统及方法 | |
WO2023221408A1 (zh) | 深度学习框架的算子处理方法、装置、设备和存储介质 | |
CN110457277A (zh) | 业务处理性能分析方法、装置、设备及存储介质 | |
CN110795509A (zh) | 一种数据仓库的指标血缘关系图的构建方法、装置和电子设备 | |
CN111221521A (zh) | 日志代码的生成方法、装置、计算机系统和可读存储介质 | |
CN113448562B (zh) | 一种逻辑代码自动生成方法、装置和电子设备 | |
CN107315833A (zh) | 基于应用程序的检索与下载的方法和装置 | |
CN110109983B (zh) | 一种操作Redis数据库的方法和装置 | |
CN116560683A (zh) | 软件更新方法、装置、设备及存储介质 | |
US9535935B2 (en) | Schema-based application model validation in a database | |
CN111427577A (zh) | 代码处理方法、装置及服务器 | |
CN112698819A (zh) | 面向树化对象编程程序设计方法、装置及存储介质 | |
CN113791775B (zh) | 元数据的流程编排方法与装置、存储介质和电子设备 | |
CN114637499B (zh) | 可视化组件处理方法、装置、设备及介质 | |
CN115794858A (zh) | 查询语句处理方法、装置、设备及存储介质 | |
CN115629763A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
CN115408009A (zh) | 一种代码文件生成方法、装置、设备和存储介质 | |
CN115422202A (zh) | 业务模型的生成方法、业务数据查询方法、装置及设备 | |
Mihon et al. | Ogc compliant services for remote sensing processing over the grid infrastructure | |
CN117009397A (zh) | 数据查询方法、数据查询装置、电子设备和存储介质 | |
CN112181407B (zh) | 业务实现处理方法及装置、系统、电子设备和存储介质 | |
CN111949259A (zh) | 风险决策配置方法、系统、电子设备及存储介质 | |
KR20090037164A (ko) | 데이터 포털 서비스 시스템 및 방법 |
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 |