CN109062559B - 一种数据处理方法和装置 - Google Patents
一种数据处理方法和装置 Download PDFInfo
- Publication number
- CN109062559B CN109062559B CN201810783525.5A CN201810783525A CN109062559B CN 109062559 B CN109062559 B CN 109062559B CN 201810783525 A CN201810783525 A CN 201810783525A CN 109062559 B CN109062559 B CN 109062559B
- Authority
- CN
- China
- Prior art keywords
- tracker
- interface
- model
- tracking list
- sql
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于软件开发技术领域,公开了一种数据处理方法和装置,所述方法首先接收调用跟踪器接口指令;然后调用所述调用跟踪器接口指令对应的跟踪器接口创建该跟踪器接口所对应跟踪器类型的跟踪器;之后将所述跟踪器对应的抽象跟踪器加入预设的跟踪列表中,当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行,以实现与数据库的交互。因此,本发明实施例中,由于只有最终在运行跟踪列表时才会与数据执行交互,因此,在复杂情况下也可以避免与数据库的过多交互,从而简化数据库开发的编程。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种数据处理方法和装置。
背景技术
对象关系映射(Object-relational mapping,简称ORM)框架是现有软件开发领域中所常用的数据库开发框架。
ORM框架的主要作用是在关系型数据库和业务对象之间作一个映射,例如根据业务对象建立模型,这样,软件开发人员在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需对模型执行简单的操作就可以实现对操作业务对象的操作。其中,模型中可以包括多个实例,每一种模型可以与一个表对应,每个实例对应表中的一条记录,模型的每个属性对应表的每个字段。
在ORM框架下,为了减少和数据库的交互,可以通过模型的状态跟踪来实现,例如创建数据管理器,将对数据的修改暂存在模型中,最后一次性提交到数据库。
但是,申请人发现,如果情况比较复杂,例如,需要在某一个步骤的执行结果后调用SQL执行器来执行某种操作,或者为后续步骤提供数据输入时,不得不先执行此操作,才能完成后续流程,操作步骤会变得繁琐,对数据库的交互也会更频繁,降低系统性能。
发明内容
有鉴于此,本发明实施例公开了一种数据处理方法和装置,以扩展传统ORM框架的功能,在情况复杂的情况下,也可以体现出ORM框架的优势,减少与数据库的交互频率,从而提高数据库开发效率。
为了实现上述目的,本发明实施例公开的内容如下:
本发明实施例公开了一种数据处理方法,应用于ORM框架,所述处理方法包括:
接收调用跟踪器接口指令;
调用所述调用跟踪器接口指令对应的跟踪器接口创建该跟踪器接口所对应跟踪器类型的跟踪器;
将所述跟踪器对应的抽象跟踪器加入预设的跟踪列表中,所述跟踪列表是在创建数据管理器时创建的,所述数据管理器为所述ORM框架的一部分,所述抽象跟踪器是未指定类型的跟踪器;
当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行,以实现与数据库的交互。
优选的,所述跟踪器接口包括:
用于创建模型跟踪器的模型跟踪器编程接口;
用于创建SQL跟踪器的SQL跟踪器编程接口;
用于创建代码跟踪器的代码跟踪器编程接口。
优选的,所述模型跟踪器编程接口具体包括:
用于新增数据的新增跟踪器编程接口;
用于删除数据的删除跟踪器编程接口;
用于修改数据的修改跟踪器编程接口。
优选的,所述当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的跟踪器标识发送到对应的执行器执行包括:
接收运行跟踪列表内容的接口调用指令;
依据预设顺序获取所述跟踪列表中的跟踪器标识;
判断所述跟踪列表中跟踪器标识所对应的跟踪器类型;
若所述跟踪器类型为模型跟踪器,则获取所述模型跟踪器对应的模型的模型状态,并将所述模型状态发送到模型执行器执行;
若所述跟踪器类型为SQL跟踪器,则获取所述SQL跟踪器对应的SQL语句,并将所述SQL语句发送到SQL执行器执行;
若所述跟踪器类型为代码跟踪器,则获取所述代码跟踪器对应的执行代码,并将所述执行代码依据运行环境运行。
优选的,所述预设顺序为先进先出顺序。
本发明实施例还公开了一种数据处理装置,应用于ORM框架,所述处理装置包括:
接收模块,用于接收调用跟踪器接口指令;
创建模块,用于调用所述调用跟踪器接口指令对应的跟踪器接口创建该跟踪器接口所对应跟踪器类型的跟踪器;
添加模块,用于将所述跟踪器对应的抽象跟踪器加入预设的跟踪列表中,所述跟踪列表是在创建数据管理器时创建的,所述数据管理器为所述ORM框架的一部分,所述抽象跟踪器是未指定类型的跟踪器;
执行模块,用于当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行,以实现与数据库的交互。
优选的,所述跟踪器接口包括:
用于创建模型跟踪器的模型跟踪器编程接口;
用于创建SQL跟踪器的SQL跟踪器编程接口;
用于创建代码跟踪器的代码跟踪器编程接口。
优选的,所述模型跟踪器编程接口具体包括:
用于新增数据的新增跟踪器编程接口;
用于删除数据的删除跟踪器编程接口;
用于修改数据的修改跟踪器编程接口。
优选的,所述当执行模块包括:
接收单元,接收运行跟踪列表内容的接口调用指令;
获取单元,用于依据预设顺序获取所述跟踪列表中的抽象跟踪器;
判断单元,用于判断所述跟踪列表中抽象跟踪器所对应的跟踪器类型;
第一执行单元,用于若所述跟踪器类型为模型跟踪器,则获取所述模型跟踪器对应的模型的模型状态,并将所述模型状态发送到模型执行器执行;
第二执行单元,用于若所述跟踪器类型为SQL跟踪器,则获取所述SQL跟踪器对应的SQL语句,并将所述SQL语句发送到SQL执行器执行;
第三执行单元,用于若所述跟踪器类型为代码跟踪器,则获取所述代码跟踪器对应的执行代码,并将所述执行代码依据运行环境运行。
优选的,其特征在于所述预设顺序为先进先出顺序。
由上述方案可以看出,本发明实施例公开了一种数据处理方法和装置,所述方法首先接收调用跟踪器接口指令;然后调用所述调用跟踪器接口指令对应的跟踪器接口创建该跟踪器接口所对应跟踪器类型的跟踪器;之后将所述跟踪器对应的抽象跟踪器加入预设的跟踪列表中,当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行,以实现与数据库的交互。因此,本发明实施例中,由于只有最终在运行跟踪列表时才会与数据执行交互,因此,在复杂情况下也可以避免与数据库的过多交互,从而简化数据库开发的编程。
并且,由于跟踪列表中的抽象跟踪器是未指定类型的,可以实现不直接跟踪具体的跟踪器,而仅以抽象跟踪器作为跟踪目标,来实现对跟踪内容的获取,即使开发语言是强类型,也可以实现模型的状态跟踪,扩展了ORM框架的应用范围。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例公开的一种数据处理方法的流程示意图;
图2是本发明实施例中读取跟踪列表内容的流程示意图;
图3是本发明实施例中提供的一种数据处理方法在实际使用时的一个具体实例;
图4是本发明实施例公开的一种数据处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例主要应用在软件开发中的数据库编程技术领域,主要涉及关系型数据可以开发过程中,ORM框架的应用范围,为开发人员降低工作量。
参见图1,图1是本发明实施例公开的一种数据处理方法的流程示意图。本发明实施例公开的一种数据处理方法应用于ORM框架。
本发明实施例中,是应用于ORM框架的,其中,ORM框架是对象关系映射(Object-relationalmapping,简称ORM)框架。其中,一个数据管理器可以管理多个抽象跟踪器实例,即Instance,每一个Instance可以跟踪一种模型的状态。本发明实施例中,在创建数据管理器时,预先建立了跟踪器列表,其中,跟踪器列表属于容器的一种体现形式,其可以存放多个基础跟踪器。可以理解的是,本发明实施例中所创建的数据管理器也可以称为跟踪装置。
本发明实施例中所创建的跟踪装置提供了多种编程接口。具体的。
跟踪器接口包括:
用于创建模型跟踪器的模型跟踪器编程接口;
用于创建SQL跟踪器的SQL跟踪器编程接口;
用于创建代码跟踪器的代码跟踪器编程接口。
其中,模型跟踪器编程接口具体包括:
用于新增数据的新增跟踪器编程接口;
用于删除数据的删除跟踪器编程接口;
用于修改数据的修改跟踪器编程接口。
本发明实施例中,模型跟踪器可以实现模型的状态跟踪,SQL跟踪器可以实现SQL的跟踪,代码跟踪器可以实现代码的跟踪。当然,还提供了执行所有跟踪内容的运行跟踪列表内容接口,具体实现方式在后面进行详细介绍。
本发明实施例的处理方法包括:
S101、接收调用跟踪器接口指令;
S102、调用所述调用跟踪器接口指令对应的跟踪器接口创建该跟踪器接口所对应跟踪器类型的跟踪器;
S103、将所述跟踪器对应的抽象跟踪器加入预设的跟踪列表中,所述跟踪列表是在创建数据管理器时创建的,所述数据管理器为所述ORM框架的一部分,所述抽象跟踪器是未指定类型的跟踪器;
本发明实施例中,当需要执行如模型的状态跟踪、SQL跟踪或代码跟踪时,开发人员可以通过本发明所提供的编程接口来实现,发送调用跟踪器接口指令,系统根据该指令调用接口所对应的跟踪器类型创建跟踪器。
实际使用中,跟踪装置提供了编程接口来创建新增跟踪器,新增跟踪器的类型为模型跟踪器,当用户发出调用该接口的指令时,会创建新增跟踪器,其中,新增跟踪器将其跟踪模型的状态标识为新增,新增跟踪器包括其跟踪模型的特殊标识,该特殊标识用于指示模型执行器在执行时自动生成SQL语句,模型属性的当前值为所需新增数据的当前值。
实际使用中,以.Net C#编程语言为例,创建新增跟踪器的编程接口定义为:
Void TrackCreate<TModel>(TModelmodel);
其中,TModel为跟踪模型的实际模型类型,model为所跟踪的模型,当开发人员调用该接口时,跟踪装置会创建一个TModel类型的新增跟踪器的实例,并把所跟踪模型的引用保存到该新增跟踪器中,然后,将该新增跟踪器所对应的抽象跟踪器加入到预设的跟踪列表中。
实际使用中,跟踪装置提供了编程接口来创建删除跟踪器,删除跟踪器的类型为模型跟踪器,当用户发出调用该接口的指令时,会创建删除跟踪器,其中,删除跟踪器将其跟踪模型的状态标识为删除,删除跟踪器包括其跟踪模型的特殊标识,创建删除跟踪器的编程接口定义为:
Void TrackDelete<TModel>(TModelmodel);
其中,TModel为跟踪模型的实际模型类型,model为所跟踪的模型,当开发人员调用该接口时,跟踪装置会创建一个TModel类型的删除跟踪器的实例,并把所跟踪模型的引用保存到该删除跟踪器,然后,将该删除跟踪器所对应的抽象跟踪器加入到预设的跟踪列表中。
实际使用中,跟踪装置提供了编程接口来创建修改跟踪器,修改跟踪器的类型为模型跟踪器,当用户发出调用该接口的指令时,会创建修改跟踪器,其中,修改跟踪器将其跟踪模型的状态标识为修改,修改跟踪器包括其跟踪模型的特殊标识,创建修改跟踪器的编程接口定义为:
Void TrackUpdate<TModel>(TModelmodel);
其中,TModel为跟踪模型的实际模型类型,model为所跟踪的模型,当开发人员调用该接口时,跟踪装置会创建一个TModel类型的修改跟踪器的实例,并把所跟踪模型的引用保存到该修改跟踪器,将model克隆一份,用于访问模型的原值,并把克隆的model的引用也保存到该修改跟踪器,其中,克隆的model属性的当前值即为模型属性的原值,当用户后续执行修改模型属性时,只修改Model而不修改克隆的model,然后,将该修改跟踪器所对应的抽象跟踪器加入到预设的跟踪列表中。克隆model的原因是后续生成SQL语句时,需要知道所变更前和变更后这两个数据才能实现,因此,此处为了后续生成SQL语句,会将model克隆并将克隆的model的引用也保存到修改跟踪器。
实际使用中,跟踪装置提供了编程接口来创建SQL跟踪器,SQL跟踪器的类型为SQL跟踪器。创建SQL跟踪器的编程接口定义为:
Void TrackSQL(string sql,param[]parameters);
其中,Sql为需要跟踪的SQL,parameters为执行该SQL所需要传入的参数,开发人员在调用该接口时,跟踪装置会创建一个SQL跟踪器的实例,并把sql和parameters保存到该SQL跟踪器,然后把SQL跟踪器所对应的抽象跟踪器加入到跟踪列表。
实际使用中,跟踪装置提供了编程接口来创建代码跟踪器,代码跟踪器的类型为代码跟踪器。创建代码跟踪器的编程接口定义为:
Void TrackAction(Action action);
其中,Action保护所需要跟踪的代码,action可以为例如C#的代码,一般利用该代码可以对该跟踪器未执行跟踪内容进行预处理,可以理解的是,还可以实现其它处理,在此不进行赘述。,开发人员调用该接口时,跟踪装置创建一个代码跟踪器的实例,并把action保存到该代码跟踪器,然后把该代码跟踪器对应的抽象跟踪器加入到跟踪列表。
在执行了步骤S101-步骤S103之后,跟踪列表中至少包括有多个抽象跟踪器,这些抽象跟踪器的排列顺序按照先后接收指令的先后顺序进行排列。因此,即便后一步骤中需要前一步骤所生成的结果,也可以按照跟踪列表中的顺序所顺利执行,可以使得前一步骤的执行结果不影响后续步骤的输入。且由于抽象跟踪器在编译时不需要确定具体类型,因此,可以扩展ORM框架的功能。
S104、当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行,以实现与数据库的交互。
本发明实施例中,运行跟踪列表内容的接口指令可以通过调用预先设置的运行跟踪列表内容接口来实现。
具体的。可以参见图2,图2是本发明实施例中读取跟踪列表内容的流程示意图。
所述当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行包括:
S201、接收运行跟踪列表内容的接口调用指令;
实际使用中,运行跟踪列表内容的编程接口可以定义为:
Void SaveChanges();
即当接收到此指令后,执行后续步骤。将跟踪列表中的所有内容根据每个跟踪器的具体类型,把跟踪内容分别交给具体的执行器执行。
S202、依据预设顺序获取所述跟踪列表中的抽象跟踪器;
S203、判断所述跟踪列表中抽象跟踪器所对应的跟踪器类型;
S204、若所述跟踪器类型为模型跟踪器,则获取所述模型跟踪器对应的模型的模型状态,并将所述模型状态发送到模型执行器执行;
若所述跟踪器类型为SQL跟踪器,则获取所述SQL跟踪器对应的SQL语句,并将所述SQL语句发送到SQL执行器执行;
若所述跟踪器类型为代码跟踪器,则获取所述代码跟踪器对应的执行代码,并将所述执行代码依据运行环境运行。
需要说明的是,模型执行器、SQL执行器的具体实现过程可以参考现有技术,在此不进行赘述,运行环境可以根据实际情况确定,或自动获取,具体过程可以参见现有技术,在此不进行赘述。
可以看出,本发明实施例公开了一种数据处理方法,所述方法首先接收调用跟踪器接口指令;然后调用所述调用跟踪器接口指令对应的跟踪器接口创建该跟踪器接口所对应跟踪器类型的跟踪器;之后将所述跟踪器对应的抽象跟踪器加入预设的跟踪列表中,当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行,以实现与数据库的交互。因此,本发明实施例中,由于只有最终在运行跟踪列表时才会与数据执行交互,因此,在复杂情况下也可以避免与数据库的过多交互,从而简化数据库开发的编程。
并且,由于跟踪列表中的抽象跟踪器是未指定类型的,可以实现不直接跟踪具体的跟踪器,而仅以抽象跟踪器作为跟踪目标,来实现对跟踪内容的获取,即使开发语言是强类型,也可以实现模型的状态跟踪,扩展了ORM框架的应用范围。
实际使用中,以修改部门档案、修改员工工资档案的SQL以及修改员工档案为例,参见图3,图3是本发明实施例中提供的一种数据处理方法在实际使用时的一个具体实例。
实际使用中,创建跟踪装置,即创建数据管理器,当需要修改部门档案时,调用对应接口,建立对应的跟踪器,并将该跟踪器对应的抽象跟踪器加入到跟踪列表中,然后需要执行修改员工工资档案的SQL时,建立SQL跟踪器,并将SQL跟踪器对应的抽象跟踪器加入到跟踪列表中,由于修改完员工工资档案后,才能对员工档案进行修改,因此,跟踪列表中的执行顺序必须是先进先出,才能顺序执行,之后需要修改员工档案,则建立对应的跟踪器,并将该跟踪器对应的抽象跟踪器加入到跟踪列表,最后,调用运行跟踪列表全部内容的编程接口,完成保存部门档案、执行SQL、保存员工档案的全部步骤和过程,仅需要与数据库执行一次数据交互,即可完成全部操作,有利于提高系统性能,且扩展了ORM框架的使用范围和功能。
与上述实施例中一种数据处理方法相对应的,本发明实施例公开了一种数据处理装置。
参见图4,图4是本发明实施例公开的一种数据处理装置的结构示意图。
本发明提供的一种数据处理装置,应用于ORM框架,所述处理装置包括:
接收模块1,用于接收调用跟踪器接口指令;
创建模块2,用于调用所述调用跟踪器接口指令对应的跟踪器接口创建该跟踪器接口所对应跟踪器类型的跟踪器;
添加模块3,用于将所述跟踪器对应的抽象跟踪器加入预设的跟踪列表中,所述跟踪列表是在创建数据管理器时创建的,所述数据管理器为所述ORM框架的一部分,所述抽象跟踪器是未指定类型的跟踪器;
执行模块4,用于当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行,以实现与数据库的交互。
优选的,所述跟踪器接口包括:
用于创建模型跟踪器的模型跟踪器编程接口;
用于创建SQL跟踪器的SQL跟踪器编程接口;
用于创建代码跟踪器的代码跟踪器编程接口。
优选的,所述模型跟踪器编程接口具体包括:
用于新增数据的新增跟踪器编程接口;
用于删除数据的删除跟踪器编程接口;
用于修改数据的修改跟踪器编程接口。
优选的,所述当执行模块包括:
接收单元,接收运行跟踪列表内容的接口调用指令;
获取单元,用于依据预设顺序获取所述跟踪列表中的抽象跟踪器;
判断单元,用于判断所述跟踪列表中抽象跟踪器所对应的跟踪器类型;
第一执行单元,用于若所述跟踪器类型为模型跟踪器,则获取所述模型跟踪器对应的模型的模型状态,并将所述模型状态发送到模型执行器执行;
第二执行单元,用于若所述跟踪器类型为SQL跟踪器,则获取所述SQL跟踪器对应的SQL语句,并将所述SQL语句发送到SQL执行器执行;
第三执行单元,用于若所述跟踪器类型为代码跟踪器,则获取所述代码跟踪器对应的执行代码,并将所述执行代码依据运行环境运行。
优选的,所述预设顺序为先进先出顺序。
需要说明的是,本实施例的一种数据装置可以采用上述方法实施例中的一种数据处理方法实现各模块的功能,实现上述方法实施例中的全部技术方案,其各个模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
本发明实施例公开了一种数据处理装置,所述处理装置首先接收调用跟踪器接口指令;然后调用所述调用跟踪器接口指令对应的跟踪器接口创建该跟踪器接口所对应跟踪器类型的跟踪器;之后将所述跟踪器对应的抽象跟踪器加入预设的跟踪列表中,当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行,以实现与数据库的交互。因此,本发明实施例中,由于只有最终在运行跟踪列表时才会与数据执行交互,因此,在复杂情况下也可以避免与数据库的过多交互,从而简化数据库开发的编程。
并且,由于跟踪列表中的抽象跟踪器是未指定类型的,可以实现不直接跟踪具体的跟踪器,而仅以抽象跟踪器作为跟踪目标,来实现对跟踪内容的获取,即使开发语言是强类型,也可以实现模型的状态跟踪,扩展了ORM框架的应用范围。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种数据处理方法,其特征在于,应用于ORM框架,所述处理方法包括:
接收调用跟踪器接口指令;
调用所述调用跟踪器接口指令对应的跟踪器接口创建该跟踪器接口所对应跟踪器类型的跟踪器;
将所述跟踪器对应的抽象跟踪器加入预设的跟踪列表中,所述跟踪列表是在创建数据管理器时创建的,所述数据管理器为所述ORM框架的一部分,所述抽象跟踪器是未指定类型的跟踪器;
当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行,以实现与数据库的交互;
所述当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行包括:接收运行跟踪列表内容的接口调用指令;依据预设顺序获取所述跟踪列表中的抽象跟踪器;判断所述跟踪列表中抽象跟踪器所对应的跟踪器类型;若所述跟踪器类型为模型跟踪器,则获取所述模型跟踪器对应的模型的模型状态,并将所述模型状态发送到模型执行器执行;若所述跟踪器类型为SQL跟踪器,则获取所述SQL跟踪器对应的SQL语句,并将所述SQL语句发送到SQL执行器执行;若所述跟踪器类型为代码跟踪器,则获取所述代码跟踪器对应的执行代码,并将所述执行代码依据运行环境运行。
2.根据权利要求1所述的数据处理方法,其特征在于,所述跟踪器接口包括:
用于创建模型跟踪器的模型跟踪器编程接口;
用于创建SQL跟踪器的SQL跟踪器编程接口;
用于创建代码跟踪器的代码跟踪器编程接口。
3.根据权利要求2所述的处理方法,其特征在于,所述模型跟踪器编程接口具体包括:
用于新增数据的新增跟踪器编程接口;
用于删除数据的删除跟踪器编程接口;
用于修改数据的修改跟踪器编程接口。
4.根据权利要求1所述的数据处理方法,其特征在于,所述预设顺序为先进先出顺序。
5.一种数据处理装置,其特征在于,应用于ORM框架,所述处理装置包括:
接收模块,用于接收调用跟踪器接口指令;
创建模块,用于调用所述调用跟踪器接口指令对应的跟踪器接口创建该跟踪器接口所对应跟踪器类型的跟踪器;
添加模块,用于将所述跟踪器对应的抽象跟踪器加入预设的跟踪列表中,所述跟踪列表是在创建数据管理器时创建的,所述数据管理器为所述ORM框架的一部分,所述抽象跟踪器是未指定类型的跟踪器;
执行模块,用于当接收到运行跟踪列表内容的接口指令时,将所述跟踪列表中的抽象跟踪器发送到对应的执行器执行,以实现与数据库的交互;
所述执行模块包括:接收单元,接收运行跟踪列表内容的接口调用指令;获取单元,用于依据预设顺序获取所述跟踪列表中的抽象跟踪器;判断单元,用于判断所述跟踪列表中抽象跟踪器所对应的跟踪器类型;第一执行单元,用于若所述跟踪器类型为模型跟踪器,则获取所述模型跟踪器对应的模型的模型状态,并将所述模型状态发送到模型执行器执行;第二执行单元,用于若所述跟踪器类型为SQL跟踪器,则获取所述SQL跟踪器对应的SQL语句,并将所述SQL语句发送到SQL执行器执行;第三执行单元,用于若所述跟踪器类型为代码跟踪器,则获取所述代码跟踪器对应的执行代码,并将所述执行代码依据运行环境运行。
6.根据权利要求5所述的数据处理装置,其特征在于,所述跟踪器接口包括:
用于创建模型跟踪器的模型跟踪器编程接口;
用于创建SQL跟踪器的SQL跟踪器编程接口;
用于创建代码跟踪器的代码跟踪器编程接口。
7.根据权利要求6所述的处理装置,其特征在于,所述模型跟踪器编程接口具体包括:
用于新增数据的新增跟踪器编程接口;
用于删除数据的删除跟踪器编程接口;
用于修改数据的修改跟踪器编程接口。
8.根据权利要求5所述的数据处理装置,其特征在于,所述预设顺序为先进先出顺序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810783525.5A CN109062559B (zh) | 2018-07-17 | 2018-07-17 | 一种数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810783525.5A CN109062559B (zh) | 2018-07-17 | 2018-07-17 | 一种数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062559A CN109062559A (zh) | 2018-12-21 |
CN109062559B true CN109062559B (zh) | 2022-05-24 |
Family
ID=64816785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810783525.5A Active CN109062559B (zh) | 2018-07-17 | 2018-07-17 | 一种数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062559B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828527A (zh) * | 2005-02-28 | 2006-09-06 | 微软公司 | 用于跨不同应用程序框架的数据服务的平台 |
US8296741B1 (en) * | 2007-03-05 | 2012-10-23 | Google Inc. | Identifying function-level code dependency by simulating runtime binding |
CN103036918A (zh) * | 2011-09-30 | 2013-04-10 | 深圳市喜赛科技有限公司 | 跟踪系统、跟踪服务器及跟踪器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090030870A1 (en) * | 2007-07-27 | 2009-01-29 | Microsoft Corporation | Error propagation in object-relational mapping platform |
-
2018
- 2018-07-17 CN CN201810783525.5A patent/CN109062559B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828527A (zh) * | 2005-02-28 | 2006-09-06 | 微软公司 | 用于跨不同应用程序框架的数据服务的平台 |
US8296741B1 (en) * | 2007-03-05 | 2012-10-23 | Google Inc. | Identifying function-level code dependency by simulating runtime binding |
CN103036918A (zh) * | 2011-09-30 | 2013-04-10 | 深圳市喜赛科技有限公司 | 跟踪系统、跟踪服务器及跟踪器 |
Non-Patent Citations (2)
Title |
---|
CPU调度可视化研究;王苗苗;《中国优秀硕士学位论文全文数据库(电子期刊)》;20131115;第3.1.3节 * |
基于隐马尔科夫模型的广告管理系统研究与实现;孙铭;《中国优秀硕士学位论文全文数据库(电子期刊)》;20160315;第5.4-5.5节 * |
Also Published As
Publication number | Publication date |
---|---|
CN109062559A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019223173A1 (zh) | 高频任务调度方法、系统、计算机设备和存储介质 | |
CN107506442B (zh) | 一种模型的建模方法及装置 | |
CN110908641B (zh) | 基于可视化的流计算平台、方法、设备和存储介质 | |
WO2018036342A1 (zh) | 基于csar的模型文件的可视化设计方法及装置 | |
JP2018514012A5 (zh) | ||
CN104965879A (zh) | 修改数据表的表结构的方法及装置 | |
WO2020238597A1 (zh) | 基于Hadoop的数据更新方法、装置、系统及介质 | |
WO2017213846A1 (en) | Automating feature graduation | |
KR20100071361A (ko) | Autosar 응용 소프트웨어의 소프트웨어 구조 모델링도구를 위한 프로젝트 관리 장치 및 방법 그리고 이를 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 | |
US10509632B2 (en) | Model augmentation in a model-driven application development environment | |
CN107783820A (zh) | 一种云平台虚拟机定时操作任务设置方法 | |
CN112463450A (zh) | 一种增量备份管理方法、系统、电子设备及存储介质 | |
CN110908793A (zh) | 长时任务执行方法、装置、设备及可读存储介质 | |
CN108334333B (zh) | 一种源代码库更新方法及装置 | |
CN109062559B (zh) | 一种数据处理方法和装置 | |
WO2015196805A1 (zh) | 批命令的执行方法及装置 | |
CN106547763B (zh) | 数据库的创建方法及装置 | |
US9032372B2 (en) | Runtime environment and method for non-invasive monitoring of software applications | |
CN111124386B (zh) | 基于Unity的动画事件处理方法、装置、设备和存储介质 | |
US8892519B2 (en) | Command interpreter | |
CN110245148B (zh) | 一种数据存储方法、装置、系统及介质 | |
JP5651873B2 (ja) | 操作支援方法及び計算機 | |
Kang et al. | Dynamic software updating for cyber-physical systems | |
CN110377298B (zh) | 一种分布式集群升级方法及分布式集群 | |
CN111399975A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |