CN116166671B - 一种内存数据库表格预关联的处理方法、系统和介质 - Google Patents
一种内存数据库表格预关联的处理方法、系统和介质 Download PDFInfo
- Publication number
- CN116166671B CN116166671B CN202310431167.2A CN202310431167A CN116166671B CN 116166671 B CN116166671 B CN 116166671B CN 202310431167 A CN202310431167 A CN 202310431167A CN 116166671 B CN116166671 B CN 116166671B
- Authority
- CN
- China
- Prior art keywords
- association
- script
- information
- memory
- data
- 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
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- 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
Abstract
本申请提供了一种内存数据库表格预关联的处理方法、系统和介质。属于数据库应用技术领域。该方法包括:获取大表关联和多表关联的数据信息,并通过二维表表单配置获得二维配置表和预关联脚本,通过内存数据库配置并加载数据表读入至全局内存,再读取预关联脚本并运算获得预关联结果,根据业务查询场景对预关联结果进行二次运算得到最终运算结果;从而通过对大表、多表关联的数据信息配置二维配置表和预关联脚本,通过内存数据库配置项信息并加载数据表读入至内存,通过内存读取预关联脚本并运算获得预关联结果,业务场景对预关联结果进行二次运算得到最终运算结果,实现通过预先关联配置运算结果进行二次运算来减低数据库压力的技术。
Description
技术领域
本申请涉及数据库应用技术领域,具体而言,涉及一种内存数据库表格预关联的处理方法、系统和介质。
背景技术
在关系型数据库的应用中,大表关联或多表关联是导致业务场景性能衰退的主要原因之一,传统优化方向是建立索引,对相关表进行分区或优化查询语句,但在某些情况下这些优化方案并不适用,或者需要花费较大的代价进行底层重构,大数据量对服务器的IO吞吐也是一大压力,而目前缺少可从磁盘读取数据外的预处理方法,例如利用内存数据的高速访问处理手段,避开传统磁盘数据库的IO瓶颈,而实现将部分应用需求从传统关系型数据库进行转移到内存数据库,从而解决降低数据库压力的技术。
针对上述问题,目前亟待有效的技术解决方案。
发明内容
本申请的目的在于提供一种内存数据库表格预关联的处理方法、系统和介质,可以通过对大表关联和多表关联的数据信息配置二维配置表和预关联脚本,再通过内存数据库获取二维配置表配置项信息并加载数据表读入至内存,通过内存读取预关联脚本并运算获得预关联结果,再根据业务场景对预关联结果进行二次运算得到最终运算结果,实现通过对大表关联和多表关联的预先关联配置的运算结果进行二次运算来减低数据库压力。
本申请还提供了一种内存数据库表格预关联的处理方法,包括以下步骤:
获取预设时段内符合预设使用频次的大表关联和多表关联的数据信息;
根据建立的二维表表单对所述数据信息进行配置,生成二维配置表和预关联脚本,并将预关联脚本配置到启动脚本目录;
启动内存数据库并通过读取所述二维配置表获取配置项信息;
根据所述配置项信息加载数据表并读入至全局内存中;
通过所述全局内存读取所述启动脚本目录中的预关联脚本,并执行预关联运算获取预关联结果,将预关联结果写入缓存中;
根据业务查询场景通过所述缓存调取所述预关联结果,并对预关联结果进行二次运算得到最终运算结果。
可选地,在本申请所述的内存数据库表格预关联的处理方法中,所述获取预设时段内符合预设使用频次的大表关联和多表关联的数据信息,包括:
获取预设时间段内业务系统中大表关联和多表关联的使用频次信息;
根据所述使用频次信息与预设频次阈值进行对比,获取符合频次阈值要求的大表关联和多表关联;
通过介质数据库提取所述大表关联和多表关联过程中的数据信息,包括数据表信息、关键字信息和数据来源信息。
可选地,在本申请所述的内存数据库表格预关联的处理方法中,所述根据建立的二维表表单对所述数据信息进行配置,生成二维配置表和预关联脚本,并将预关联脚本配置到启动脚本目录,包括:
建立二维表表单,将所述数据表信息、关键字信息和数据来源信息配置到二维表表单中,生成二维配置表;
根据所述二维配置表生成预关联脚本;
将所述预关联脚本配置到启动脚本目录。
可选地,在本申请所述的内存数据库表格预关联的处理方法中,所述启动内存数据库并通过读取所述二维配置表获取配置项信息,包括:
根据预设的预关联程序启动内存数据库;
通过所述内存数据库读取所述二维配置表,并根据二维配置表获取配置项信息;
所述配置项信息包括缓存名称、数据表主键以及数据来源。
可选地,在本申请所述的内存数据库表格预关联的处理方法中,所述根据所述配置项信息加载数据表并读入至全局内存中,包括:
根据所述配置项信息从预设存储介质中加载与所述配置项信息相关联的数据表;
将所述数据表读入到所述内存数据库的全局内存中。
可选地,在本申请所述的内存数据库表格预关联的处理方法中,所述通过所述全局内存读取所述启动脚本目录中的预关联脚本,并执行预关联运算获取预关联结果,将预关联结果写入缓存中,包括:
通过所述全局内存读取所述启动脚本目录中的预关联脚本;
对读取的所述预关联脚本执行预关联运算,获取与所述预关联脚本对应的预关联结果;
将所述预关联结果写入所述全局内存的缓存中。
可选地,在本申请所述的内存数据库表格预关联的处理方法中,所述根据业务查询场景通过所述缓存调取所述预关联结果,并对预关联结果进行二次运算得到最终运算结果,包括:
获取业务系统的场景模型,根据场景模型执行业务查询获得业务查询场景;
根据所述业务查询场景通过所述缓存调取所述预关联结果,并根据预设算法对预关联结果进行二次运算,得到最终运算结果。
第二方面,本申请提供了一种内存数据库表格预关联的处理系统,该系统包括:存储器及处理器,所述存储器中包括内存数据库表格预关联的处理方法的程序,所述内存数据库表格预关联的处理方法的程序被所述处理器执行时实现以下步骤:
获取预设时段内符合预设使用频次的大表关联和多表关联的数据信息;
根据建立的二维表表单对所述数据信息进行配置,生成二维配置表和预关联脚本,并将预关联脚本配置到启动脚本目录;
启动内存数据库并通过读取所述二维配置表获取配置项信息;
根据所述配置项信息加载数据表并读入至全局内存中;
通过所述全局内存读取所述启动脚本目录中的预关联脚本,并执行预关联运算获取预关联结果,将预关联结果写入缓存中;
根据业务查询场景通过所述缓存调取所述预关联结果,并对预关联结果进行二次运算得到最终运算结果。
可选地,在本申请所述的内存数据库表格预关联的处理系统中,所述获取预设时段内符合预设使用频次的大表关联和多表关联的数据信息,包括:
获取预设时间段内业务系统中大表关联和多表关联的使用频次信息;
根据所述使用频次信息与预设频次阈值进行对比,获取符合频次阈值要求的大表关联和多表关联;
通过介质数据库提取所述大表关联和多表关联过程中的数据信息,包括数据表信息、关键字信息和数据来源信息。
第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中包括内存数据库表格预关联的处理方法程序,所述内存数据库表格预关联的处理方法程序被处理器执行时,实现如上述任一项所述的内存数据库表格预关联的处理方法的步骤。
由上可知,本申请提供的一种内存数据库表格预关联的处理方法、系统和介质,通过获取大表关联和多表关联的数据信息,根据建立的二维表表单对数据信息进行配置获得二维配置表和预关联脚本,并配置到启动脚本目录,启动内存数据库获取配置项信息并加载数据表后读入至全局内存中,通过全局内存读取预关联脚本并执行预关联运算获取预关联结果并写入缓存,根据业务查询场景对预关联结果进行二次运算得到最终运算结果;从而通过对大表关联和多表关联的数据信息配置二维配置表和预关联脚本,再通过内存数据库获取二维配置表配置项信息并加载数据表读入至内存,通过内存读取预关联脚本并运算获得预关联结果,再根据业务场景对预关联结果进行二次运算得到最终运算结果,实现通过对大表关联和多表关联的预先关联配置的运算结果进行二次运算来减低数据库压力的技术。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的内存数据库表格预关联的处理方法的流程图;
图2为本申请实施例提供的内存数据库表格预关联的处理方法的逻辑流程图;
图3为本申请实施例提供的内存数据库表格预关联的处理方法的获取数据信息的流程图;
图4为本申请实施例提供的内存数据库表格预关联的处理方法的将预关联脚本配置到启动脚本目录的流程图;
图5为本申请实施例提供的内存数据库表格预关联的处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本申请一些实施例中的内存数据库表格预关联的处理方法的流程图。该内存数据库表格预关联的处理方法用于终端设备中,例如电脑、手机终端等。该内存数据库表格预关联的处理方法,包括以下步骤:
S101、获取预设时段内符合预设使用频次的大表关联和多表关联的数据信息;
S102、根据建立的二维表表单对所述数据信息进行配置,生成二维配置表和预关联脚本,并将预关联脚本配置到启动脚本目录;
S103、启动内存数据库并通过读取所述二维配置表获取配置项信息;
S104、根据所述配置项信息加载数据表并读入至全局内存中;
S105、通过所述全局内存读取所述启动脚本目录中的预关联脚本,并执行预关联运算获取预关联结果,将预关联结果写入缓存中;
S106、根据业务查询场景通过所述缓存调取所述预关联结果,并对预关联结果进行二次运算得到最终运算结果。
需要说明的是,为实现通过内存数据的预处理计算,缓解磁盘数据库处理数据的压力和IO瓶颈,将部分应用需求从传统关系型数据库转移到内存数据库中进行计算,从而有效降低磁盘数据库的压力,通过对大表关联和多表关联的数据信息配置二维配置表和预关联脚本,再通过内存数据库获取二维配置表配置项信息并加载数据表读入至内存,通过内存读取预关联脚本并运算获得预关联结果,再根据业务场景对预关联结果进行二次运算得到最终运算结果,最终实现通过对大表关联和多表关联的预先关联配置的运算结果进行二次运算来减低数据库压力的内存数据库中表格预关联处理的技术方法,本发明实施例的方法的逻辑流程可参见图2内存数据库表格预关联的处理方法的逻辑流程图。
请参照图3,图3是本申请一些实施例中的内存数据库表格预关联的处理方法的获取数据信息的流程图。根据本发明实施例,所述获取预设时段内符合预设使用频次的大表关联和多表关联的数据信息,具体为:
S301、获取预设时间段内业务系统中大表关联和多表关联的使用频次信息;
S302、根据所述使用频次信息与预设频次阈值进行对比,获取符合频次阈值要求的大表关联和多表关联;
S303、通过介质数据库提取所述大表关联和多表关联过程中的数据信息,包括数据表信息、关键字信息和数据来源信息。
需要说明的是,预设频次阈值根据数据库属性类别和磁盘数据流通需求进行预设,通过阈值对比获取筛选出的大表关联和多表关联,再通过数据源端的介质数据库提取大表关联和多表关联过程中的数据信息,包括数据表信息、关键字信息和数据来源信息。
请参照图4,图4是本申请一些实施例中的内存数据库表格预关联的将预关联脚本配置到启动脚本目录的流程图。根据本发明实施例,所述根据建立的二维表表单对所述数据信息进行配置,生成二维配置表和预关联脚本,并将预关联脚本配置到启动脚本目录,具体为:
S401、建立二维表表单,将所述数据表信息、关键字信息和数据来源信息配置到二维表表单中,生成二维配置表;
S402、根据所述二维配置表生成预关联脚本;
S403、将所述预关联脚本配置到启动脚本目录。
需要说明的是,将提取的数据信息配置到建立的二维表表单中得到二维配置表,二维配置表的示例表参见表1二维配置表(示例表),再根据二维配置表生成与二维配置表中项目相关的预关联脚本,预关联脚本的实施例A参见表2预关联脚本(示例表),最后将预关联脚本配置到启动脚本目录,启动脚本目录是根据执行的预关联脚本建立的启动配置目录,通过目录可读取排列的执行脚本。
缓存名称 | 数据表主键 | 数据来源 |
TABLE_A | KEY1,KEY2 | MysqlDB1 |
TABLE_B | KEY1 | DMDB1 |
…… | …… | …… |
TABLE_N | KEY1,KEY2,KEY3 | OracleDB1 |
表1二维配置表(示例表)
实施例A | |
1 | //将关联表读进内存,作为全局变量 |
2 | =join(TABLE_A:A,KEY2;TABLE_B:B, KEY1) |
3 | >CACHE_JOIN_A_B=A2.new(A.KEY1, A.FIELD1, B.FIELD2) |
4 | //将内存设为全局变量 |
5 | >env(CACHE_JOIN_A_B, CHCHE1) |
表2预关联脚本(示例表)
根据本发明实施例,所述启动内存数据库并通过读取所述二维配置表获取配置项信息,具体为:
根据预设的预关联程序启动内存数据库;
通过所述内存数据库读取所述二维配置表,并根据二维配置表获取配置项信息;
所述配置项信息包括缓存名称、数据表主键以及数据来源。
需要说明的是,根据二维配置表的配置项信息可加载介质数据库中的数据表到内存中,通过预关联程序启动内存数据库,再通过内存数据库读取二维配置表的配置项信息,从而实现对介质数据库中数据表的加载获取。
根据本发明实施例,所述根据所述配置项信息加载数据表并读入至全局内存中,具体为:
根据所述配置项信息从预设存储介质中加载与所述配置项信息相关联的数据表;
将所述数据表读入到所述内存数据库的全局内存中。
需要说明的是,将介质数据库中数据表读取到内存是从预设的存储介质如磁盘存储数据库、网络存储数据库等存储介质中加载与二维配置表的配置项信息相关联的数据表,将数据表读入内存数据库的全局内存中,完成由介质到内存的数据表关联。
根据本发明实施例,所述通过所述全局内存读取所述启动脚本目录中的预关联脚本,并执行预关联运算获取预关联结果,将预关联结果写入缓存中,具体为:
通过所述全局内存读取所述启动脚本目录中的预关联脚本;
对读取的所述预关联脚本执行预关联运算,获取与所述预关联脚本对应的预关联结果;
将所述预关联结果写入所述全局内存的缓存中。
需要说明的是,在读取数据表到内存数据库后,通过全局内存按照气动脚本目录中的预关联脚本排序进行预关联脚本的读取,并执行预关联运算获得预关联结果,运算方法根据预关联脚本的运算执行要求进行设置,最后将运算得到的预关联结果写入全局内存的缓存中,完成对预关联脚本的运算和写入。
根据本发明实施例,所述根据业务查询场景通过所述缓存调取所述预关联结果,并对预关联结果进行二次运算得到最终运算结果,具体为:
获取业务系统的场景模型,根据场景模型执行业务查询获得业务查询场景;
根据所述业务查询场景通过所述缓存调取所述预关联结果,并根据预设算法对预关联结果进行二次运算,得到最终运算结果。
需要说明的是,在全局内存完成了对预关联脚本的运算和存储后,根据使用大表关联和多表关联的业务场景对预关联结果做最后一步运算处理,可得出最终运算结果,通过执行数据库查询的业务系统的场景模型执行业务查询,获得业务查询场景,业务查询场景是针对不同介质数据库按照数据需求执行查询的应用场景,根据业务查询场景获得对应的预设算法,根据预设算法对内存的缓存中的预关联结果进行二次运算,得到最终运算结果,即实现通过对内存预先关联、配置、运算处理的运算结果,进行二次运算得到最终运算结果,来减低介质数据库压力,实施对内存数据库表格预关联的处理技术,其中,业务查询场景通过缓存调取预关联结果的场景实施例A参见表3业务查询场景调取预关联结果(示例表)。
实施例A | |
1 | //调用预关联结果执行二次计算 |
2 | =CACHE1.select(A.FIELD1==true) |
3 | //将结果返回到应用程序 |
4 | return A1 |
表3业务查询场景调取预关联结果(示例表)
根据本发明实施例,所述预关联脚本还包括:
将关联数据表进行读取存入全局内存,将全局内存设为全局变量。
需要说明的是,全局变量是保存在全局内存的存储区中并占用静态永久性的存储单元。
如图5所示,本发明还公开了一种内存数据库表格预关联的处理系统5,包括存储器51和处理器52,所述存储器中包括内存数据库表格预关联的处理方法程序,所述内存数据库表格预关联的处理方法程序被所述处理器执行时实现如下步骤:
获取预设时段内符合预设使用频次的大表关联和多表关联的数据信息;
根据建立的二维表表单对所述数据信息进行配置,生成二维配置表和预关联脚本,并将预关联脚本配置到启动脚本目录;
启动内存数据库并通过读取所述二维配置表获取配置项信息;
根据所述配置项信息加载数据表并读入至全局内存中;
通过所述全局内存读取所述启动脚本目录中的预关联脚本,并执行预关联运算获取预关联结果,将预关联结果写入缓存中;
根据业务查询场景通过所述缓存调取所述预关联结果,并对预关联结果进行二次运算得到最终运算结果。
需要说明的是,为实现通过内存数据的预处理计算,缓解磁盘数据库处理数据的压力和IO瓶颈,将部分应用需求从传统关系型数据库转移到内存数据库中进行计算,从而有效降低磁盘数据库的压力,通过对大表关联和多表关联的数据信息配置二维配置表和预关联脚本,再通过内存数据库获取二维配置表配置项信息并加载数据表读入至内存,通过内存读取预关联脚本并运算获得预关联结果,再根据业务场景对预关联结果进行二次运算得到最终运算结果,最终实现通过对大表关联和多表关联的预先关联配置的运算结果进行二次运算来减低数据库压力的内存数据库中表格预关联处理的技术方法,本发明实施例的方法的逻辑流程可参见图2内存数据库表格预关联的处理方法的逻辑流程图。
根据本发明实施例,所述获取预设时段内符合预设使用频次的大表关联和多表关联的数据信息,具体为:
获取预设时间段内业务系统中大表关联和多表关联的使用频次信息;
根据所述使用频次信息与预设频次阈值进行对比,获取符合频次阈值要求的大表关联和多表关联;
通过介质数据库提取所述大表关联和多表关联过程中的数据信息,包括数据表信息、关键字信息和数据来源信息。
需要说明的是,预设频次阈值根据数据库属性类别和磁盘数据流通需求进行预设,通过阈值对比获取筛选出的大表关联和多表关联,再通过数据源端的介质数据库提取大表关联和多表关联过程中的数据信息,包括数据表信息、关键字信息和数据来源信息。
根据本发明实施例,所述根据建立的二维表表单对所述数据信息进行配置,生成二维配置表和预关联脚本,并将预关联脚本配置到启动脚本目录,具体为:
建立二维表表单,将所述数据表信息、关键字信息和数据来源信息配置到二维表表单中,生成二维配置表;
根据所述二维配置表生成预关联脚本;
将所述预关联脚本配置到启动脚本目录。
需要说明的是,将提取的数据信息配置到建立的二维表表单中得到二维配置表,二维配置表的示例表参见表1二维配置表(示例表),再根据二维配置表生成与二维配置表中项目相关的预关联脚本,预关联脚本的实施例A参见表2预关联脚本(示例表),最后将预关联脚本配置到启动脚本目录,启动脚本目录是根据执行的预关联脚本建立的启动配置目录,通过目录可读取排列的执行脚本。
缓存名称 | 数据表主键 | 数据来源 |
TABLE_A | KEY1,KEY2 | MysqlDB1 |
TABLE_B | KEY1 | DMDB1 |
…… | …… | …… |
TABLE_N | KEY1,KEY2,KEY3 | OracleDB1 |
表1二维配置表(示例表)
实施例A | |
1 | //将关联表读进内存,作为全局变量 |
2 | =join(TABLE_A:A,KEY2;TABLE_B:B, KEY1) |
3 | >CACHE_JOIN_A_B=A2.new(A.KEY1, A.FIELD1, B.FIELD2) |
4 | //将内存设为全局变量 |
5 | >env(CACHE_JOIN_A_B, CHCHE1) |
表2预关联脚本(示例表)
根据本发明实施例,所述启动内存数据库并通过读取所述二维配置表获取配置项信息,具体为:
根据预设的预关联程序启动内存数据库;
通过所述内存数据库读取所述二维配置表,并根据二维配置表获取配置项信息;
所述配置项信息包括缓存名称、数据表主键以及数据来源。
需要说明的是,根据二维配置表的配置项信息可加载介质数据库中的数据表到内存中,通过预关联程序启动内存数据库,再通过内存数据库读取二维配置表的配置项信息,从而实现对介质数据库中数据表的加载获取。
根据本发明实施例,所述根据所述配置项信息加载数据表并读入至全局内存中,具体为:
根据所述配置项信息从预设存储介质中加载与所述配置项信息相关联的数据表;
将所述数据表读入到所述内存数据库的全局内存中。
需要说明的是,将介质数据库中数据表读取到内存是从预设的存储介质如磁盘存储数据库、网络存储数据库等存储介质中加载与二维配置表的配置项信息相关联的数据表,将数据表读入内存数据库的全局内存中,完成由介质到内存的数据表关联。
根据本发明实施例,所述通过所述全局内存读取所述启动脚本目录中的预关联脚本,并执行预关联运算获取预关联结果,将预关联结果写入缓存中,具体为:
通过所述全局内存读取所述启动脚本目录中的预关联脚本;
对读取的所述预关联脚本执行预关联运算,获取与所述预关联脚本对应的预关联结果;
将所述预关联结果写入所述全局内存的缓存中。
需要说明的是,在读取数据表到内存数据库后,通过全局内存按照气动脚本目录中的预关联脚本排序进行预关联脚本的读取,并执行预关联运算获得预关联结果,运算方法根据预关联脚本的运算执行要求进行设置,最后将运算得到的预关联结果写入全局内存的缓存中,完成对预关联脚本的运算和写入。
根据本发明实施例,所述根据业务查询场景通过所述缓存调取所述预关联结果,并对预关联结果进行二次运算得到最终运算结果,具体为:
获取业务系统的场景模型,根据场景模型执行业务查询获得业务查询场景;
根据所述业务查询场景通过所述缓存调取所述预关联结果,并根据预设算法对预关联结果进行二次运算,得到最终运算结果。
需要说明的是,在全局内存完成了对预关联脚本的运算和存储后,根据使用大表关联和多表关联的业务场景对预关联结果做最后一步运算处理,可得出最终运算结果,通过执行数据库查询的业务系统的场景模型执行业务查询,获得业务查询场景,业务查询场景是针对不同介质数据库按照数据需求执行查询的应用场景,根据业务查询场景获得对应的预设算法,根据预设算法对内存的缓存中的预关联结果进行二次运算,得到最终运算结果,即实现通过对内存预先关联、配置、运算处理的运算结果,进行二次运算得到最终运算结果,来减低介质数据库压力,实施对内存数据库表格预关联的处理技术,其中,业务查询场景通过缓存调取预关联结果的场景实施例A参见表3业务查询场景调取预关联结果(示例表)。
实施例A | |
1 | //调用预关联结果执行二次计算 |
2 | =CACHE1.select(A.FIELD1==true) |
3 | //将结果返回到应用程序 |
4 | return A1 |
表3业务查询场景调取预关联结果(示例表)
根据本发明实施例,所述预关联脚本还包括:
将关联数据表进行读取存入全局内存,将全局内存设为全局变量。
需要说明的是,全局变量是保存在全局内存的存储区中并占用静态永久性的存储单元。
本发明第三方面提供了一种计算机可读存储介质,所述可读存储介质中包括内存数据库表格预关联的处理方法程序,所述内存数据库表格预关联的处理方法程序被处理器执行时,实现如上述任一项所述的内存数据库表格预关联的处理方法的步骤。
本发明公开的一种内存数据库表格预关联的处理方法、系统和介质,通过获取大表关联和多表关联的数据信息,根据建立的二维表表单对数据信息进行配置获得二维配置表和预关联脚本,并配置到启动脚本目录,启动内存数据库获取配置项信息并加载数据表后读入至全局内存中,通过全局内存读取预关联脚本并执行预关联运算获取预关联结果并写入缓存,根据业务查询场景对预关联结果进行二次运算得到最终运算结果;从而通过对大表关联和多表关联的数据信息配置二维配置表和预关联脚本,再通过内存数据库获取二维配置表配置项信息并加载数据表读入至内存,通过内存读取预关联脚本并运算获得预关联结果,再根据业务场景对预关联结果进行二次运算得到最终运算结果,实现通过对大表关联和多表关联的预先关联配置的运算结果进行二次运算来减低数据库压力的技术。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (6)
1.一种内存数据库表格预关联的处理方法,其特征在于,包括以下步骤:
获取预设时段内符合预设使用频次的大表关联和多表关联的数据信息;
根据建立的二维表表单对所述数据信息进行配置,生成二维配置表和预关联脚本,并将预关联脚本配置到启动脚本目录;
启动内存数据库并通过读取所述二维配置表获取配置项信息;
根据所述配置项信息加载数据表并读入至全局内存中;
通过所述全局内存读取所述启动脚本目录中的预关联脚本,并执行预关联运算获取预关联结果,将预关联结果写入缓存中;
根据业务查询场景通过所述缓存调取所述预关联结果,并对预关联结果进行二次运算得到最终运算结果;
还包括:
获取预设时间段内业务系统中大表关联和多表关联的使用频次信息;
根据所述使用频次信息与预设频次阈值进行对比,获取符合频次阈值要求的大表关联和多表关联;
通过介质数据库提取所述大表关联和多表关联过程中的数据信息,包括数据表信息、关键字信息和数据来源信息;
还包括:
建立二维表表单,将所述数据表信息、关键字信息和数据来源信息配置到二维表表单中,生成二维配置表;
根据所述二维配置表生成预关联脚本;
将所述预关联脚本配置到启动脚本目录;
还包括:
根据预设的预关联程序启动内存数据库;
通过所述内存数据库读取所述二维配置表,并根据二维配置表获取配置项信息;
所述配置项信息包括缓存名称、数据表主键以及数据来源。
2.根据权利要求1所述的内存数据库表格预关联的处理方法,其特征在于,所述根据所述配置项信息加载数据表并读入至全局内存中,包括:
根据所述配置项信息从预设存储介质中加载与所述配置项信息相关联的数据表;
将所述数据表读入到所述内存数据库的全局内存中。
3.根据权利要求2所述的内存数据库表格预关联的处理方法,其特征在于,所述通过所述全局内存读取所述启动脚本目录中的预关联脚本,并执行预关联运算获取预关联结果,
将预关联结果写入缓存中,包括:
通过所述全局内存读取所述启动脚本目录中的预关联脚本;
对读取的所述预关联脚本执行预关联运算,获取与所述预关联脚本对应的预关联结果;
将所述预关联结果写入所述全局内存的缓存中。
4.根据权利要求3所述的内存数据库表格预关联的处理方法,其特征在于,所述根据业务查询场景通过所述缓存调取所述预关联结果,并对预关联结果进行二次运算得到最终运算结果,包括:
获取业务系统的场景模型,根据场景模型执行业务查询获得业务查询场景;
根据所述业务查询场景通过所述缓存调取所述预关联结果,并根据预设算法对预关联结果进行二次运算,得到最终运算结果。
5.一种内存数据库表格预关联的处理系统,其特征在于,该系统包括:存储器及处理器,所述存储器中包括内存数据库表格预关联的处理方法的程序,所述内存数据库表格预关联的处理方法的程序被所述处理器执行时实现以下步骤:
获取预设时段内符合预设使用频次的大表关联和多表关联的数据信息;
根据建立的二维表表单对所述数据信息进行配置,生成二维配置表和预关联脚本,并将预关联脚本配置到启动脚本目录;
启动内存数据库并通过读取所述二维配置表获取配置项信息;
根据所述配置项信息加载数据表并读入至全局内存中;
通过所述全局内存读取所述启动脚本目录中的预关联脚本,并执行预关联运算获取预关联结果,将预关联结果写入缓存中;
根据业务查询场景通过所述缓存调取所述预关联结果,并对预关联结果进行二次运算得到最终运算结果;
还包括:
获取预设时间段内业务系统中大表关联和多表关联的使用频次信息;
根据所述使用频次信息与预设频次阈值进行对比,获取符合频次阈值要求的大表关联和多表关联;
通过介质数据库提取所述大表关联和多表关联过程中的数据信息,包括数据表信息、关键字信息和数据来源信息;
还包括:
建立二维表表单,将所述数据表信息、关键字信息和数据来源信息配置到二维表表单中,生成二维配置表;
根据所述二维配置表生成预关联脚本;
将所述预关联脚本配置到启动脚本目录;
还包括:
根据预设的预关联程序启动内存数据库;
通过所述内存数据库读取所述二维配置表,并根据二维配置表获取配置项信息;
所述配置项信息包括缓存名称、数据表主键以及数据来源。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括内存数据库表格预关联的处理方法程序,所述内存数据库表格预关联的处理方法程序被处理器执行时,实现如权利要求1至4中任一项所述的内存数据库表格预关联的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310431167.2A CN116166671B (zh) | 2023-04-21 | 2023-04-21 | 一种内存数据库表格预关联的处理方法、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310431167.2A CN116166671B (zh) | 2023-04-21 | 2023-04-21 | 一种内存数据库表格预关联的处理方法、系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116166671A CN116166671A (zh) | 2023-05-26 |
CN116166671B true CN116166671B (zh) | 2023-08-15 |
Family
ID=86418494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310431167.2A Active CN116166671B (zh) | 2023-04-21 | 2023-04-21 | 一种内存数据库表格预关联的处理方法、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166671B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287150A (zh) * | 2019-05-16 | 2019-09-27 | 中国科学院信息工程研究所 | 一种大规模存储系统元数据分布式管理方法与系统 |
CN114218277A (zh) * | 2021-12-16 | 2022-03-22 | 广发基金管理有限公司 | 一种关系数据库的高效查询方法和装置 |
WO2022156087A1 (zh) * | 2021-01-22 | 2022-07-28 | 平安科技(深圳)有限公司 | 数据血缘关系建立方法、装置、计算机设备及存储介质 |
CN115705330A (zh) * | 2021-08-09 | 2023-02-17 | 顺丰科技有限公司 | 数据查询方法、装置、电子设备和可读存储介质 |
WO2023029275A1 (zh) * | 2021-09-02 | 2023-03-09 | 广州广电运通金融电子股份有限公司 | 数据关联分析方法、装置、计算机设备和存储介质 |
-
2023
- 2023-04-21 CN CN202310431167.2A patent/CN116166671B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287150A (zh) * | 2019-05-16 | 2019-09-27 | 中国科学院信息工程研究所 | 一种大规模存储系统元数据分布式管理方法与系统 |
WO2022156087A1 (zh) * | 2021-01-22 | 2022-07-28 | 平安科技(深圳)有限公司 | 数据血缘关系建立方法、装置、计算机设备及存储介质 |
CN115705330A (zh) * | 2021-08-09 | 2023-02-17 | 顺丰科技有限公司 | 数据查询方法、装置、电子设备和可读存储介质 |
WO2023029275A1 (zh) * | 2021-09-02 | 2023-03-09 | 广州广电运通金融电子股份有限公司 | 数据关联分析方法、装置、计算机设备和存储介质 |
CN114218277A (zh) * | 2021-12-16 | 2022-03-22 | 广发基金管理有限公司 | 一种关系数据库的高效查询方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116166671A (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107818115B (zh) | 一种处理数据表的方法及装置 | |
US9251212B2 (en) | Profiling in a massive parallel processing environment | |
CN111506621B (zh) | 一种数据统计方法及装置 | |
CN112800287B (zh) | 基于图数据库的全文索引方法和系统 | |
CN104111958A (zh) | 一种数据查询方法及装置 | |
CN112637305A (zh) | 一种基于缓存的数据存储与查询方法、装置、设备及介质 | |
CN113094387A (zh) | 一种数据查询方法、装置、电子设备及机器可读存储介质 | |
CN114328981B (zh) | 基于模式映射的知识图谱建立和数据获取方法、装置 | |
CN116166671B (zh) | 一种内存数据库表格预关联的处理方法、系统和介质 | |
CN106326295B (zh) | 语义数据的存储方法及装置 | |
CN116450607A (zh) | 数据处理方法、设备及存储介质 | |
CN114840608B (zh) | 分布式数据访问方法、设备及存储介质 | |
CN115422180A (zh) | 数据校验方法及系统 | |
CN113157777B (zh) | 一种分布式实时查询数据的方法、集群、系统及存储介质 | |
CN112181994B (zh) | 运维大数据的分布式内存数据库的刷新方法、装置、介质 | |
CN112380004B (zh) | 内存管理方法、装置、计算机可读存储介质及电子设备 | |
CN114564501A (zh) | 一种数据库数据存储、查询方法、装置、设备及介质 | |
US20220207097A1 (en) | Multi-node word segmentation system and method for keyword search | |
CN113868138A (zh) | 测试数据的获取方法、系统、设备及存储介质 | |
CN108763498B (zh) | 用户身份识别方法、装置、电子设备及可读存储介质 | |
CN112612790A (zh) | 卡号配置方法、装置、设备及计算机存储介质 | |
CN115544321B (zh) | 一种图数据库存储的实现方法、装置及存储介质 | |
CN111984647B (zh) | 一种表单元素智能合并展现和存储的方法 | |
CN114238318A (zh) | 数据存储结构的处理方法、处理装置与数据存储系统 | |
CN114064649A (zh) | 基于MongoDB的数据存储方法及装置 |
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 |