CN116010422A - 一种基于数据依赖的数据处理方法及装置 - Google Patents
一种基于数据依赖的数据处理方法及装置 Download PDFInfo
- Publication number
- CN116010422A CN116010422A CN202310099719.4A CN202310099719A CN116010422A CN 116010422 A CN116010422 A CN 116010422A CN 202310099719 A CN202310099719 A CN 202310099719A CN 116010422 A CN116010422 A CN 116010422A
- Authority
- CN
- China
- Prior art keywords
- metadata
- data
- field
- dependency
- entry
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于数据依赖的数据处理方法,应用于计算机领域,该方法包括:为数据包创建依赖主体表,依赖主体表包括数据包名称;为数据包创建信息条目表,信息条目表包括数据包中的多个元数据,元数据包括元数据名称,多个元数据中的每一个元数据对应一个数据库表;为数据包创建依赖关系表,依赖关系表包括多个元数据的数据字段以及各个所述元数据中的数据字段之间的依赖关系,数据字段包括字段名以及字段值;通过预先输入的数据包名称获取依赖主体表;根据依赖主体表获取依赖主体表所属的数据包;从数据包中获取信息条目表以及依赖关系表;从而实现在不进行代码开发或程序更新的情况下,满足新增的数据存取需求。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于数据依赖的数据处理方法及装置。
背景技术
在使用数据库存储数据的过程中,会将数据拆分为不同的数据表以更加清晰地对数据进行划分,例如,学校在建立数据库的过程中,会将教师信息、班级信息、学生信息分别以不同的数据表进行存储。然而,数据库中的数据表通常存在复杂的对应关系,例如,一个教师可以指导多个班级,相应地,教师信息表中的一个教师信息可能对应班级信息表中的多个班级信息;又例如,一个班级可以包括多个学生,相应地,班级信息表中的一个班级信息可以对应学生信息表中的多个学生信息。
在现有的技术中,在数据库中检索数据都由技术人员通过既定的数据规则编写程序代码。并提供对应的访问方式或者触发按钮来进行数据的存取。在这样的工作模式下,需要技术人员进行代码开发或程序更新等步骤后才能满足新增的数据存取需求,从而提高了开发成本,因此,如何在不进行代码开发或程序更新的情况下,满足新增的数据存取需求是亟需解决的问题。
发明内容
有鉴于此,本申请的主要目的在于提供一种基于数据依赖的数据处理方法及装置,实现在不进行代码开发或程序更新的情况下,满足新增的数据存取需求。
本申请第一方面提供了一种基于数据依赖的数据处理方法,该方法包括:
为数据包创建依赖主体表,依赖主体表包括数据包名称;
为数据包创建信息条目表,信息条目表包括数据包中的多个元数据,元数据包括元数据名称,多个元数据中的每一个元数据对应一个数据库表;
为数据包创建依赖关系表,依赖关系表包括多个元数据的数据字段以及元数据中的数据字段与其他元数据中的数据字段之间的依赖关系;
通过预先输入的数据包名称获取依赖主体表;
根据依赖主体表获取依赖主体表所属的数据包;
从数据包中获取信息条目表以及依赖关系表。
在本申请第一方面的一些实现方式中,数据字段包括主键字段和外键字段,依赖关系通过将数据字段设置为主键字段或外键字段建立。
在本申请第一方面的一些实现方式中,该方法还包括:
获取入口元数据名称以及入口字段;
根据入口元数据名称从信息条目表中获取入口元数据,入口元数据为多个元数据中的其中一个。
在本申请第一方面的一些实现方式中,该方法还包括:
根据入口字段对入口元数据对应的数据库表进行数据查询,以获得查询结果数据;
将查询结果数据存储至结果池。
在本申请第一方面的一些实现方式中,查询结果数据携带有入口字段的标识值,该方法还包括:
将入口字段在入口元数据中所属的数据字段标记为当前数据字段,并进行至少一个查询阶段的数据查询;
其中,每个查询阶段包括:根据依赖关系表判断当前数据字段是否存在依赖元数据,依赖元数据中的数据字段与当前数据字段存在依赖关系,依赖元数据为多个元数据中的其中一个;如果当前数据字段存在依赖元数据,则根据标识值从依赖元数据对应的数据库表中获得当前阶段的查询结果数据并存储至结果池,并将依赖元数据中与当前数据字段存在依赖关系的数据字段标记为下一个查询阶段的当前数据字段;如果当前数据字段不存在依赖元数据,则结束数据查询。
在本申请第一方面的一些实现方式中,该方法还包括:
以预设的数据格式组装结果池中的查询结果数据,以得到查询结果;
输出查询结果。
在本申请第一方面的一些实现方式中,该方法还包括:
将入口字段的字段值存储至入口元数据对应的数据库表中。
在本申请第一方面的一些实现方式中,该方法还包括:
从入口元数据对应的数据库表中获取入口字段的标识值;
将入口字段在入口元数据中所属的数据字段标记为当前数据字段,并至少一个存储阶段的数据存储;
其中,每个存储阶段包括:根据依赖关系表判断当前数据字段是否存在依赖元数据,依赖元数据中的数据字段与当前数据字段存在依赖关系,依赖元数据为多个元数据中的其中一个;如果当前数据字段存在依赖元数据,则为入口字段设置标识值,将入口字段的字段值以及入口字段的标识值存储至依赖元数据对应的数据库表中,并将依赖元数据中与当前数据字段存在依赖关系的数据字段标记为下一个存储阶段的当前数据字段;如果当前数据字段不存在依赖元数据,则结束数据存储。
在本申请第一方面的一些实现方式中,预设的数据格式为JSON格式。
本申请第二方面提供了一种基于数据依赖的数据处理装置,该装置包括:
第一创建单元,用于为数据包创建依赖主体表,依赖主体表包括数据包名称;
第二创建单元,用于为数据包创建信息条目表,信息条目表包括数据包中的多个元数据,元数据包括元数据名称,多个元数据中的每一个元数据对应一个数据库表;
第三创建单元,用于为数据包创建依赖关系表,依赖关系表包括多个元数据的数据字段以及元数据中的数据字段与其他元数据中的数据字段之间的依赖关系;
第一获取单元,用于通过预先输入的数据包名称获取依赖主体表;
第二获取单元,用于根据依赖主体表获取依赖主体表所属的数据包;
第三获取单元,用于从数据包中获取信息条目表以及依赖关系表。
相对于现有技术,本申请所提供的技术方案具有如下有益效果:
本申请通过为数据包创建第一数据表作为依赖主体表,依赖主体表包括数据包名称;为数据包创建第二数据表作为信息条目表,信息条目表包括多个元数据,元数据包括元数据名称,多个元数据中的每个元数据对应一个预存的数据库表;为数据包创建第三数据表作为依赖关系表,依赖关系表中包括多个元数据中的每个元数据的数据字段以及元数据中的数据字段与其他元数据中的数据字段之间的依赖关系,实现了以数据依赖配置的方式对数据包中的数据表进行处理,为数据包形成了一个明确各数据库表之间的依赖关系的链式结构,在以该链式结构为依据进行数据存取的情况下,当有新增的数据存取需求无需技术人员开发或更新程序。
附图说明
图1为本申请实施例提供的一种基于数据依赖的数据处理方法的流程示意图;
图2为本申请实施例提供的又一种基于数据依赖的数据处理方法的流程示意图;
图3为本申请实施例提供的又一种基于数据依赖的数据处理方法的流程示意图;
图4为本申请实施例提供的一种教师信息元数据的示意图;
图5为本申请实施例提供的学科信息元数据的示意图;
图6为本申请实施例提供的班级信息元数据的示意图;
图7为本申请实施例提供的学生信息元数据的示意图;
图8为本申请实施例提供的学生成绩信息元数据的示意图;
图9为本申请实施例提供的数据包的流程示意图;
图10为本申请实施例提供的一种依赖关系的示意图;
图11为本申请实施例提供的又一种依赖关系的示意图;
图12为本申请实施例提供的又一种依赖关系的示意图;
图13为本申请实施例提供的又一种依赖关系的示意图;
图14为本申请实施例提供的又一种依赖关系的示意图;
图15为本申请实施例提供的数据存取系统的示意图;
图16为本申请实施例提供的一种基于数据依赖的数据处理装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有技术中通过既定的数据规则编写程序代码以实现数据检索,在这样的工作模式下,需要技术人员进行代码开发或程序更新等步骤后才能满足新增的数据存取需求,因此,如何在不进行代码开发和程序更新的情况下,满足新增的数据存取需求是亟需解决的问题。
参见图1所示,本申请实施例提供了一种基于数据依赖的数据处理方法,具体包括以下步骤:
S101:为数据包创建依赖主体表,依赖主体表包括数据包名称。
依赖主体表用于对数据包起到标识作用,该依赖主体表记录有数据包的名称,可以通过数据包名称获取依赖主体表,需要说明的是,该依赖主体表还可以记录数据包的创建时间等其他数据包的描述信息。
S102:为数据包创建信息条目表,信息条目表包括多个元数据,元数据包括元数据名称,多个元数据中的每一个元数据对应一个数据库表。
在本申请的实施例中,信息条目表通过元数据的形式对数据包包含的多个数据库表进行记录,元数据指的是对数据库表起到描述作用的数据,数据库表指的是存储在数据库中的数据表,其中,每一个数据库表都对应有一个元数据,该元数据可以记录元数据名称,需要说明的是,为了便于根据元数据名称获取到数据库表对应的元数据,元数据名称可以与数据库表的名称相同。例如,学校信息数据包包括教师信息表、学科信息表、班级信息表、学生信息表、成绩信息表这五张数据库表,则信息条目表包括五个元数据,分别为教师信息元数据、学科元信息数据、班级信息元数据、学生信息元数据、成绩信息元数据。
需要说明的是,信息条目表还可以记录数据库表所在数据库的地址信息或数据库名称信息、数据库表的名称信息、数据库表的描述信息等数据库表的相关信息,记录数据库表的相关信息的作用在于实现从不同的数据库中获取数据库表,使得数据包中的元数据不再局限于来自相同的数据库,例如,可以通过数据库表的所在数据库的地址信息从相应的数据库中获取数据库表,从而实现跨库查询数据库表。
S103:为数据包创建依赖关系表,依赖关系表包括多个元数据的数据字段以及元数据中的数据字段与其他元数据中的数据字段之间的依赖关系。
在本申请的实施例中,数据字段可以包括字段名称、描述信息、字段值类型等字段信息,例如,数据字段A的字段名称为TEACHERCODE,描述信息为教职工编号,数据类型为String;数据字段B的字段名称为ENTRYTIME,描述信息为入职时间,数据类型为Date。
依赖关系表中记录有数据包中的各个元数据对应的数据库表的具体字段,例如,依赖关系表记录的教师基本信息元数据包括有教师名称字段、教职工编号字段、教师入职时间字段以及教师联系方式字段等。
依赖关系表中还记录有元数据中的数据字段与其他元数据中的数据字段之间的依赖关系,例如,教师信息元数据包括有教职工编号字段,学科信息元数据包括有任课教职工编号字段,在存在需求为根据教师信息元数据对应的教师信息表中某老师的教师工编号在学科信息表中查找到该老师所教的学科信息的情况下,可以建立教师信息元数据中的教职工编号字段与学科信息元数据中的任课教职工编号字段的依赖关系。其中,数据字段可以包括主键字段以及外键字段,建立依赖关系的方式可以通过为元数据中的数据字段设置为主键字段或外键字段的方式建立,例如,教师信息元数据中的教职工编号字段设置为主键,学科信息元数据中的任课教职工编号字段设置为外键,以此来建立教职工编号字段与任课教职工编号字段的依赖关系。需要说明的是,主键必须是唯一并且不可重复的,实现唯一且不重复的主键的实现方式可以是数据库自身控制自增变量,也可以是程序开发者根据自定义的算法生成的绝不重复的字符串信息,采用其他方式生成的唯一且不重复的主键均不影响本申请实施例的实现。此外,采用主键字段或外键字段建立依赖关系时,只需指定其中某张数据库表的主键字段,便可检索出与其有关联的所有数据库表的数据。
在本申请的一些实现方式中,可以采用等于、不等于、开始于以及结束于这四种依赖类型来进行依赖关系的描述。其中,等于可以用来表示数据字段与其他元数据中的某个数据字段存在依赖关系,例如,教师信息元数据中的教职工编号字段与学科信息元数据中的任课教职工编号字段存在依赖关系,可以设置两者的依赖关系为等于;不等于可以用来表示数据字段与其他元数据中的某个数据字段不存在依赖关系;开始于可以用来表示数据字段与其他元数据中的数据字段存在依赖关系的基础上,以指定的字段作为开头;例如,在设计财务报销系统时,管理员会在每年年底为下一年的报销单重新设置编号前缀,设置2022年的编号前缀为“2022-”,设置2023年的编号前缀为“2023-”,在此基础上,可以从数据库表中查询以某个字段值为开始的全部信息;结束于可以用来表示数据字段与某个元数据中的数据字段存在依赖关系的基础上,以指定的字段作为结束。
S104:通过预先输入的数据包名称获取依赖主体表。
在本申请的实施例中,依赖主体表作为数据包的标识,需要先根据给定的数据包名称来获取依赖主体表,在本申请实施例的一些实现方式中,也可以采用数据包编号等可以对数据包起到标识作用的标识信息来获取依赖主体表,前提是这些标识信息是唯一并且预先保存在依赖主体表中。
S105:根据依赖主体表获取依赖主体表所属的数据包。
在该步骤中,数据包中创建有依赖主体表、信息条目表以及依赖关系表,依赖主体表中记录有数据包名称,通过数据包名称可以获取到依赖主体表,进而获取到依赖主体表所属的数据包。
该步骤的实现方式可以理解为先确定依赖主体表属于哪个数据包的依赖主体表,进而获取所属的数据包的过程。
S106:从数据包中获取信息条目表以及依赖关系表。
获取信息条目表以及依赖关系表是为了得知数据字段与其他元数据的数据字段之间的依赖关系,以便于后续进行数据的存储以及查询。
在图1所示的流程中,为数据包创建了依赖主体表、信息条目表、依赖关系表,其中,依赖主体表对数据包起到标记作用,信息条目表采用元数据记录数据包中包含的数据库表的基本信息,并且每个元数据分别对应一张数据库表,通过依赖关系表记录元数据中的数据字段与其他元数据中的数据字段之间的依赖关系进而确定数据库表之间的关系,从而为数据包形成了一个明确各数据库表之间依赖关系的链式结构信息,可以很好的梳理数据库表之间的依赖关系,相比于现有技术通过既定的数据规则编写程序代码,本申请实施例所提供的方法在满足新增的数据存取需求的情况下,无需技术人员进行代码开发,而是采用预定义配置存储在依赖关系表中的数据字段之间的依赖关系的方式建立数据库表之间的依赖关系,可以灵活地根据依赖关系表来对数据库表之间的依赖关系进行预定义,从而满足新增的数据存取需求,而无需技术人员根据需求提供例如SQL语句脚本之类的代码,此外,采用本申请实施例所提供的方法,能够降低数据存取的难度以及系统管理人员进行数据存储的技术门槛。
参见图2所示,本申请实施例又提供了一种基于数据依赖的数据处理方法,在图1所示的基础上,进一步增加了应用信息条目表以及依赖主体表进行数据查询的步骤,具体包括以下步骤:
S201:获取入口元数据名称以及入口字段。
其中,入口元数据名称为信息条目表包含的元数据名称中的其中一个,在一些实现方式中,获取到的入口元数据名称以及入口字段为JSON字符串的形式,例如,入口元数据名称为老师基本信息元数据,入口字段指定了教职工编号为scl-20180910,则获取到的JSON字符串为{"ts_teacher":{"teachercode":"scl-20180910"}}。
S202:根据入口元数据名称从信息条目表中获取入口元数据。
其中,该入口元数据为多个元数据中的其中一个。
在本申请的实施例中,信息条目表中记录有各个元数据的名称,可以根据元数据名称从信息条目表获取相应的元数据。
S203:根据入口字段对入口元数据对应的数据库表进行数据查询,以得到查询结果数据。
查询结果数据指的是由该步骤查询得到的至少一条数据所组成的集合,例如,从教师基本信息元数据表中查询教职工编号为20180910的数据,以获取到教职工编号为20180910的教师名称、入职时间、联系方式等。
其中,查询结果数据携带有入口字段的标识值。需要说明的是,在未进行数据查询前,该标识值用于后续进行循环迭代的数据查询。
S204:将查询结果数据存储至结果池。
结果池用于存储获取到的查询结果数据,该结果池在存储查询结果数据时以数据库表的表名为索引进行存储,以便于后续根据数据库表的表名从结果池中获取查询结果数据。
S205:将入口字段在入口元数据中所属的数据字段标记为当前数据字段,并根据标识值进行至少一个查询阶段的数据查询。
例如,教师基本信息元数据包括教职工编号字段、教师名称字段等,入口字段指定教职工编号为20180910,则该入口字段属于教职工编号字段,通过该步骤将教职工编号字段标记为当前数据字段。
S206:根据依赖关系表判断当前数据字段是否存在依赖元数据。
其中,依赖元数据中的数据字段与当前数据字段存在依赖关系,依赖元数据为多个元数据中的其中一个。
在本申请该实施例中,该步骤通过依赖关系表记录的元数据中的数据字段与其他元数据的数据字段的依赖关系执行本步骤的判断,在一些实现方式中,还可以通过依赖关系表进行元数据之间的依赖关系的判断。
依赖元数据指的是与当前数据字段存在依赖关系的数据字段所属的多个元数据中的其中一个,例如,元数据A的某个数据字段与当前数据字段存在依赖关系,则可以称元数据A为当前数据字段的依赖元数据。该步骤通过依赖关系表判断在其他元数据中是否存在与当前数据字段存在依赖关系的数据字段,并将与当前数据字段存在依赖关系的数据字段所属的其他元数据作为当前字段的依赖元数据。
在本申请实施例的一些实现方式中,可以用前序元数据的概念对依赖元数据进行说明,此时,可以进一步将入口元数据标记为当前元数据,而依赖元数据为将当前元数据作为前序元数据的多个元数据中的其中一个,前序元数据可以指的是若某个元数据A的某个字段字段设置了与其他元数据B的某个数据字段之间的依赖关系,则称B元数据为A元数据的前序元数据。例如,若元数据A中的某个数据字段与元数据B中的某个数据字段配置了依赖关系并且A是主动方,B是被动方,那么对主动方而言,被动方就是他的前序元数据,即使依赖关系本身是相互的。又例如,数据字段之间的依赖关系通过为数据字段设置主键和外键进行建立,其中,元数据D的数据字段D2作为元数据C的数据字段C1的外键,则可以说明元数据C将元数据D作为前序元数据。
S207:如果当前数据字段存在依赖元数据,则根据标识值从依赖元数据对应的数据库表中获取当前阶段的查询结果数据并存储至结果池,并将依赖元数据中与当前数据字段存在依赖关系的数据字段标记为下一个查询阶段的当前数据字段。
结合上述步骤,该步骤的实施方式例如:分别存在班级信息元数据以及学生信息元数据;以班级信息元数据的名称作为入口字段进行查询,其中,入口字段指定了班级名称为一年一班;从班级信息元数据对应的数据库表中获取一年一班的第一查询结果数据并存储至结果池,在此过程可以得知一年一班的id为1;检索与一年一班所属的字段是否存在依赖元数据,即班级信息元数据中的班级名称字段是否存在依赖元数据;在此假设存在的依赖元数据为学生信息元数据,从学生信息元数据对应的数据库表中获取班级id为1的学生信息作为第二查询结果数据,并将第二查询结果数据存储至结果池。
S208:如果当前数据字段不存在依赖元数据,则结束数据查询。
需要说明的是,步骤S208与步骤S209为并列的步骤,即在步骤S207之后,如果当前字段存在依赖元数据,则执行步骤S208,如果当前字段不存在依赖元数据,则执行步骤S209。
S209:以预设的数据格式组装结果池中的查询结果数据,得到查询结果。
在一些实现方式中,将结果池中的查询结果数据组装为JSON数据格式进行输出,其中JSON的KEY值为元数据所对应表名,VALUE值为数组结构,数组中每一个值都对应一个JSON对象。
在图2所示的流程中,进一步增加了利用信息条目表以及依赖关系表进行数据查询的步骤,信息条目表中记录有元数据名称,可以通过入口元数据名称从信息条目表中获取到入口元数据,并根据入口字段从入口元数据对应的数据库表中进行数据查询,得到查询结果数据,该查询结果数据中携带有入口字段对应的标识值,之后,将入口字段在入口元数据中所属的数据字段标记为当前数据字段以执行进行至少一个阶段的数据查询,其中,每个阶段根据依赖关系表判断当前阶段的当前数据字段是否存在依赖元数据,如果存在则根据标识值从依赖元数据对应的数据库表中获取当前阶段的查询结果数据并存储至结果池,并将依赖元数据中与当前数据字段存在依赖关系的数据字段标记为下一阶段的当前数据字段,以进行下一阶段的数据查询。相较于现有技术中当有新增的数据查询需求时需要修改代码,本申请该实施例所提供的方法在上述情况下无需对代码进行修改,而是通过在依赖关系表中设置元数据中的数据字段与其他元数据的数据字段之间的依赖关系,即可满足新增的数据获取需求,并且实现了数据的自动化查询。
参见图3所示,本申请实施例又提供了一种基于数据依赖的数据处理方法,在图1所示的基础上,进一步增加了应用信息条目表以及依赖主体表进行数据存储的步骤,具体包括以下步骤:
S301:获取入口元数据名称以及入口字段。
其中,入口字段由至少一个字段构成,例如在存储学生信息至学生信息表的情况下,入口字段具体可以包括地址、所在班级编号、学生年龄以及学生名称等。
需要说明的是,入口元数据名称与入口字段存在对应关系,并且,一个入口元数据名称对应的入口字段可以为多个,其中,每个入口字段均在入口元数据名称所属的元数据对应的数据库表中存在归属的数据字段。此外,该步骤可以获取获取多个元数据名称以及各个元数据名称对应的至少一个入口字段,在此情况下,均根据每个元数据名称以及各自对应的入口字段执行S302至S308所述的步骤。
S302:根据入口元数据名称从信息条目表中获取入口元数据。
其中,入口元数据为多个元数据中的其中一个。
需要说明的是,入口元数据为多个元数据中的其中一个可以理解为,入口元数据为数据包所包含的多个元数据构成的集合中的一个子集。
S303:将入口字段的字段值存储至入口元数据对应的数据库表中。
以步骤S301中的例子为基础,该步骤的具体实现方式例如,存储地址字段的字段值、所在班级编号字段的字段值、学生年龄字段的字段值、学生名称字段的字段值至学生信息表中。
S304:从入口元数据对应的数据库表中获取入口字段的标识值。
需要说明的是,当入口字段的数量为多个时,为了保证数据存储的准确性,各个入口字段的标识值需为同一个数值。
S305:将入口字段在入口元数据中所属的数据字段标记为当前字段,并进行至少一个阶段的数据存储。
需要说明的是,当入口字段为一个以上时,本申请该实施例所提供的步骤S305至步骤S308可以周期性执行,即依次地对多个入口字段进行存储。
S306:根据依赖关系表判断当前数据字段是否存在依赖元数据。
其中,依赖元数据中的数据字段与当前数据字段存在依赖关系,依赖元数据为多个元数据中的其中一个。
需要说明的是,该步骤中在当前数据字段可以存在多个依赖元数据时,对于每个在该步骤判断而确定的依赖元数据执行本申请该实施例中的后续步骤。
S307:如果当前数据字段存在依赖元数据,则为入口字段设置标识值,将入口字段的字段值以及入口字段的标识值存储至依赖元数据对应的数据库表中,并将依赖元数据中与当前数据字段存在依赖关系的数据字段标记为下一个存储阶段的当前数据字段。
为入口字段设置标识值以及进行入口字段的字段值、入口字段的标识值的存储的目的可以是为了后续便于根据标识值进行数据的存取操作。
S308:如果当前数据字段不存在依赖元数据,则结束数据存储。
需要说明的是,步骤S307与步骤S308为并列的步骤,即在步骤S306之后,如果当前数据字段存在依赖元数据,则执行步骤S307,如果当前数据字段不存在依赖元数据,则执行步骤S308。
在图3所示的流程中,进一步增加了利用信息条目表以及依赖关系表进行数据存储的步骤,通过入口元数据名称从信息条目表中获取入口元数据,并将入口字段存储至入口元数据对应的数据库表中,再利用依赖关系表进一步判断入口字段在入口元数据中所属的数据字段是否存在依赖元数据,并将入口字段的字段值以及为入口字段设置的标识值存储至依赖元数据对应的数据库表中。相较于现有技术而言,本申请该实施例所提供的方法仅需在依赖关系表中修改元数据中的数据字段与其他元数据中数据字段的依赖关系,即可满足新增的数据存储需求,从而实现了数据的自动化存储。
下面结合实际应用场景对本申请所提供的一种基于数据依赖的数据处理方法进行说明,以校园系统的搭建为例,实际应用场景中可以包括以下:
校园搭建系统需要完整的记录教师基本信息、学科信息、班级信息、学生信息以及学生成绩信息,则信息条目表具体包括:如图4所示的教师基本信息元数据、如图5所示的学科信息元数据、如图6所示的班级信息元数据、如图7所示的学生信息元数据以及如图8所示的学生成绩信息元数据。
将如图4至图8所示的元数据进行组合,定义如图9所示的数据包。
以数据库表中的各数据之间的关系在依赖关系表中进一步配置元数据中的数据字段之间的依赖关系,其中,数据库表中的各数据之间的关系例如:学科信息数据库表记录有教师工编号、班级信息数据库表记录了教职工编号、学生信息数据库表记录了所在班级的编号、学生信息数据库表记录了学生成绩。则依赖关系表记录的依赖关系具体可以包括:如图10所示的教师基本信息元数据中的数据字段与其他元数据的数据字段的依赖关系、如图11所示的学科信息元数据中的数据字段与其他元数据的数据字段的依赖关系、如图12所示的班级信息元数据中的数据字段与其他元数据的数据字段的依赖关系、如图13所示的学生信息元数据中的数据字段与其他元数据的数据字段的依赖关系以及如图14所示的学生成绩信息元数据中的数据字段与其他元数据的数据字段的依赖关系。
通过依赖关系表记录的如图10至图14所示的依赖关系,可以得知:教师基本信息元数据中的数据字段未与其他元数据存在依赖关系;学科信息元数据中的负责教职工编号字段与教师基本信息元数据中的教职工编号字段存在依赖关系;班级信息元数据中的班主任教职工编号字段与教师基本信息元数据中的教职工编号字段存在依赖关系,进而得知教师基本信息元数据为教职工编号字段的依赖元数据;学生成绩信息元数据中的学号字段与学生信息元数据中的学号字段存在依赖关系,进而得知学生信息元数据为学号字段的依赖元数据;学生信息元数据中的所在班级编号字段与班级信息元数据中的班级编号字段存在依赖关系,进而得知班级信息元数据为所在班级编号字段的依赖元数据。此外,
参见图15所示,在应用本申请实施例所提供的方法所搭建的数据存取系统中,该系统的技术架构可以包括展示层、业务逻辑层、数据依赖层以及数据层;展示层用于通过移动应用、Web应用或客户端应用向用户提供可操作性的界面;业务逻辑层用于提供数据的存取业务;数据依赖层用于存储存储包;数据层连接有多个数据库,并且,业务依赖层中数据包中的元数据均对应一个数据库中的数据库表。
其中,数据依赖层中的数据包的参数可以包括数据包名称以及创建时间,该数据包的参数可以存储至依赖主体表中;数据包可以包括多个元数据,元数据的参数可以包括数据表基本信息、数据库基本信息以及元数据名称,该元数据的参数可以存储至信息条目表中,此外,元数据还记录元数据详细信息,包括主键字段、外键字段以及关联关系,该元数据的详细信息可以存储至依赖关系表中。
参见图16所示,图16为本申请实施例提供的一种基于数据依赖的数据处理装置,包括第一创建单元1601、第二创建单元1602、第三创建单元1603、第一获取单元1604、第二获取单元1605以及第三获取单元1606。
第一创建单元1601,用于为数据包创建依赖主体表,依赖主体表包括数据包名称;
第二创建单元1602,用于为数据包创建信息条目表,信息条目表包括数据包中的多个元数据,元数据包括元数据名称,多个元数据中的每一个元数据对应一个数据库表;
第三创建单元1603,用于为数据包创建依赖关系表,依赖关系表包括多个元数据的数据字段以及元数据中的数据字段与其他元数据中的数据字段之间的依赖关系;
第一获取单元1604,用于通过预先输入的数据包名称获取依赖主体表;
第二获取单元1605,用于根据依赖主体表获取依赖主体表所属的数据包;
第三获取单元1606,用于从数据包中获取信息条目表以及依赖关系表。
在本申请实施例的一些实现方式中,数据字段包括主键字段和外键字段,依赖关系通过将数据字段设置为主键字段或外键字段建立。
在本申请实施例的一些实现方式中,数据处理装置还用于执行以下步骤:
获取入口元数据名称以及入口字段;
根据入口元数据名称从信息条目表中获取入口元数据,入口元数据为多个元数据中的其中一个。
在本申请实施例的一些实现方式中,数据处理装置还用于执行以下步骤:
根据入口字段对入口元数据对应的数据库表进行数据查询,以获得查询结果数据;
将查询结果数据存储至结果池。
在本申请实施例的一些实现方式中,查询结果数据携带有入口字段的标识值,数据处理装置还用于执行以下步骤:
将入口字段在入口元数据中所属的数据字段标记为当前数据字段,并进行至少一个查询阶段的数据查询;
其中,每个查询阶段包括:根据依赖关系表判断当前数据字段是否存在依赖元数据,依赖元数据中的数据字段与当前数据字段存在依赖关系,依赖元数据为多个元数据中的其中一个;如果当前数据字段存在依赖元数据,则根据标识值从依赖元数据对应的数据库表中获得当前阶段的查询结果数据并存储至结果池,并将依赖元数据中与当前数据字段存在依赖关系的数据字段标记为下一个查询阶段的当前数据字段;如果当前数据字段不存在依赖元数据,则结束数据查询。
在本申请实施例的一些实现方式中,数据处理装置还用于执行以下步骤:
以预设的数据格式组装结果池中的查询结果数据,以得到查询结果;
输出查询结果。
在本申请实施例的一些实现方式中,数据处理装置还用于执行以下步骤:
将入口字段的字段值存储至入口元数据对应的数据库表中。
在本申请实施例的一些实现方式中,数据处理装置还用于执行以下步骤:
从入口元数据对应的数据库表中获取入口字段的标识值;
将入口字段在入口元数据中所属的数据字段标记为当前数据字段,并至少一个存储阶段的数据存储;
其中,每个存储阶段包括:根据依赖关系表判断当前数据字段是否存在依赖元数据,依赖元数据中的数据字段与当前数据字段存在依赖关系,依赖元数据为多个元数据中的其中一个;如果当前数据字段存在依赖元数据,则为入口字段设置标识值,将入口字段的字段值以及入口字段的标识值存储至依赖元数据对应的数据库表中,并将依赖元数据中与当前数据字段存在依赖关系的数据字段标记为下一个存储阶段的当前数据字段;如果当前数据字段不存在依赖元数据,则结束数据存储。
在本申请实施例的一些实现方式中,预设的数据格式为JSON格式。
最后,还需要说明的是,在本申请实施例中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于数据依赖的数据处理方法,其特征在于,所述方法包括:
为数据包创建依赖主体表,所述依赖主体表包括数据包名称;
为所述数据包创建信息条目表,所述信息条目表包括所述数据包中的多个元数据,所述元数据包括元数据名称,所述多个元数据中的每一个元数据对应一个数据库表;
为所述数据包创建依赖关系表,所述依赖关系表包括所述多个元数据的数据字段以及所述元数据中的所述数据字段与其他元数据中的所述数据字段之间的依赖关系;
通过预先输入的所述数据包名称获取所述依赖主体表;
根据所述依赖主体表获取所述依赖主体表所属的所述数据包;
从所述数据包中获取所述信息条目表以及所述依赖关系表。
2.根据权利要求1所述的方法,其特征在于,所述数据字段包括主键字段和外键字段,所述依赖关系通过将所述数据字段设置为所述主键字段或所述外键字段建立。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取入口元数据名称以及入口字段;
根据所述入口元数据名称从所述信息条目表中获取入口元数据,所述入口元数据为所述多个元数据中的其中一个。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述入口字段对所述入口元数据对应的数据库表进行数据查询,以获得查询结果数据;
将所述查询结果数据存储至结果池。
5.根据权利要求4所述的方法,其特征在于,所述查询结果数据携带有所述入口字段的标识值,所述方法还包括:
将所述入口字段在所述入口元数据中所属的所述数据字段标记为当前数据字段,并进行至少一个查询阶段的所述数据查询;
其中,每个查询阶段包括:根据所述依赖关系表判断所述当前数据字段是否存在依赖元数据,所述依赖元数据中的所述数据字段与所述当前数据字段存在所述依赖关系,所述依赖元数据为所述多个元数据中的其中一个;如果所述当前数据字段存在所述依赖元数据,则根据所述标识值从所述依赖元数据对应的所述数据库表中获得当前阶段的查询结果数据并存储至所述结果池,并将所述依赖元数据中与所述当前数据字段存在所述依赖关系的所述数据字段标记为下一个查询阶段的当前数据字段;如果所述当前数据字段不存在所述依赖元数据,则结束所述数据查询。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
以预设的数据格式组装所述结果池中的所述查询结果数据,以得到查询结果;
输出所述查询结果。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述入口字段的字段值存储至所述入口元数据对应的所述数据库表中。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
从所述入口元数据对应的所述数据库表中获取所述入口字段的标识值;
将所述入口字段在所述入口元数据中所属的所述数据字段标记为当前数据字段,并至少一个存储阶段的数据存储;
其中,每个存储阶段包括:根据所述依赖关系表判断所述当前数据字段是否存在依赖元数据,所述依赖元数据中的所述数据字段与所述当前数据字段存在依赖关系,所述依赖元数据为所述多个元数据中的其中一个;如果所述当前数据字段存在所述依赖元数据,则为所述入口字段设置所述标识值,将所述入口字段的字段值以及所述入口字段的标识值存储至所述依赖元数据对应的所述数据库表中,并将所述依赖元数据中与所述当前数据字段存在所述依赖关系的所述数据字段标记为下一个存储阶段的当前数据字段;如果所述当前数据字段不存在所述依赖元数据,则结束所述数据存储。
9.根据权利要求6所述的方法,其特征在于,所述预设的数据格式为JSON格式。
10.一种基于数据依赖的数据处理装置,其特征在于,所述装置包括:
第一创建单元,用于为数据包创建依赖主体表,所述依赖主体表包括数据包名称;
第二创建单元,用于为数据包创建信息条目表,所述信息条目表包括所述数据包中的多个元数据,所述元数据包括元数据名称,所述多个元数据中的每一个元数据对应一个数据库表;
第三创建单元,用于为数据包创建依赖关系表,所述依赖关系表包括所述多个元数据的数据字段以及所述元数据中的所述数据字段与其他元数据中的所述数据字段之间的依赖关系;
第一获取单元,用于通过预先输入的数据包名称获取所述依赖主体表;
第二获取单元,用于根据所述依赖主体表获取所述依赖主体表所属的所述数据包;
第三获取单元,用于从所述数据包中获取所述信息条目表以及所述依赖关系表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310099719.4A CN116010422A (zh) | 2023-02-08 | 2023-02-08 | 一种基于数据依赖的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310099719.4A CN116010422A (zh) | 2023-02-08 | 2023-02-08 | 一种基于数据依赖的数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010422A true CN116010422A (zh) | 2023-04-25 |
Family
ID=86037321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310099719.4A Pending CN116010422A (zh) | 2023-02-08 | 2023-02-08 | 一种基于数据依赖的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010422A (zh) |
-
2023
- 2023-02-08 CN CN202310099719.4A patent/CN116010422A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Loney | Oracle database 10g: the complete reference | |
US7792853B2 (en) | Presenting data flow in legacy program | |
CN108228231B (zh) | 一种Git仓库文件注解系统的可视化漂移方法 | |
EP3218811B1 (en) | Testing insecure computing environments using random data sets generated from characterizations of real data sets | |
US20100217737A1 (en) | Method and system for business rules management | |
US20100174712A1 (en) | Expertise ranking using social distance | |
CN112463149B (zh) | 一种面向软件定义卫星的可复用代码库构建方法与装置 | |
CN107844425A (zh) | 一种数据库语句检查方法和装置 | |
CN102760096A (zh) | 测试用数据的生成方法、单元测试方法以及单元测试系统 | |
CN109299289B (zh) | 一种查询图构建方法、装置、电子设备及计算机存储介质 | |
US20190147088A1 (en) | Reporting and data governance management | |
US5692171A (en) | Method of extracting statistical profiles, and use of the statistics created by the method | |
US7822587B1 (en) | Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior | |
Chan | Learn SQL Using MySQL in One Day and Learn It Well: SQL for Beginners with Hands-On Project | |
CN116010422A (zh) | 一种基于数据依赖的数据处理方法及装置 | |
CN117493333A (zh) | 数据归档方法、装置、电子设备及存储介质 | |
CN110334112A (zh) | 一种简历信息检索方法及装置 | |
US20070239743A1 (en) | Method and apparatus for modifying a row in a database table to include meta-data | |
CN114968348A (zh) | 数据分析方法及装置、电子设备、存储介质 | |
CN110502675B (zh) | 基于数据分析的语音拨叫用户分类方法及相关设备 | |
Belic et al. | User‐friendly web application for bibliographic material processing | |
Elff | Data Management in R: A Guide for Social Scientists | |
CN110209885B (zh) | 一种图查询方法及系统 | |
WO2024069741A1 (ja) | ソフトウェア技術分野抽出装置およびソフトウェア技術分野抽出方法 | |
Johnson et al. | A developer's guide to data modeling for SQL server: covering SQL server 2005 and 2008 |
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 |