CN110209565B - 一种元数据模型调试方法及其装置 - Google Patents
一种元数据模型调试方法及其装置 Download PDFInfo
- Publication number
- CN110209565B CN110209565B CN201810168074.4A CN201810168074A CN110209565B CN 110209565 B CN110209565 B CN 110209565B CN 201810168074 A CN201810168074 A CN 201810168074A CN 110209565 B CN110209565 B CN 110209565B
- Authority
- CN
- China
- Prior art keywords
- target
- model
- metadata
- context information
- management system
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种元数据模型调试方法及其装置,用于对元数据模型进行调试。本申请实施例方法包括:调试管理系统接收引擎工作系统发送的目标上下文信息;所述调试管理系统根据对所述目标上下文信息进行反编译,得到与所述目标上下文信息对应的目标元数据信息;所述调试管理系统接收用户对所述目标元数据信息的修改,得到修改后的目标元数据信息。解决了引擎的开发与模型的实现中,模型开发人员需要在引擎开发人员的辅助下才能完成问题的定位的问题,以及具备了在执行过程中动态查询运行引擎上下文变量的能力。
Description
技术领域
本申请涉及软件开发领域,尤其涉及一种元数据模型调试方法及其装置。
背景技术
模型驱动开发(Model-Driven Development,MDD)是一种软件开发的一种方式。一般来说,有两种方法可以实现模型驱动:1、通过自动工具将模型编译成代码,对代码进行执行;2、通过元数据驱动,由业务引擎预先定义的元数据信息,根据元数据信息来实现对应的业务模型,业务引擎可以直接执行导入的业务模型,过程中无需生成临时代码。
在通信领域中,运营商可以通过元数据驱动的方式快速生成新业务,导入业务模型到引擎,使其执行,即具备了开发代码的功能。但是对于调试和对问题的定位,由于元数据驱动模型较为抽象,不像代码一样可以按照顺序执行,也不像代码一样有成熟的调试问题的方式。在现有技术中,可以通过引擎提供日志等级的设置方式,然后在不同的运行阶段打上日志,让模型开发人员查看调试日志,以跟踪模型在引擎中执行过程是否正确,用以排查模型开发过程中出现的问题。
但是,由于引擎与模型的开发人员通常不是同一批,而调试日志不可避免暴漏出后端的引擎所实现的细节,模型的开发人员往往需要在引擎的开发人员的辅助下才能完成问题的定位。另外由于调试日志属于引擎执行后的输出,因此上述方式并不能在执行过程中动态查询引擎在实现过程中的内容,也就不容易是现在执行过程中对模型的问题进行定位。
发明内容
本申请实施例提供了一种元数据模型调试方法及其装置,用于对元数据模型进行调试。
本申请第一方面提供了一种元数据模型调试方法,包括:
调试管理系统接收引擎工作系统发送的目标上下文信息之后,可以根据对该目标上下文信息进行反编译,得到与该目标上下文信息对应的目标元数据信息。
具体的,该调试管理系统可以根据该预设规则对该目标上下文信息进行反编译,得到与该目标上下文信息对应的目标元数据信息,或者,该调试管理系统可以根据该目标上下文信息获取该目标元数据信息,该目标元数据信息为根据该预设规则进行编译得到该目标上下文信息的元数据信息。接着,该调试管理系统接收用户对该目标元数据信息的修改,得到修改后的目标元数据信息。
本申请实施例通过调试管理系统接收目标引擎发送的目标上下文信息,并根据对该目标上下文信息进行反编译,得到与该目标上下文信息对应的目标元数据信息,然后通过接收用户对该目标元数据信息的修改,得到修改后的目标元数据信息,解决了引擎的开发与模型的实现中,模型开发人员需要在引擎开发人员的辅助下才能完成问题的定位的问题,以及具备了在执行过程中动态查询运行引擎上下文变量的能力。
在一些可行的实施例中,该方法还包括:
该调试管理系统根据该预设规则对该修改后的目标元数据信息进行编译,得到修改后的目标上下文信息,然后向该引擎工作系统发送该修改后的目标上下文信息,以使得该引擎工作系统执行该修改后的目标上下文信息。
由于将修改后的目标上下文信息发送到目标引擎,使得目标引擎可以重新执行,完成了对目标模型的中元数据信息的修改。
在一些可行的实施例中,该方法还包括:
该调试管理系统可以接收用户设置的n个断点,该目标断点为该n个断点中的一个,该n为正整数,接着向该引擎工作系统发送该n个断点,以使得当该引擎工作系统执行到该目标断点时,该引擎工作系统向该调试管理系统返回该目标断点的上下文信息,该目标断点的上下文信息为该目标上下文信息。
通过对目标模型设置断点,实现了在线对目标模型中的元数据信息的部分进行调试。
在一些可行的实施例中,该方法还包括:
该调试管理系统向该引擎工作系统发送对于目标模型的执行请求,以使得该引擎工作系统执行该目标模型,该目标模型为该目标断点所在的模型。
由于调试管理系统发送了执行请求,目标模型才会被执行,加强了用户对调试的过程的掌握。
在一些可行的实施例中,该方法还包括:
该调试管理系统接收该引擎工作系统发送的元数据获取请求之后,该元数据获取请求指示请求获取该目标模型,可以获取该目标模型的元数据信息,并根据该预设规则对该目标模型的元数据信息进行编译,得到编译后的元数据信息,然后向该引擎工作系统发送该编译后的元数据信息。
由于经过了编译,得到目标引擎能够理解的格式,使得目标引擎可以对目标模型的元数据信息进行执行。
在一些可行的实施例中,该方法还包括:
该调试管理系统获取该目标模型,然后确定该目标模型的元数据信息,并为该目标模型的元数据信息确定该m个引擎,该m个引擎分别用于执行该目标模型中的m个不同部分,该m为正整数。
由于不同的引擎可以执行一个模型的不同元数据信息,因此需要确定目标模型的元数据信息和不同的元数据信息部分所对应的引擎,以使得不同的引擎可以针对自身的功能执行相应的元数据信息。
在一些可行的实施例中,该m个引擎共用一个调试代理器,该调试代理器用于进行该调试管理系统和该m个引擎之间的数据交互。
在一些可行的实施例中,该m个引擎和该调试代理器使用独立第一工作空间中运行,该第一工作空间和该目标模型对应。
由于m个引擎共用一个调试代理器,且该m个引擎和该调试代理器使用独立第一工作空间中运行,因此可以快速的构建独立的开发环境,互相不影响不干扰,而且可以提供标准的调试框架,元数据调试的通道,可快速扩展接入新的引擎。
本申请第二方面提供了一种元数据模型调试装置,包括:
收发模块,用于接收引擎工作系统发送的目标上下文信息,编译模块,用于根据对该目标上下文信息进行反编译,得到与该目标上下文信息对应的目标元数据信息,交互模块,用于接收用户对该目标元数据信息的修改,得到修改后的目标元数据信息。
在一些可行的实施例中,该编译模块还用于,根据该预设规则对该修改后的目标元数据信息进行编译,得到修改后的目标上下文信息,该收发模块,还用于向该引擎工作系统发送该修改后的目标上下文信息,以使得该引擎工作系统执行该修改后的目标上下文信息。
在一些可行的实施例中,该交互模块,用于接收用户设置的n个断点,该目标断点为该n个断点中的一个,该n为正整数,该收发模块,还用于向该引擎工作系统发送该n个断点,以使得当该引擎工作系统执行到该目标断点时,该引擎工作系统返回该目标断点的上下文信息,该目标断点的上下文信息为该目标上下文信息。
在一些可行的实施例中,该编译模块具体用于,根据该预设规则对该目标上下文信息进行反编译,得到与该目标上下文信息对应的目标元数据信息,或,根据该目标上下文信息获取该目标元数据信息,该目标元数据信息为根据该预设规则进行编译得到该目标上下文信息的元数据信息。
在一些可行的实施例中,该收发模块,还用于向该引擎工作系统发送对于目标模型的执行请求,以使得该引擎工作系统执行该目标模型,该目标模型为该目标断点所在的模型。
在一些可行的实施例中,该收发模块,还用于接收该引擎工作系统发送的元数据获取请求,该元数据获取请求指示请求获取该目标模型,该收发模块,还用于获取该目标模型的元数据信息,该编译模块,还用于根据该预设规则对该目标模型的元数据信息进行编译,得到编译后的元数据信息,该收发模块,还用于向该引擎工作系统发送该编译后的元数据信息。
在一些可行的实施例中,该收发模块,还用于获取该目标模型,该装置还包括确定模块,用于确定该目标模型的元数据信息,还用于为该目标模型的元数据信息确定该m个引擎工作系统,该m个引擎工作系统分别用于执行该目标模型中的m个不同部分,该m为正整数。
本申请第三方面提供了一种元数据模型调试装置,包括:
处理器和存储器,该存储器,用于存储程序,该处理器调用该存储器存储的程序,用于执行如上述各方面该的方法。
本申请的又一方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
调试管理系统通过接收目标引擎发送的目标上下文信息,并根据对该目标上下文信息进行反编译,得到与该目标上下文信息对应的目标元数据信息,然后通过接收用户对该目标元数据信息的修改,得到修改后的目标元数据信息,解决了引擎的开发与模型的实现中,模型开发人员需要在引擎开发人员的辅助下才能完成问题的定位的问题,以及具备了在执行过程中动态查询运行引擎上下文变量的能力。
附图说明
图1为软件调试系统的架构的示意图;
图2为一种元数据模型调试方法的示意图;
图3为一种元数据模型调试装置的示意图;
图4为一种元数据模型调试装置的示意图。
具体实施方式
本申请实施例提供了一种元数据模型调试方法以及设备,用于对元数据模型进行调试。
为了使本技术领域的人员更好地理解本申请实施例方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参考图1,为软件调试系统的架构示意图,该软件调试系统包括调试管理系统和引擎工作系统。其中,调试管理系统用于接收一个或多个模型(如图1,模型1-p),并获取各个模型的元数据信息,确定不同的元数据信息的引擎,将不同的元数据信息分别发送给不同的引擎(如图1,引擎1-m),使得一个或多个引擎工作系统(如图1,引擎工作系统1-p),其中,一个模型对应一个引擎工作系统,一个引擎工作系统可以作为一个独立的实现模型的工作空间。
在本申请实施例中,该调试管理系统可以包括调试管理器、元数据管理器和模型管理器,引擎工作系统包括调试代理器和引擎,其中调试管理器、元数据管理器、模型管理器、调试代理器和引擎的具体工作内容通过下述方法实施例具体描述,在此不做赘述。
本申请涉及软件开发领域,软件开发是根据用户的要求建造出软件系统或者系统中的软件部分的过程,是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。在软件开发领域中,可以通过模型来实现软件开发,模型是指软件开发全部过程、活动和任务的结构框架,包括需求、设计、编码和测试等阶段,有时也包括维护阶段。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。
其中,模型驱动开发(Model-Driven Development,MDD)实现软件开发模型的一种,一般来说,在实现模型驱动时可以有一类是用自动工具将模型编译成代码,对代码进行执行;另一类是元数据驱动,由业务引擎预先定义的元数据,根据元数据来实现对应的业务模型,业务引擎能对导入的业务模型直接执行,过程中无需生成临时代码。
而对于一个模型,可以根据模型的不同的功能部分确定不同的引擎,通过对模型进行不同的编译,得到不同的引擎各自可以理解的格式,并发送给引擎,使之进行执行。引擎(Engine)是电子平台上开发程序或系统的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能,或利用其辅助程序的运转。一般而言,引擎是一个程序或一套系统的支持部分。
在通信领域中,运营商可以通过元数据驱动的方式快速生成新业务,导入业务模型到引擎,使其执行,即具备了开发代码的功能。但是对于调试和对问题的定位,由于元数据驱动模型较为抽象,不像代码一样可以按照顺序执行,也不像代码一样有成熟的调试问题的方式。在现有技术中,可以通过引擎提供日志等级的设置方式,然后在不同的运行阶段打上日志,让模型开发人员查看调试日志,以跟踪模型在引擎中执行过程是否正确,用以排查模型开发过程中出现的问题。
在本申请实施例中,调试管理系统通过接收目标引擎发送的目标上下文信息,并根据对该目标上下文信息进行反编译,得到与该目标上下文信息对应的目标元数据信息,然后接收用户对该目标元数据信息的修改,得到修改后的目标元数据信息,解决了引擎的开发与模型的实现种,模型开发人员需要在引擎开发人员的辅助下才能完成问题的定位的问题,以及具备了在执行过程中动态查询运行引擎上下文变量的能力。
有鉴于此,为本申请实施例中的一种元数据模型调试方法,请参考图2,该方法包括:
201、调试管理器获取目标模型。
在本申请实施例中,调试管理器为用户和计算机交互的平台,用户可以通过调试管理器的界面进行操作,并调试或排查模型中出现的问题。在本申请实施例中在操作中可以接收目标模型,需要说明的是,该目标模型可以是用户通过存储介质中获取的,也可以通过网络接收,或者其他方式接收到的,此处不做限定。当接收到该目标模型后,可以发送到元数据管理器进行进一步的处理。
202、该调试管理器确定该目标模型的元数据信息。
在本申请实施例中,该元数据信息指的是描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。在一些可行的实施例中,元数据信息可以算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。本申请实施例中的元数据信息是指从模型中抽取出来的用于说明其特征、内容的结构化的数据,基于元数据信息的定义将模型编译成引擎理解的格式,然后被引擎重复执行。
在一些可行的实施例中,该调试管理器获取该目标模型后,可以确定该目标模型的元数据信息,并发送给元数据管理器。
203、元数据管理器为该目标模型确定该m个引擎,该m个引擎分别用于执行该目标模型中的m个不同部分,该m为正整数。
在本申请实施例中,当获取了该目标模型的元数据信息后,可以根据不同的功能需要,确定m个引擎,该m个引擎用于分别执行该目标模型的不同功能部分,如该模型是用于网购领域的模型,m个引擎可以分别执行购物、广告、物流和售后等不同功能的部分。由于不同的引擎所理解的格式不尽相同,则可以确定m个引擎,当需要的时候,可以将该目标模型的不同元数据信息进行编译后分别发送给不同的引擎,使其进行执行。
204、调试管理器接收用户设置的n个断点。
在本申请实施例中,用户可以通过调试管理器设置断点(如n个断点),该目标断点为该n个断点中的一个,该n为正整数。需要说明的是,断点是调试器的功能之一,可以让程序中断在需要的地方,从而方便其分析。断点也可以在一次调试中设置断点,下一次只需让程序自动运行到设置断点位置,便可在上次设置断点的位置中断下来,极大的方便了操作,同时节省了时间。
在另一个角度来看,断点是一个信号,它通知调试器,在某个特定点上暂时将程序执行挂起,当执行在某个断点处挂起时,程序处于中断模式,进入中断模式并不会终止或结束程序的执行,执行可以在任何时候继续。在中断模式下,用户可以检查它们的位置和状态,以查看是否存在冲突或bug,使得可以在中断模式下对程序进行调整。
例如,可以更改变量的值,可以移动执行点,这会改变执行恢复后将要执行的下一条语句,甚至可以在中断模式下对代码本身进行更改。断点提供了一种强大的工具,使您能够在需要的时间和位置挂起执行。与逐句或逐条指令地检查代码不同的是,可以让程序一直执行,直到遇到断点,然后开始调试,这大大地加快了调试过程。在本申请实施例中,断点可以为如目标模型的某个属性的值,当引擎接收到该断点并执行到该属性的值的数据时,可以挂住。
205、调试管理器向调试代理器发送该n个断点。
在本申请实施例中,当接收了用户设置的n个断点后,可以向引擎工作系统发送。需要说明的是,引擎工作系统包括调试代理器和引擎,调试代理器用于进行调试管理系统和引擎之间的通信中转,因此,在本申请实施例中,调试管理器可以将n个断点发送给调试代理器,当有需要的时候,将该断点发送给引擎,如目标断点发送给目标引擎。
206、该调试管理器向该目标引擎发送对于目标模型的执行请求。
在本申请实施例中,该调试管理器可以通过调试代理器向目标引擎发送执行请求,该执行请求指示执行的目标模型。需要说明的是,该执行请求可以是用户进行相关操作后进行发送的,也可以是当发送目标断点给调试代理器后,即行发送执行请求给目标引擎,此处不做限定。
207、该目标引擎向该模型管理器发送元数据获取请求,该元数据获取请求指示请求获取该目标模型。
在本申请实施例中,当该目标引擎接收了对于目标模型的执行请求后,可以向该模型管理器请求获取该目标模型,则向该模型管理器发送元数据获取请求,该元数据获取请求指示请求获取该目标模型。
208、该模型管理器根据该预设规则对该目标模型的元数据信息进行编译,得到编译后的元数据信息。
209、该模型管理器向该目标引擎发送该编译后的元数据信息。
在本申请实施例中,该模型管理器接收到该元数据获取请求后,可以将对应的目标模型中该目标引擎对应的功能部分的元数据信息进行编译,得到该目标引擎所能理解的格式的编译后的元数据信息,并将该编译后的元数据信息发送给该目标引擎。
210、该目标引擎从该调试代理器中获取该目标模型的目标断点。
由上述步骤可知,调试代理器中存储着目标断点,当目标引擎接收到对目标模型的执行请求后,可以向调试代理器获取与该目标模型相关的目标断点。
211、该目标引擎执行该目标模型,该目标模型为该目标断点所在的模型。
在本申请实施例中,当该目标引擎获取该目标断点后,可以执行该目标模型,具体的,可以执行该目标模型的与该目标引擎的功能相关的该编译后的元数据信息。
212、当该目标引擎执行到该目标断点时,向该调试管理系统返回该目标断点的上下文信息,该目标断点的上下文信息为该目标上下文信息。
在本申请实施例中,当该目标引擎执行到该目标断点的时候,获取该目标断点所在的元数据信息的上下文信息,然后通过调试代理器向调试管理系统返回,具体的,往调试管理器返回,作为目标上下文信息。
213、该模型管理器根据该预设规则对该目标上下文信息进行反编译,得到与该目标上下文信息对应的目标元数据信息。
在一些可行的实施例中,当向该调试管理系统中的模型管理器接收到该目标上下文信息后,可以进行对该目标上下文信息根据预设规则进行反编译,得到该调试管理系统中通用的格式。
214、该调试管理器根据该目标上下文信息获取该目标元数据信息。
在一些可行的实施例中,也可以通过该目标上下文信息确定编译前该目标元数据信息,该目标元数据信息为根据该预设规则进行编译得到该目标上下文信息的元数据信息。
需要说明的是,步骤213和步骤214可以是和/或的关系,此处不做限定。
215、该调试管理器展示该目标元数据信息。
在本申请实施例中,由于该调试管理器用于被用户操作,可以向用户展示该目标元数据信息,则该用户可以观看该目标元数据信息是否有误。
216、该调试管理器接收用户对该目标元数据信息的修改,得到修改后的目标元数据信息。
当发现该目标元数据信息存在错误的时候,可以对该目标元数据信息进行修改,得到修改后的目标元数据信息。需要说明的是,若发现该目标元数据信息无误,则可以不进行修改,而是向该目标引擎发送继续执行的指示,此处不做限定。
217、该模型管理器根据该预设规则对该修改后的目标元数据信息进行编译,得到修改后的目标上下文信息。
当对该目标元数据信息进行修改,得到修改后的目标元数据信息后,需要重新对该修改后的目标元数据信息进行编译,得到修改后的目标上下文信息,以便目标引擎可以执行。
218、该模型管理器向该目标引擎发送该修改后的目标上下文信息。
219、该目标引擎执行该修改后的目标上下文信息。
当用户修改了目标上下文信息得到修改后的目标上下文信息后,可以通过调试代理器发送给目标引擎,以使得该目标引擎可以执行该修改后的目标上下文信息。在一些可行的实施例中,该目标引擎可以继续执行该修改后的元数据信息,也可以继续执行该目标模型的编译后的元数据信息的其他部分内容,此处不做限定。
以上对一种下行信号发送的方法进行了描述,以下对相关的调试装置进行描述,请参考图3,为一种元数据模型调试装置300,包括:
收发模块301,用于接收引擎工作系统发送的目标上下文信息。
编译模块302,用于根据对该目标上下文信息进行反编译,得到与该目标上下文信息对应的目标元数据信息。
交互模块303,用于接收用户对该目标元数据信息的修改,得到修改后的目标元数据信息。
在一些可行的实施例中,该编译模块302还用于,根据该预设规则对该修改后的目标元数据信息进行编译,得到修改后的目标上下文信息。
该收发模块301,还用于向该引擎工作系统发送该修改后的目标上下文信息,以使得该引擎工作系统执行该修改后的目标上下文信息。
在一些可行的实施例中,该交互模块303,用于接收用户设置的n个断点,该目标断点为该n个断点中的一个,该n为正整数。该收发模块301,还用于向该引擎工作系统发送该n个断点,以使得当该引擎工作系统执行到该目标断点时,该引擎工作系统返回该目标断点的上下文信息,该目标断点的上下文信息为该目标上下文信息。
在一些可行的实施例中,该编译模块302具体用于,根据该预设规则对该目标上下文信息进行反编译,得到与该目标上下文信息对应的目标元数据信息。或,根据该目标上下文信息获取该目标元数据信息,该目标元数据信息为根据该预设规则进行编译得到该目标上下文信息的元数据信息。
在一些可行的实施例中,该收发模块301,还用于向该引擎工作系统发送对于目标模型的执行请求,以使得该引擎工作系统执行该目标模型,该目标模型为该目标断点所在的模型。
在一些可行的实施例中,该收发模块301,还用于接收该引擎工作系统发送的元数据获取请求,该元数据获取请求指示请求获取该目标模型。
在一些可行的实施例中,该收发模块301,还用于获取该目标模型的元数据信息,该编译模块302,还用于根据该预设规则对该目标模型的元数据信息进行编译,得到编译后的元数据信息,该收发模块301,还用于向该引擎工作系统发送该编译后的元数据信息。
在一些可行的实施例中,收发模块301,还用于获取该目标模型。
在一些可行的实施例中,该装置还包括确定模块304,用于确定该目标模型的元数据信息,并为该目标模型的元数据信息确定该m个引擎工作系统,该m个引擎工作系统分别用于执行该目标模型中的m个不同部分,该m为正整数。
请参考图4,本申请实施例还提供了一种元数据模型调试装置400,包括:
处理器401和存储器402。
该存储器402,用于存储程序。该处理器401调用该存储器存储的程序,用于执行上述个步骤的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种元数据模型调试方法,其特征在于,包括:
调试管理系统接收引擎工作系统发送的目标上下文信息;
所述调试管理系统根据对所述目标上下文信息进行反编译,得到与所述目标上下文信息对应的目标元数据信息;
所述调试管理系统接收用户对所述目标元数据信息的修改,得到修改后的目标元数据信息;
所述调试管理系统接收引擎工作系统发送的目标上下文信息之前,还包括:
所述调试管理系统接收用户设置的n个断点,所述目标断点为所述n个断点中的一个,所述n为正整数;
所述调试管理系统向所述引擎工作系统发送所述n个断点,以使得当所述引擎工作系统执行到所述目标断点时,所述引擎工作系统向所述调试管理系统返回所述目标断点的上下文信息,所述目标断点的上下文信息为所述目标上下文信息;
所述调试管理系统向所述引擎工作系统发送n个断点之后,还包括:
所述调试管理系统向所述引擎工作系统发送对于目标模型的执行请求,以使得所述引擎工作系统执行所述目标模型,所述目标模型为所述目标断点所在的模型。
2.根据权利要求1所述方法,其特征在于,所述调试管理系统接收用户对所述目标元数据信息的修改,得到修改后的目标元数据信息之后,还包括:
所述调试管理系统根据预设规则对所述修改后的目标元数据信息进行编译,得到修改后的目标上下文信息;
所述调试管理系统向所述引擎工作系统发送所述修改后的目标上下文信息,以使得所述引擎工作系统执行所述修改后的目标上下文信息。
3.根据权利要求1所述方法,其特征在于,所述调试管理系统对所述目标上下文信息进行反编译,得到与所述目标上下文信息对应的目标元数据信息包括:
所述调试管理系统根据预设规则对所述目标上下文信息进行反编译,得到与所述目标上下文信息对应的目标元数据信息;
或,所述调试管理系统根据所述目标上下文信息获取所述目标元数据信息,所述目标元数据信息为根据所述预设规则进行编译得到所述目标上下文信息的元数据信息。
4.根据权利要求1所述方法,其特征在于,所述调试管理系统向所述引擎工作系统发送对于目标模型的执行请求之后,还包括:
所述调试管理系统接收所述引擎工作系统发送的元数据获取请求,所述元数据获取请求指示请求获取所述目标模型;
所述调试管理系统获取所述目标模型的元数据信息;
所述调试管理系统根据预设规则对所述目标模型的元数据信息进行编译,得到编译后的元数据信息;
所述调试管理系统向所述引擎工作系统发送所述编译后的元数据信息。
5.根据权利要求1所述方法,其特征在于,所述调试管理系统接收用户设置的n个断点之前,还包括:
所述调试管理系统获取所述目标模型;
所述调试管理系统确定所述目标模型的元数据信息;
所述调试管理系统为所述目标模型的元数据信息确定m个引擎,所述m个引擎分别用于执行所述目标模型中的m个不同部分,所述m为正整数。
6.根据权利要求5所述方法,其特征在于,所述m个引擎共用一个调试代理器,所述调试代理器用于进行所述调试管理系统和多个引擎之间的数据交互。
7.根据权利要求6所述方法,其特征在于,所述m个引擎和所述调试代理器使用独立第一工作空间中运行,所述第一工作空间和所述目标模型对应。
8.一种元数据模型调试装置,其特征在于,包括:
收发模块,用于接收引擎工作系统发送的目标上下文信息;
编译模块,用于根据对所述目标上下文信息进行反编译,得到与所述目标上下文信息对应的目标元数据信息;
交互模块,用于接收用户对所述目标元数据信息的修改,得到修改后的目标元数据信息;
所述交互模块,还用于接收用户设置的n个断点,所述目标断点为所述n个断点中的一个,所述n为正整数;
所述收发模块,还用于向所述引擎工作系统发送所述n个断点,以使得当所述引擎工作系统执行到所述目标断点时,所述引擎工作系统返回所述目标断点的上下文信息,所述目标断点的上下文信息为所述目标上下文信息;
所述收发模块,还用于向所述引擎工作系统发送对于目标模型的执行请求,以使得所述引擎工作系统执行所述目标模型,所述目标模型为所述目标断点所在的模型。
9.根据权利要求8所述装置,其特征在于,
所述编译模块还用于,根据预设规则对所述修改后的目标元数据信息进行编译,得到修改后的目标上下文信息;
所述收发模块,还用于向所述引擎工作系统发送所述修改后的目标上下文信息,以使得所述引擎工作系统执行所述修改后的目标上下文信息。
10.根据权利要求8所述装置,其特征在于,
所述编译模块具体用于,根据预设规则对所述目标上下文信息进行反编译,得到与所述目标上下文信息对应的目标元数据信息;
或,根据所述目标上下文信息获取所述目标元数据信息,所述目标元数据信息为根据所述预设规则进行编译得到所述目标上下文信息的元数据信息。
11.根据权利要求8所述装置,其特征在于,
所述收发模块,还用于接收所述引擎工作系统发送的元数据获取请求,所述元数据获取请求指示请求获取所述目标模型;
所述收发模块,还用于获取所述目标模型的元数据信息;
所述编译模块,还用于根据预设规则对所述目标模型的元数据信息进行编译,得到编译后的元数据信息;
所述收发模块,还用于向所述引擎工作系统发送所述编译后的元数据信息。
12.根据权利要求8所述装置,其特征在于,
所述收发模块,还用于获取所述目标模型;
所述装置还包括:
确定模块,用于确定所述目标模型的元数据信息;
所述确定模块,还用于为所述目标模型的元数据信息确定m个引擎工作系统,所述m个引擎工作系统分别用于执行所述目标模型中的m个不同部分,所述m为正整数。
13.一种元数据模型调试装置,其特征在于,包括:
处理器和存储器;
所述存储器,用于存储程序;所述处理器调用所述存储器存储的程序,用于执行如权利要求1-7中任一项所述的方法。
14.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810168074.4A CN110209565B (zh) | 2018-02-28 | 2018-02-28 | 一种元数据模型调试方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810168074.4A CN110209565B (zh) | 2018-02-28 | 2018-02-28 | 一种元数据模型调试方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110209565A CN110209565A (zh) | 2019-09-06 |
CN110209565B true CN110209565B (zh) | 2021-08-13 |
Family
ID=67778878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810168074.4A Active CN110209565B (zh) | 2018-02-28 | 2018-02-28 | 一种元数据模型调试方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209565B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704262A (zh) * | 2019-09-17 | 2020-01-17 | 广州市玄武无线科技股份有限公司 | 动态业务逻辑调试方法、系统、存储介质及智能设备 |
CN110808976B (zh) * | 2019-10-31 | 2022-06-07 | 厦门亿联网络技术股份有限公司 | Wifi-bt信息认证方法、系统、可读存储介质及ip话机 |
CN114036781B (zh) * | 2022-01-04 | 2022-05-06 | 阿里云计算有限公司 | 数据处理方法、数据展示方法、装置以及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414278A (zh) * | 2008-12-01 | 2009-04-22 | 浙大网新科技股份有限公司 | 基于动态反编译技术的二进制应用程序调试方法 |
CN103678135A (zh) * | 2013-12-25 | 2014-03-26 | 普元信息技术股份有限公司 | 大数据环境下实现跨进程与跨线程调试的系统与方法 |
CN106445818A (zh) * | 2016-09-13 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于模型驱动的自动化脚本调试方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120167056A1 (en) * | 2010-12-23 | 2012-06-28 | Sap Ag | Debugger for a metadata-centric development infrastructure |
-
2018
- 2018-02-28 CN CN201810168074.4A patent/CN110209565B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414278A (zh) * | 2008-12-01 | 2009-04-22 | 浙大网新科技股份有限公司 | 基于动态反编译技术的二进制应用程序调试方法 |
CN103678135A (zh) * | 2013-12-25 | 2014-03-26 | 普元信息技术股份有限公司 | 大数据环境下实现跨进程与跨线程调试的系统与方法 |
CN106445818A (zh) * | 2016-09-13 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于模型驱动的自动化脚本调试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110209565A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829378B (zh) | 一种应用软件的开发方法、装置及电子设备 | |
US9658907B2 (en) | Development tools for refactoring computer code | |
CN106325970A (zh) | 编译方法和编译系统 | |
CN110209565B (zh) | 一种元数据模型调试方法及其装置 | |
CN111382048B (zh) | 真机测试平台上移动设备的管理方法和装置 | |
US20110191752A1 (en) | Method and System for Debugging of Software on Target Devices | |
CN106407100A (zh) | 一种实现持续集成测试的方法及装置 | |
CN107577609B (zh) | 一种基于主机端动态链接的嵌入式系统动态模块调试系统 | |
CN111026601A (zh) | Java应用系统的监控方法、装置、电子设备及存储介质 | |
CN104246702A (zh) | 工作流编译 | |
US20110126179A1 (en) | Method and System for Dynamic Patching Software Using Source Code | |
CN106817241A (zh) | 一种升级管理方法、升级方法及装置 | |
CN110196809B (zh) | 接口测试方法及装置 | |
CN115357515B (zh) | 一种多核系统的调试方法、装置、计算机设备及存储介质 | |
CN109542444B (zh) | Java应用的监控方法、装置、服务器和存储介质 | |
CN111930398A (zh) | 应用程序更新方法、装置、系统、介质及设备 | |
CN113297064A (zh) | 代码覆盖率测试方法、系统、设备及存储介质 | |
CN113495723B (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN117573095A (zh) | 一种支持持续集成的交叉编译框架的搭建及编译方法 | |
CN110442520B (zh) | 一种基于plc编程语言的交叉调试系统及方法 | |
KR20130020135A (ko) | 통합 개발 환경에서의 코드 동시 개발자 리스트 제공 시스템 및 방법 | |
Kirchhof et al. | Web-based tracing for model-driven applications | |
CN108614704B (zh) | 代码编译方法及装置 | |
CN114816419A (zh) | 工程编译方法和编译装置 | |
CN111581081B (zh) | 一种自动化测试系统及方法 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200131 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 210012 HUAWEI Nanjing base, 101 software Avenue, Yuhuatai District, Jiangsu, Nanjing Applicant before: Huawei Technologies Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |