CN110659282B - 数据路由的构建方法、装置、计算机设备和存储介质 - Google Patents
数据路由的构建方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110659282B CN110659282B CN201910749231.5A CN201910749231A CN110659282B CN 110659282 B CN110659282 B CN 110659282B CN 201910749231 A CN201910749231 A CN 201910749231A CN 110659282 B CN110659282 B CN 110659282B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- route
- value
- category
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据存储技术领域,尤其涉及一种数据路由的构建方法、装置、计算机设备和存储介质,包括:获取数据来源的数据结构,根据所述数据结构建立数据库模板;抽取数据库模板中的标识符ID值,根据所述标识符ID值生成数据库表主键字段,根据所述数据库表主键字段,建立数据库表的索引;根据所述数据库表的索引,查询所述数据库表后得到数据库类别信息,根据所述数据库类别信息得到所述数据库表对应的元数据;接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配后得到数据路由。通过建立数据库模板的方式,从而简化了从数据库中获取数据路由的方式,并且实现了数据路由的自动切换。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据路由的构建方法、装置、计算机设备和存储介质。
背景技术
随着计算机和软件技术的不断发展,软件领域的分工也越发精细,具体体现在:不同的行业、不同的项目甚至同一个项目的不同阶段的侧重点完全可能不一样,所采取的技术工具、数据模型和数据库管理***都可能完全不尽相同。
在数据库管理***的领域内,目前就存在着:传统的关系型数据库管理系(例如:甲骨文公司的Oracle、IBM公司的DB2、Sun公司Sybase以及微软公司的SQL Server等)、实时/历史数据库***、对象数据库管理***。在不同数据库之间进行数据迁移时,通常对采用Mycat进行表信息获取和查询。
但是,在不同数据库之间进行数据传输使用Mycat等中间件需要实时进行监控,不能自动切换动态数据路由。
发明内容
基于此,针对在不同数据库之间进行数据传输使用Mycat等中间件需要实时进行监控,不能自动切换动态数据路由的问题,提供一种数据路由的构建方法、装置、计算机设备和存储介质。
一种数据路由的构建方法,包括如下步骤:
获取数据源的样本数据,查询所述样本数据中的特征标识,根据所述特征标识,得到所述数据源的数据结构;
获取所述数据结构对应的数据转换模型,将所述样本数据入参到所述数据转换模型,得到所述样本数据对应的数据库存储数据;
汇总所述数据源的多个样本数据对应的数据库存储数据,提取各所述数据库存储数据中的公有项,将所述公有项转换为条件语句,汇总所有所述条件语句,得到所述数据源对应的数据库模板;
抽取所述数据库模板中的标识符ID值,根据所述标识符ID值生成数据库表的主键字段,根据所述主键字段,建立所述数据库表的索引;
以所述数据库表的索引中的类别特征词为查询条件,查询所述数据库表后,得到数据库类别,根据所述数据库类别,得到所述数据库表对应的元数据,其中,所述元数据与数据路由一一对应;
接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由。
在其中一个可能的实施例中,所述获取所述数据结构对应的数据转换模型,将所述样本数据入参到所述数据转换模型,得到所述样本数据对应的数据库存储数据,包括:
获取所述数据结构对应的数据转换模型,将所述样本数据分为测试组和验证组;
将所述测试组入参到所述数据转换模型中进行数据转换,得到测试组对应的数据库存储数据;
将所述验证组入参到所述数据转换模型中进行数据转换,得到验证组对应的数据库存储数据;
比较所述测试组对应的数据库存储数据和所述验证组对应的数据库存储数据的数据类型,若一致,则得到所述样本数据对应的数据库存储数据,否则,重新进行数据转换直到数据类型一致。
在其中一个可能的实施例中,所述抽取所述数据库模板中的标识符ID值,根据所述标识符ID值生成数据库表的主键字段,根据所述主键字段,建立所述数据库表的索引,包括:
抽取所述数据库模板中的标识符ID值,提取所述标识符ID值中的最大值作为初始ID值;
对所述初始ID值增加预定值后,得到实时标识符ID值;
将所述实时标识符ID值进行预设进制转换,得到所述数据库表的主键字段;
将具有相同所述主键字段的数据库表进行聚类后赋予类标识,汇总所述类标识,建立所述数据库表的索引。
在其中一个可能的实施例中,所述根据所述以所述数据库表的索引中的类别特征词为查询条件,查询所述数据库表后,得到数据库类别,根据所述数据库类别,得到所述数据库表对应的元数据,其中,所述元数据与数据路由一一对应。包括:
获取所述数据库表的索引中的类别特征词,根据所述类别特征词,遍历各所述数据库表,抽取出所有带有所述类别特征词的数据库表;
若所有所述数据库表的类别特征词均一致,则以所述类别特征词作为所述数据库的类别,若任意两个所述数据库表的类别特征词不一致,则以类别特征词出现次数最多的类别特征词作为所述数据库类别,若出现次数最多的类别特征词不止一个,则采用投票机制进行投票后得到所述数据库类别;
根据所述数据库类别,建立元数据获取节点,从所述元数据获取节点抽取出所述数据库表对应的元数据。
在其中一个可能的实施例中,所述接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由,包括:
获取发出所述数据路由查询请求的终端***配置信息,根据所述终端***配置信息得到对应的数据库模板;
抽取所述数据路由查询请求中的关键字信息,将所述关键字入参到所述数据库模板后,得到数据类型信息;
获取所述数据类型信息对应的元数据在数据库中的节点位置,汇总所述节点位置,得到数据路由查询请求对应的数据路由。
在其中一个可能的实施例中,所述接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由之后,所述方法还包括:
获取所述数据路由的访问量,若所述访问量大于访问量阈值,则将所述数据路由对应的数据标记为热点数据;
缓存所述热点数据后,将缓存地址录入到所述数据库模板,应用所述数据库模板生成访问所述热点数据的数据路由。
一种数据路由的构建装置,包括如下模块:
模板生成模块,设置为获取数据源的样本数据,查询所述样本数据中的特征标识,根据所述特征标识,得到所述数据源的数据结构;获取所述数据结构对应的数据转换模型,将所述样本数据入参到所述数据转换模型,得到所述样本数据对应的数据库存储数据;汇总所述数据源的多个样本数据对应的数据库存储数据,提取各所述数据库存储数据中的公有项,将所述公有项转换为条件语句,汇总所有所述条件语句,得到所述数据源对应的数据库模板;
表索引创建模块,设置为抽取所述数据库模板中的标识符ID值,根据所述标识符ID值生成数据库表的主键字段,根据所述主键字段,建立所述数据库表的索引;
元数据获取模块,设置为以所述数据库表的索引中的类别特征词为查询条件,查询所述数据库表后,得到数据库类别,根据所述数据库类别,得到所述数据库表对应的元数据;
路由获取模块,设置为接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由。
在其中一个可能的实施例中,所述表索引创建模块还用于:
抽取所述数据库模板中的标识符ID值,提取所述标识符ID值中的最大值作为初始ID值;对所述初始ID值增加预定值后,得到实时标识符ID值;将所述实时标识符ID值进行预设进制转换,得到所述数据库表的主键字段;将具有相同所述主键字段的数据库表进行聚类后赋予类标识,汇总所述类标识,建立所述数据库表的索引。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述数据路由的构建方法的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述数据路由的构建方法的步骤。
与现有机制相比,本申请通过建立数据库模板快速查询到数据库表的元数据,从而简化了从数据库中获取数据路由的方式,并且实现了数据路由的自动切换。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。
图1为本申请在一个实施例中的一种数据路由的构建方法的整体流程图;
图2为本申请在一个实施例中的一种数据路由的构建方法中的表索引创建过程示意图;
图3为本申请在一个实施例中的一种数据路由的构建方法中的元数据获取过程示意图;
图4为本申请在一个实施例中的一种数据路由的构建装置的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
图1为本申请在一个实施例中的一种数据路由的构建方法的整体流程图,如图1所示,一种数据路由的构建方法,包括以下步骤:
S1、获取数据源的样本数据,查询所述样本数据中的特征标识,根据所述特征标识,得到所述数据源的数据结构;
具体的,不同的数据来源具有不同的数据结构,互联网的用户原始数据,大多是通过结构化的计算机语言进行存储和传输的(例如xml、json和二进制等数据格式)。但由于这些原始数据的来源渠道多样,不同的数据来源之间往往采取了一样的数据结构,例如从A银行获得的用户***数据是采用xml格式存储的、从B通信公司获得的用户话费账单数据是采集json格式存储的;因此这些原始数据之间具有结构相异、数据冗余程度高、非线性等特点;而数据库所要求的数据存储格式又往往与这些原始数据格式不一样。另外,不同的数据结构中使用着不同的特征标识符,如xml格式的数据,包含了大量的起始标签和结束标签用于标记数据内容;json格式的数据,则是通过“{}”和“[]”组来表示数据对象。
S2、获取所述数据结构对应的数据转换模型,将所述样本数据入参到所述数据转换模型,得到所述样本数据对应的数据库存储数据;
具体的,数据转换模型是通过机器学习的方式进行训练后得到的,针对不同的数据结构需要采用不同的数据转换模型。采用机器学习时可以先输入标准数据进行训练,然后再输入其它数据进行检验。具体到本方案中可以使用机器学习的聚类或者分类算法对样本数据进行逻辑分类,然后根据逻辑分类的结果得到对应的数据库存储数据的数据类型。
在其中一个实施例中,所述获取所述数据结构对应的数据转换模型,将所述样本数据入参到所述数据转换模型,得到所述样本数据对应的数据库存储数据,包括:
获取所述数据结构对应的数据转换模型,将所述样本数据分为测试组和验证组;
将所述测试组入参到所述数据转换模型中进行数据转换,得到测试组对应的数据库存储数据;
将所述验证组入参到所述数据转换模型中进行数据转换,得到验证组对应的数据库存储数据;
比较所述测试组对应的数据库存储数据和所述验证组对应的数据库存储数据的数据类型,若一致,则得到所述样本数据对应的数据库存储数据,否则,重新进行数据转换直到数据类型一致。
S3、汇总所述数据源的多个样本数据对应的数据库存储数据,提取各所述数据库存储数据中的公有项,将所述公有项转换为条件语句,汇总所有所述条件语句,得到所述数据源对应的数据库模板;
具体的,同一个数据来源中的样本数据所对应的数据库存储数据存在着差异,这是由于数据中参数的不同所造成的。在提取各数据库存储数据公有项后,将公有项后面加上“()”使公有项成为一个条件语句,这样用户只需输入参数就可以完成想要的数据信息。将一个数据来源的所有样本数据中的公有项进行提取后就可以得到一个数据库模板。
S4、抽取所述数据库模板中的标识符ID值,根据所述标识符ID值生成数据库表的主键字段,根据所述主键字段,建立所述数据库表的索引;
具体的,在数据库模板中的存在反映数据库类型的标识符ID,关系型数据库和分布式数据库分别采用不同的标识符进行表示,而标识符ID值可以根据设备指纹进行编号赋予。根据主键字段可以得到数据库表在数据库中的存储位置,进而得到数据库表索引。
S5、以所述数据库表的索引中的类别特征词为查询条件,查询所述数据库表后,得到数据库类别,根据所述数据库类别,得到所述数据库表对应的元数据,其中,所述元数据与数据路由一一对应;
其中,元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(dataabout data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。元数据可以有效的确定数据库表位置信息,通过对元数据的分析可以查询到数据库中的数据信息。
S6、接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由。
具体的,对于用户输入的数据路由查询请求,可以根据历史数据对其进行关键字查询,然后根据查询结果得到所述查询请求中所包含的所有关键字信息,每一个元数据均对应着一个关键字。
本实施例,通过建立数据库模板的方式,从而简化了从数据库中获取数据路由的方式,并且实现了数据路由的自动切换。
图2为本申请在一个实施例中的一种数据路由的构建方法中的表索引创建过程示意图,如图所示,所述S4、抽取所述数据库模板中的标识符ID值,根据所述标识符ID值生成数据库表的主键字段,根据所述主键字段,建立所述数据库表的索引,包括:
S41、抽取所述数据库模板中的标识符ID值,提取所述标识符ID值中的最大值作为初始ID值;
其中,在数据库模板中可能存在着两个或者以上的标识符的ID值均为最大值时,可以将抛弃此标识符ID值,以其它标识符对应的次最大值作为初始ID值。
S42、对所述初始ID值增加预定值后,得到实时标识符ID值;
具体的,所述预定值的设定范围很广且很灵活,例如可以是10、或者1000、或者5000、或者10000等,具体设定多少主要取决于实际需要,例如,可以根据获取ID频率进行配置,当软件***的新增频率很好,预定值可以设置大一些以获得更好的性能,如果主要是查询操作,可以设置的小一些。
S43、将所述实时标识符ID值进行预设进制转换,得到所述数据库表的主键字段;
其中,预设进制可以是二进制、十进制或者三十六进制等,进制的选择根据实际需要。对于不同的数据库采用不同的进制,以适应数据库结构和存储能力的要求。
S44、将具有相同所述主键字段的数据库表进行聚类后赋予类标识,汇总所述类标识,建立所述数据库表的索引。
具体的,在建立数据库表索引时可以采用树结构,既将多个数据库表中具有的主键字段进行字段共有项提取,作为树结构的主节点,而非共有项作为从节点,从而建立索引树结构。
本实施例,通过对数据库模板ID值进行主键字段转换,从而做到有效建立数据库表的索引。
图3为本申请在一个实施例中的一种数据路由的构建方法中的元数据获取过程示意图,如图所示,所述S5、根据所述以所述数据库表的索引中的类别特征词为查询条件,查询所述数据库表后,得到数据库类别,根据所述数据库类别,得到所述数据库表对应的元数据,以所述数据库表的索引中的类别特征词为查询条件,查询所述数据库表后,得到数据库类别,根据所述数据库类别,得到所述数据库表对应的元数据,其中,所述元数据与数据路由一一对应,包括:
S51、获取所述数据库表的索引中的类别特征词,根据所述类别特征词,遍历各所述数据库表,抽取出所有带有所述类别特征词的数据库表;
具体的,在数据库表索引中记录着不同的索引信息,有的索引信息是针对数据库表功能的,有的是针对数据库表类别的。可以根据数据库表的历史数据中所使用的类别特征词对所述数据库表索引中的信息进行查询,得到所有带有所述类别特征词的数据库表。
S52、若所有所述数据库表的类别特征词均一致,则以所述类别特征词作为所述数据库的类别,若任意两个所述数据库表的类别特征词不一致,则以类别特征词出现次数最多的类别特征词作为所述数据库类别,若出现次数最多的类别特征词不止一个,则采用投票机制进行投票后得到所述数据库类别;
其中,投票机制是机器学习算法中常用的机制,即在机器学习模型中设置或者训练多个类别分类器,对类别特征词进行分类真伪性判断,然后根据判断结果进行投票,分类器的个数为奇数。
S53、根据所述数据库类别,建立元数据获取节点,从所述元数据获取节点抽取出所述数据库表对应的元数据。
具体的,不同类别的数据库,在元数据的获取时的机制不同。比如,传统关系型数据库的元数据获取节点唯一,而分布式数据库在获取元数据时,则会存在着多个节点,即元数据可能保存在不同的服务器中。因此,通过对数据库类别进行分析,可以有效的进行元数据获取。
本实施例,利用投票机制对对数据库类别进行有效识别,进而获得数据库表所对应的元数据。
在一个实施例中,所述S6、接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由,包括,包括:
获取发出所述数据路由查询请求的终端***配置信息,根据所述终端***配置信息得到对应的数据库模板;
具体的,不同的***在发出数据路由查询信息时,所采用的格式是不一样的。因此,在对数据路由进行查询时,需要先对***进行识别,以便得到对应的元数据。
抽取所述数据路由查询请求中的关键字信息,将所述关键字入参到所述数据库模板后,得到数据类型信息;
具体的,在将关键字入参到所述数据库模板时,可以将关键字依次入参到数据库模板中的每一个条件语句中,然后执行所述条件语句,若执行成功则所述关键字属于该条件语句,然后汇总执行结果,执行结果中筛选出与数据类型相关的执行结果,得到数据类型信息。
获取所述数据类型信息对应的元数据在数据库中的节点位置,汇总所述节点位置,得到数据路由查询请求对应的数据路由。
具体的,在节点位置获取时,可以先获取该数据类型访问数据库的访问统计数据,然后根据访问统计数据设置预节点位置,然后根据元数据在预节点处对应的数据库表,对预节点使用还是抛弃进行分析。
本实施例,利用元数据和数据库模板,准确获得了存储在不同数据库中数据的数据路由。
在一个实施例中,所述接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由之后,所述方法还包括:
获取所述数据路由的访问量,若所述访问量大于访问量阈值,则将所述数据路由对应的数据标记为热点数据;
其中,访问量阈值是通过历史数据统计后得到的,比如“NBA”这三个字母的访问量为1000次/月,超过访问量阈值500次/月,则将“NBA”作为热点数据。
缓存所述热点数据后,将缓存地址录入到所述数据库模板,应用所述数据库模板生成访问所述热点数据的数据路由。
其中,将热点数据进行缓存可以便于对访问量大的数据进行及时获取,节约获取的时间。
上述图1至图3中任一所对应的实施例或实施方式中所提及的技术特征也同样适用于本申请中的图4所对应的实施例,后续类似之处不再赘述。
以上对本申请中一种数据路由的构建方法进行说明,以下对执行上述数据路由的构建的装置进行描述。
如图4所示的一种数据路由的构建装置的结构图,其可应用于数据路由的构建。本申请实施例中的数据路由的构建装置能够实现对应于上述图1所对应的实施例中所执行的数据路由的构建方法的步骤。数据路由的构建装置实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述数据路由的构建装置可包括模板生成模块、表索引创建模块、元数据获取模块和路由获取模块。
其中,模板生成模块,设置为获取数据源的样本数据,查询所述样本数据中的特征标识,根据所述特征标识,得到所述数据源的数据结构;获取所述数据结构对应的数据转换模型,将所述样本数据入参到所述数据转换模型,得到所述样本数据对应的数据库存储数据;汇总所述数据源的多个样本数据对应的数据库存储数据,提取各所述数据库存储数据中的公有项,将所述公有项转换为条件语句,汇总所有所述条件语句,得到所述数据源对应的数据库模板;
表索引创建模块,设置为抽取所述数据库模板中的标识符ID值,根据所述标识符ID值生成数据库表的主键字段,根据所述主键字段,建立所述数据库表的索引;
元数据获取模块,设置为以所述数据库表的索引中的类别特征词为查询条件,查询所述数据库表后,得到数据库类别,根据所述数据库类别,得到所述数据库表对应的元数据;
路由获取模块,设置为接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由。
在一些实施例中,所述表索引创建模块还用于:
抽取所述数据库模板中的标识符ID值,提取所述标识符ID值中的最大值作为初始ID值;对所述初始ID值增加预定值后,得到实时标识符ID值;将所述实时标识符ID值进行预设进制转换,得到所述数据库表的主键字段;将具有相同所述主键字段的数据库表进行聚类后赋予类标识,汇总所述类标识,建立所述数据库表的索引。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述数据路由的构建方法的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中的所述数据路由的构建方法的步骤。其中,所述存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请一些示例性实施例,其中描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种数据路由的构建方法,其特征在于,包括:
获取数据源的样本数据,查询所述样本数据中的特征标识,根据所述特征标识,得到所述数据源的数据结构;
获取所述数据结构对应的数据转换模型,将所述样本数据入参到所述数据转换模型,得到所述样本数据对应的数据库存储数据;
汇总所述数据源的多个样本数据对应的数据库存储数据,提取各所述数据库存储数据中的公有项,将所述公有项转换为条件语句,汇总所有所述条件语句,得到所述数据源对应的数据库模板;
抽取所述数据库模板中的标识符ID值,根据所述标识符ID值生成数据库表的主键字段,根据所述主键字段,建立所述数据库表的索引;
以所述数据库表的索引中的类别特征词为查询条件,查询所述数据库表后,得到数据库类别,根据所述数据库类别,得到所述数据库表对应的元数据,其中,所述元数据与数据路由一一对应;
接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由;
所述抽取所述数据库模板中的标识符ID值,根据所述标识符ID值生成数据库表的主键字段,根据所述主键字段,建立所述数据库表的索引,包括:
抽取所述数据库模板中的标识符ID值,提取所述标识符ID值中的最大值作为初始ID值;
对所述初始ID值增加预定值后,得到实时标识符ID值;
将所述实时标识符ID值进行预设进制转换,得到所述数据库表的主键字段;
将具有相同所述主键字段的数据库表进行聚类后赋予类标识,汇总所述类标识,建立所述数据库表的索引;
所述以所述数据库表的索引中的类别特征词为查询条件,查询所述数据库表后,得到数据库类别,根据所述数据库类别,得到所述数据库表对应的元数据,其中,所述元数据与数据路由一一对应,包括:
获取所述数据库表的索引中的类别特征词,根据所述类别特征词,遍历各所述数据库表,抽取出所有带有所述类别特征词的数据库表;
若所有所述数据库表的类别特征词均一致,则以所述类别特征词作为所述数据库的类别,若任意两个所述数据库表的类别特征词不一致,则以类别特征词出现次数最多的类别特征词作为所述数据库类别,若出现次数最多的类别特征词不止一个,则采用投票机制进行投票后得到所述数据库类别;
根据所述数据库类别,建立元数据获取节点,从所述元数据获取节点抽取出所述数据库表对应的元数据;
所述接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由,包括:
获取发出所述数据路由查询请求的终端***配置信息,根据所述终端***配置信息得到对应的数据库模板;
抽取所述数据路由查询请求中的关键字信息,将所述关键字入参到所述数据库模板后,得到数据类型信息;
获取所述数据类型信息对应的元数据在数据库中的节点位置,汇总所述节点位置,得到数据路由查询请求对应的数据路由。
2.根据权利要求1所述的数据路由的构建方法,其特征在于,所述获取所述数据结构对应的数据转换模型,将所述样本数据入参到所述数据转换模型,得到所述样本数据对应的数据库存储数据,包括:
获取所述数据结构对应的数据转换模型,将所述样本数据分为测试组和验证组;
将所述测试组入参到所述数据转换模型中进行数据转换,得到测试组对应的数据库存储数据;
将所述验证组入参到所述数据转换模型中进行数据转换,得到验证组对应的数据库存储数据;
比较所述测试组对应的数据库存储数据和所述验证组对应的数据库存储数据的数据类型,若一致,则得到所述样本数据对应的数据库存储数据,否则,重新进行数据转换直到数据类型一致。
3.根据权利要求1或2所述的数据路由的构建方法,其特征在于,所述接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由之后,所述方法还包括:
获取所述数据路由的访问量,若所述访问量大于访问量阈值,则将所述数据路由对应的数据标记为热点数据;
缓存所述热点数据后,将缓存地址录入到所述数据库模板,应用所述数据库模板生成访问所述热点数据的数据路由。
4.一种数据路由的构建装置,其特征在于,所述数据路由的构建装置执行如权利要求1-3中任一项所述数据路由的构建方法,所述数据路由的构建装置包括以下模块:
模板生成模块,设置为获取数据源的样本数据,查询所述样本数据中的特征标识,根据所述特征标识,得到所述数据源的数据结构;获取所述数据结构对应的数据转换模型,将所述样本数据入参到所述数据转换模型,得到所述样本数据对应的数据库存储数据;汇总所述数据源的多个样本数据对应的数据库存储数据,提取各所述数据库存储数据中的公有项,将所述公有项转换为条件语句,汇总所有所述条件语句,得到所述数据源对应的数据库模板;
表索引创建模块,设置为抽取所述数据库模板中的标识符ID值,根据所述标识符ID值生成数据库表的主键字段,根据所述主键字段,建立所述数据库表的索引;
元数据获取模块,设置为以所述数据库表的索引中的类别特征词为查询条件,查询所述数据库表后,得到数据库类别,根据所述数据库类别,得到所述数据库表对应的元数据;
路由获取模块,设置为接收数据路由查询请求,抽取所述数据路由查询请求中的关键字信息,将所述关键字信息与所述元数据进行匹配,得到数据路由查询请求对应的数据路由。
5.根据权利要求4所述的数据路由的构建装置,其特征在于,所述表索引创建模块还用于:
抽取所述数据库模板中的标识符ID值,提取所述标识符ID值中的最大值作为初始ID值;对所述初始ID值增加预定值后,得到实时标识符ID值;将所述实时标识符ID值进行预设进制转换,得到所述数据库表的主键字段;将具有相同所述主键字段的数据库表进行聚类后赋予类标识,汇总所述类标识,建立所述数据库表的索引。
6.一种计算机设备,其特征在于,所述设备包括:
至少一个处理器、存储器和收发器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行如权利要求1-3中任一项所述数据路由的构建方法。
7.一种计算机存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-3中任一项所述数据路由的构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910749231.5A CN110659282B (zh) | 2019-08-14 | 2019-08-14 | 数据路由的构建方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910749231.5A CN110659282B (zh) | 2019-08-14 | 2019-08-14 | 数据路由的构建方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659282A CN110659282A (zh) | 2020-01-07 |
CN110659282B true CN110659282B (zh) | 2023-09-15 |
Family
ID=69037482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910749231.5A Active CN110659282B (zh) | 2019-08-14 | 2019-08-14 | 数据路由的构建方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659282B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111291050A (zh) * | 2020-01-21 | 2020-06-16 | 北京工业大数据创新中心有限公司 | 一种设备的数据标准的处理方法及装置 |
CN111782719B (zh) * | 2020-08-20 | 2024-04-12 | 支付宝(杭州)信息技术有限公司 | 数据处理方法及装置 |
CN112364032B (zh) * | 2021-01-12 | 2021-08-24 | 浙江正元智慧科技股份有限公司 | 基于互联网技术的数据中台数据查询方法 |
CN113127490B (zh) * | 2021-04-23 | 2023-02-24 | 山东英信计算机技术有限公司 | 一种键名称生成方法、装置和计算机可读存储介质 |
CN113297296B (zh) * | 2021-05-31 | 2022-08-16 | 西南大学 | 多样式类型数据的json化处理方法 |
CN116431677B (zh) * | 2023-06-15 | 2023-11-21 | 南方电网数字电网研究院有限公司 | 基于内存数据库的数据路由方法、***和可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408174A (zh) * | 2014-12-12 | 2015-03-11 | 用友软件股份有限公司 | 数据库路由装置和方法 |
WO2017088358A1 (zh) * | 2015-11-26 | 2017-06-01 | 华为技术有限公司 | 一种分布式数据库处理的方法和设备 |
CN108153849A (zh) * | 2017-12-20 | 2018-06-12 | 杭州登虹科技有限公司 | 一种数据库表切分方法、装置、***和介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458203B2 (en) * | 2011-07-11 | 2013-06-04 | Microsoft Corporation | Optimizing data processing using dynamic schemas |
-
2019
- 2019-08-14 CN CN201910749231.5A patent/CN110659282B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408174A (zh) * | 2014-12-12 | 2015-03-11 | 用友软件股份有限公司 | 数据库路由装置和方法 |
WO2017088358A1 (zh) * | 2015-11-26 | 2017-06-01 | 华为技术有限公司 | 一种分布式数据库处理的方法和设备 |
CN108153849A (zh) * | 2017-12-20 | 2018-06-12 | 杭州登虹科技有限公司 | 一种数据库表切分方法、装置、***和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110659282A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
CN109977110B (zh) | 数据清洗方法、装置及设备 | |
US9390176B2 (en) | System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data | |
US8886617B2 (en) | Query-based searching using a virtual table | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
US8712972B2 (en) | Query optimization with awareness of limited resource usage | |
US8862566B2 (en) | Systems and methods for intelligent parallel searching | |
CN110597844B (zh) | 异构数据库数据统一访问方法及相关设备 | |
US20030037037A1 (en) | Method of storing, maintaining and distributing computer intelligible electronic data | |
CN111506559A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN109062936B (zh) | 一种数据查询方法、计算机可读存储介质及终端设备 | |
CN113722600A (zh) | 应用于大数据的数据查询方法、装置、设备及产品 | |
CN116303628B (zh) | 基于Elasticsearch的告警数据查询方法、***及设备 | |
US20230153286A1 (en) | Method and system for hybrid query based on cloud analysis scene, and storage medium | |
CN116561181A (zh) | 数据查询方法、装置、计算机设备及计算机可读存储介质 | |
CN111221967A (zh) | 一种基于区块链架构的语言数据分类存储*** | |
CN115794861A (zh) | 基于特征摘要的离线数据查询复用方法及其应用 | |
US20170031909A1 (en) | Locality-sensitive hashing for algebraic expressions | |
CN113934729A (zh) | 一种基于知识图谱的数据管理方法、相关设备及介质 | |
CN112131215B (zh) | 自底向上的数据库信息获取方法及装置 | |
JP2017010376A (ja) | マートレス検証支援システムおよびマートレス検証支援方法 | |
CN113535770B (zh) | 数据查询的方法和装置 | |
CN117194410B (zh) | 一种人工智能语言模型生成业务报表的方法及*** | |
CN115062047A (zh) | 数据优化方法、装置、计算机设备及存储介质 | |
CN118152423A (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 |