CN108897796A - 一种业务系统调用influxdb数据库的方法、存储介质和服务器 - Google Patents
一种业务系统调用influxdb数据库的方法、存储介质和服务器 Download PDFInfo
- Publication number
- CN108897796A CN108897796A CN201810603099.2A CN201810603099A CN108897796A CN 108897796 A CN108897796 A CN 108897796A CN 201810603099 A CN201810603099 A CN 201810603099A CN 108897796 A CN108897796 A CN 108897796A
- Authority
- CN
- China
- Prior art keywords
- data
- field information
- operation system
- raw data
- data table
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- 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
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据库技术领域,提出一种业务系统调用influxdb数据库的方法、存储介质和服务器。本发明通过在influxdb数据库所在的服务器端构建一段处理逻辑,当获取到业务系统的数据调用请求时,利用该处理逻辑调用influxdb数据库的原始数据表,并对该原始数据表进行聚合处理,得到业务系统所需的目标数据表。最后,业务系统即可直接调用该目标数据表中的数据。通过这样设置,业务系统不再直接从influxdb数据库的接口调取数据,也即业务系统和influxdb数据库之间无需直接进行可视化界面的数据传输。采用本申请能够有效降低数据库后台服务器的资源消耗,提高业务系统运行的稳定性。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种业务系统调用influxdb数据库的方法、存储介质和服务器。
背景技术
Influxdb是一种开源的时序数据库,适用于庞大数据信息实时处理的应用场合,属于内存/CPU高消耗型的数据库解决方案。目前,银行、信贷等业务系统运行时,通常需要从服务器的influxdb数据库中调用各类业务数据。
然而,由于业务系统在调用influxdb时序数据库接口时,每一笔数据都需要在influxdb后台进行计算,尤其当业务系统需要通过可视化界面展示调用的数据时,会涉及到业务系统与influxdb数据库之间大量的数据传输,导致数据库后台繁忙不断地进行数据处理,这会给服务器造成极大的资源消耗,严重影响业务系统的稳定运行。
发明内容
有鉴于此,本发明实施例提供了一种业务系统调用influxdb数据库的方法、存储介质和服务器,能够在业务系统调用数据的过程中降低服务器的资源消耗,从而提高业务系统运行的稳定性。
本发明实施例的第一方面,提供了一种业务系统调用influxdb数据库的方法,包括:
获取业务系统的数据调用请求;
根据所述数据调用请求确定第一字段信息,所述第一字段信息为所述业务系统需要调用的目标数据所对应的字段信息;
从influxdb数据库中获取与所述第一字段信息关联的原始数据表;
对influxdb数据库输出的所述原始数据表进行聚合处理,得到目标数据表,所述目标数据表包含所述目标数据;
将所述目标数据表传送给所述业务系统。
本发明实施例的第二方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如本发明实施例的第一方面提出的业务系统调用influxdb数据库的方法的步骤。
本发明实施例的第三方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
获取业务系统的数据调用请求;
根据所述数据调用请求确定第一字段信息,所述第一字段信息为所述业务系统需要调用的目标数据所对应的字段信息;
从influxdb数据库中获取与所述第一字段信息关联的原始数据表;
对influxdb数据库输出的所述原始数据表进行聚合处理,得到目标数据表,所述目标数据表包含所述目标数据;
将所述目标数据表传送给所述业务系统。
在本发明实施例中,通过在influxdb数据库所在的服务器端构建一段处理逻辑,当获取到业务系统的数据调用请求时,利用该处理逻辑调用influxdb数据库的原始数据表,并对该原始数据表进行聚合处理,得到业务系统所需的目标数据表。最后,业务系统即可直接调用该目标数据表中的数据。通过这样设置,业务系统不再直接从influxdb数据库的接口调取数据,也即业务系统和influxdb数据库之间无需直接进行可视化界面的数据传输。由于利用该处理逻辑调用influxdb数据库的数据进行聚合对服务器的资源消耗远远小于由业务系统直接调用influxdb数据库对服务器的资源消耗,故本申请能够有效降低数据库后台服务器的资源消耗,提高业务系统运行的稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种业务系统调用influxdb数据库的方法的第一个实施例的流程图;
图2是本发明实施例提供的一种业务系统调用influxdb数据库的方法的第二个实施例的流程图;
图3是本发明实施例提供的一种业务系统调用influxdb数据库的装置的一个实施例的结构图;
图4是本发明实施例提供的一种服务器的示意图。
具体实施方式
本发明实施例提供了一种业务系统调用influxdb数据库的方法、存储介质和服务器,能够在业务系统调用数据的过程中降低服务器的资源消耗,从而提高业务系统运行的稳定性。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种业务系统调用influxdb数据库的方法的第一个实施例包括:
101、获取业务系统的数据调用请求;
当业务系统需要调用influxdb数据库的数据时,会发送相应的数据调用请求至influxdb数据库所在的服务器,该服务器即可获取到该数据调用请求。
102、根据所述数据调用请求确定第一字段信息;
服务器在获取到该数据调用请求之后,根据所述数据调用请求确定第一字段信息,所述第一字段信息为所述业务系统需要调用的目标数据所对应的字段信息。比如,若业务系统需要调用2017年的业务量数据,则可确定第一字段信息为“2017年业务量”。
103、从influxdb数据库中获取与所述第一字段信息关联的原始数据表;
在确定第一字段信息之后,服务器从influxdb数据库中获取与所述第一字段信息关联的原始数据表。将该原始数据表按照一定的规则聚合处理后,即可得到业务系统需要调用的数据。
进一步的,步骤103可以包括:
(1)在预设的字段信息关联表中查询与所述第一字段信息关联的第二字段信息;
(2)从influxdb数据库中获取字段包含所述第二字段信息的原始数据表。
在服务器端,预先根据业务规则构建字段信息关联表,该关联表记录了各个字段之间的关联关系。比如,与第一字段信息“2017年业务量”关联的第二字段信息为“2017年1月业务量、2017年1月业务量…2017年12月业务量”。然后,从influxdb数据库中获取字段包含所述第二字段信息的原始数据表,比如获取“2017年1月业务量”、“2017年2月业务量”、“2017年3月业务量”…的数据表。
104、对influxdb数据库输出的所述原始数据表进行聚合处理,得到目标数据表;
在获取到原始数据表之后,服务器对influxdb数据库输出的所述原始数据表进行聚合处理,得到目标数据表,所述目标数据表包含所述目标数据。也即,业务系统能够直接从所述目标数据表中获取想要调用的数据。
进一步的,步骤104可以包括:
(1)从所述原始数据表中提取所述第二字段信息对应的数据;
(2)采用预设的聚合处理规则对所述第二字段信息对应的数据进行聚合处理,得到所述目标数据;
(3)根据所述第一字段信息和所述目标数据构建所述目标数据表。
同样以第一字段信息“2017年业务量”为例子说明,首先从原始数据表“2017年1月业务量”、“2017年2月业务量”、“2017年3月业务量”…中提取对应的业务量数据,然后按照一定的聚合处理规则对这些业务量数据进行聚合处理(这里为将业务量相加),即可得到所述目标数据,即2017年的业务量数据。最后,将得到的目标数据和所述第一字段信息构建成一个表格,即目标数据表。
另外,还可以按照预设的时间间隔对所述原始数据表进行聚合处理。
具体的,可以按照业务需求实现分钟/小时为粒度,产生目标数据表。比如,可以每分钟聚合一次数据。
其中,所述时间间隔可以通过以下步骤调整:
(1)实时监测influxdb数据库所在服务器的内存消耗量;
(2)若所述内存消耗量在单位时间内的均值大于第一阈值,则按照预设比例逐步提高所述时间间隔,直至所述内存消耗量在单位时间内的均值小于所述第一阈值。
对于influxdb数据库所在的服务器来说,进行数据聚合需要消耗内存,而且数据聚合的频率越高(即聚合的时间间隔越短),则消耗的内存越大。为了避免服务器的内存消耗过大,可以实时监测服务器的内存消耗量,若该消耗量在单位时间内的均值超过某个预设的上限值(即第一阈值),则按照预设比例逐步提高所述时间间隔,直至所述内存消耗量在单位时间内的均值小于所述第一阈值。比如,初始设置的时间间隔为60s进行一次数据聚合处理,若监测到1小时内系统的内存消耗量均值超过极限值95%,则可以将时间间隔提高一定的程度,比如提高至70s,使得1小时内系统的内存消耗量均值小于95%。
在步骤101-104中,服务器实际上构建了一段处理逻辑,当获取到业务系统的数据调用请求时,利用该处理逻辑调用influxdb数据库的原始数据表,并对该原始数据表进行聚合处理,得到业务系统所需的目标数据表。
105、将所述目标数据表传送给所述业务系统。
在得到目标数据表之后,服务器将所述目标数据表传送给所述业务系统,业务系统即可调用所述目标数据。
实际测试结果如下:基于8核CPU,32G内存的服务器。原有业务系统直接调用influxdb接口的模式下,只能支撑10多台业务终端的数据采集,约千万级数量处理,内存消耗大于32G,服务器会内存溢出。若采用本方法,接入70多台业务终端的数据采集,业务数据量达亿笔,服务器的内存消耗约20G,仅仅为原来的2/3。
在本发明实施例中,通过在influxdb数据库所在的服务器端构建一段处理逻辑,当获取到业务系统的数据调用请求时,利用该处理逻辑调用influxdb数据库的原始数据表,并对该原始数据表进行聚合处理,得到业务系统所需的目标数据表。最后,业务系统即可直接调用该目标数据表中的数据。通过这样设置,业务系统不再直接从influxdb数据库的接口调取数据,也即业务系统和influxdb数据库之间无需直接进行可视化界面的数据传输。由于利用该处理逻辑调用influxdb数据库的数据进行聚合对服务器的资源消耗远远小于由业务系统直接调用influxdb数据库对服务器的资源消耗,故本申请能够有效降低数据库后台服务器的资源消耗,提高业务系统运行的稳定性。
请参阅图2,本发明实施例中一种业务系统调用influxdb数据库的方法的第二个实施例包括:
201、获取业务系统的数据调用请求;
202、根据所述数据调用请求确定第一字段信息;
203、从influxdb数据库中获取与所述第一字段信息关联的原始数据表;
步骤201-203与步骤101-103相同,具体可参照步骤101-103的相关说明。
204、实时监测influxdb数据库所在服务器的内存消耗量;
在数据调用过程中,实时监测influxdb数据库所在服务器的内存消耗量。
205、根据所述内存消耗量调整所述原始数据表的数据时效;
根据所述内存消耗量调整所述原始数据表的数据时效,具体的,步骤205可以包括:
(1)当检测到所述内存消耗量大于第二阈值时,缩短所述原始数据表的数据时效,使得所述内存消耗量小于所述第二阈值;
(2)当检测到所述内存消耗量小于第三阈值时,延长所述原始数据表的数据时效,使得所述内存消耗量大于所述第三阈值,所述第三阈值小于所述第二阈值。
influxdb数据库中的数据具有对应的数据时效。该数据时效是influxdb数据库为存储的数据设置的一个参数,用于限定数据在什么时段内有效。服务器的内存消耗量跟原始数据表的数据时效有关:数据时效越短,则内存消耗量越小。因此,当检测到服务器的内存消耗量超过某个阈值时,可以通过缩短所述原始数据表的数据时效来降低内存消耗量,使得所述内存消耗量小于所述第二阈值。另外,若内存资源比较充裕,内存消耗量较小时,也可以合理地延长所述原始数据表的数据时效,以满足高数据时效的业务需求。
对于上述步骤(1),具体可以包括:
(1.1)获取所述原始数据表当前的数据时效;
(1.2)在预设的关系记录表中查询与所述当前的数据时效对应的第一线性关系表达式,所述关系记录表记录着各个数据时效分别对应的线性关系表达式,所述线性关系表达式用于表示内存消耗量和所述原始数据表的数据量之间的关系;
(1.3)将检测到的内存消耗量代入所述第一线性关系表达式,计算得到对应的目标数据量;
(1.4)将所述目标数据量分别代入所述关系记录表中的各个线性关系表达式,计算得到各个线性关系表达式分别对应的内存消耗量;
(1.5)从所述各个线性关系表达式中选取对应的内存消耗量小于所述第二阈值的第二线性关系表达式;
(1.6)将所述原始数据表的数据时效调整为所述第二线性关系表达式对应的数据时效。
对于上述步骤(1.1)-(1.6),举例说明如下:
表1
数据时效 | 线性关系表达式 |
7天 | y=2.6x+8867 |
3天 | y=1.6x+7392 |
1天 | y=2.02x+2666 |
12小时 | y=1.97x+1672 |
6小时 | y=1.38x+2484 |
3小时 | y=1.09x+1707 |
表1为一个关系记录表的示例,记录着各个数据时效分别对应的线性关系表达式,比如,数据时效“7天”对应线性关系表达式“y=2.6x+8867”。在该表中,y表示内存消耗量(单位MB),x表示所述原始数据表的数据量(单位万笔)。比如,当检测到服务器的内存消耗量超过10G(假设为12G)时,获取所述原始数据表当前的数据时效,假设为3天。然后,在上述表格中查询时效3天对应的第一线性关系表达式,即y=1.6x+7392,将y=12G代入该公式,计算得到目标数据量x0,然后将x0分别代入上述表格中的各个线性关系表达式,计算得到各个线性关系表达式分别对应的内存消耗量,比如2.02x0+2666,1.97x0+1672等。最后,可以按照预设的规则选取其中一个数值小于10G的内存消耗量值,将数据时效调整为该内存消耗量值对应的数据时效,比如将时效调整为12小时或6小时。
通过这样设置,可以在业务系统调用数据的过程中进一步降低influxdb数据库所在服务器的内存消耗量。
206、若所述原始数据表的数据超过所述数据时效,则在所述服务器的内存中清除所述原始数据表;
若所述原始数据表的数据超过所述数据时效,则在所述服务器的内存中清除所述原始数据表,以减小内存消耗量。
207、对influxdb数据库输出的所述原始数据表进行聚合处理,得到目标数据表;
208、将所述目标数据表传送给所述业务系统。
步骤207-208与步骤104-105相同,具体可参照步骤104-105的相关说明。
与本发明的第一个实施例相比,本实施例通过实时监测influxdb数据库所在服务器的内存消耗量,并根据监测到的内存消耗量调整所述原始数据表的数据时效,能够在业务系统调用数据的过程中进一步降低influxdb数据库所在服务器的内存消耗量。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种业务系统调用influxdb数据库的方法,下面将对一种业务系统调用influxdb数据库的装置进行详细描述。
请参阅图3,本发明实施例中一种业务系统调用influxdb数据库的装置的一个实施例包括:
请求获取模块301,用于获取业务系统的数据调用请求;
字段信息确定模块302,用于根据所述数据调用请求确定第一字段信息,所述第一字段信息为所述业务系统需要调用的目标数据所对应的字段信息;
原始数据表获取模块303,用于从influxdb数据库中获取与所述第一字段信息关联的原始数据表;
聚合处理模块304,用于对influxdb数据库输出的所述原始数据表进行聚合处理,得到目标数据表,所述目标数据表包含所述目标数据;
数据传送模块305,用于将所述目标数据表传送给所述业务系统。
进一步的,所述原始数据表获取模块可以包括:
字段信息查询单元,用于在预设的字段信息关联表中查询与所述第一字段信息关联的第二字段信息;
原始数据表获取单元,用于从influxdb数据库中获取字段包含所述第二字段信息的原始数据表;
所述聚合处理模块可以包括:
数据提取单元,用于从所述原始数据表中提取所述第二字段信息对应的数据;
聚合处理单元,用于采用预设的聚合处理规则对所述第二字段信息对应的数据进行聚合处理,得到所述目标数据;
目标数据表构建单元,用于根据所述第一字段信息和所述目标数据构建所述目标数据表。
进一步的,所述聚合处理模块具体用于:按照预设的时间间隔对所述原始数据表进行聚合处理;
其中,所述时间间隔通过以下步骤调整:
实时监测influxdb数据库所在服务器的内存消耗量;
若所述内存消耗量在单位时间内的均值大于第一阈值,则按照预设比例逐步提高所述时间间隔,直至所述内存消耗量在单位时间内的均值小于所述第一阈值。
进一步的,所述业务系统调用influxdb数据库的装置还可以包括:
内存消耗监测模块,用于实时监测influxdb数据库所在服务器的内存消耗量;
数据时效调整模块,用于根据所述内存消耗量调整所述原始数据表的数据时效;
内存数据清除模块,用于若所述原始数据表的数据超过所述数据时效,则在所述服务器的内存中清除所述原始数据表。
更进一步的,所述数据时效调整模块可以包括:
第一时效调整单元,用于当检测到所述内存消耗量大于第二阈值时,缩短所述原始数据表的数据时效,使得所述内存消耗量小于所述第二阈值;
第二时效调整单元,用于当检测到所述内存消耗量小于第三阈值时,延长所述原始数据表的数据时效,使得所述内存消耗量大于所述第三阈值,所述第三阈值小于所述第二阈值。
更进一步的,所述第一时效调整单元可以包括:
数据时效获取子单元,用于获取所述原始数据表当前的数据时效;
线性关系表达式查询子单元,用于在预设的关系记录表中查询与所述当前的数据时效对应的第一线性关系表达式,所述关系记录表记录着各个数据时效分别对应的线性关系表达式,所述线性关系表达式用于表示内存消耗量和所述原始数据表的数据量之间的关系;
线性关系表达式代入子单元,用于将检测到的内存消耗量代入所述第一线性关系表达式,计算得到对应的目标数据量;
内存消耗量计算子单元,用于将所述目标数据量分别代入所述关系记录表中的各个线性关系表达式,计算得到各个线性关系表达式分别对应的内存消耗量;
线性表达式选取子单元,用于从所述各个线性关系表达式中选取对应的内存消耗量小于所述第二阈值的第二线性关系表达式;
数据时效调整子单元,用于将所述原始数据表的数据时效调整为所述第二线性关系表达式对应的数据时效。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如图1或图2表示的任意一种业务系统调用influxdb数据库的方法的步骤。
本发明实施例还提供一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如图1或图2表示的任意一种业务系统调用influxdb数据库的方法的步骤。
图4是本发明一实施例提供的服务器的示意图。如图4所示,该实施例的服务器4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机可读指令42。所述处理器40执行所述计算机可读指令42时实现上述各个业务系统调用influxdb数据库的方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器40执行所述计算机可读指令42时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至305的功能。
示例性的,所述计算机可读指令42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令42在所述服务器4中的执行过程。
所述服务器4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是服务器4的示例,并不构成对服务器4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器4还可以包括输入输出设备、网络接入设备、总线等。
所述处理器40可以是中央处理单元(CentraL Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitaL SignaL Processor,DSP)、专用集成电路(AppLication Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieLd-ProgrammabLe Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述服务器4的内部存储单元,例如服务器4的硬盘或内存。所述存储器41也可以是所述服务器4的外部存储设备,例如所述服务器4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure DigitaL,SD)卡,闪存卡(FLash Card)等。进一步地,所述存储器41还可以既包括所述服务器4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnLyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种业务系统调用influxdb数据库的方法,其特征在于,包括:
获取业务系统的数据调用请求;
根据所述数据调用请求确定第一字段信息,所述第一字段信息为所述业务系统需要调用的目标数据所对应的字段信息;
从influxdb数据库中获取与所述第一字段信息关联的原始数据表;
对influxdb数据库输出的所述原始数据表进行聚合处理,得到目标数据表,所述目标数据表包含所述目标数据;
将所述目标数据表传送给所述业务系统。
2.根据权利要求1所述的业务系统调用influxdb数据库的方法,其特征在于,所述从influxdb数据库中获取与所述第一字段信息关联的原始数据表包括:
在预设的字段信息关联表中查询与所述第一字段信息关联的第二字段信息;
从influxdb数据库中获取字段包含所述第二字段信息的原始数据表;
所述对influxdb数据库输出的所述原始数据表进行聚合处理,得到目标数据表包括:
从所述原始数据表中提取所述第二字段信息对应的数据;
采用预设的聚合处理规则对所述第二字段信息对应的数据进行聚合处理,得到所述目标数据;
根据所述第一字段信息和所述目标数据构建所述目标数据表。
3.根据权利要求1所述的业务系统调用influxdb数据库的方法,其特征在于,所述对influxdb数据库输出的所述原始数据表进行聚合处理具体为:
按照预设的时间间隔对所述原始数据表进行聚合处理;
其中,所述时间间隔通过以下步骤调整:
实时监测influxdb数据库所在服务器的内存消耗量;
若所述内存消耗量在单位时间内的均值大于第一阈值,则按照预设比例逐步提高所述时间间隔,直至所述内存消耗量在单位时间内的均值小于所述第一阈值。
4.根据权利要求1至3中任一项所述的业务系统调用influxdb数据库的方法,其特征在于,还包括:
实时监测influxdb数据库所在服务器的内存消耗量;
根据所述内存消耗量调整所述原始数据表的数据时效;
若所述原始数据表的数据超过所述数据时效,则在所述服务器的内存中清除所述原始数据表。
5.根据权利要求4所述的业务系统调用influxdb数据库的方法,其特征在于,所述根据所述内存消耗量调整所述原始数据表的数据时效包括:
当检测到所述内存消耗量大于第二阈值时,缩短所述原始数据表的数据时效,使得所述内存消耗量小于所述第二阈值;
当检测到所述内存消耗量小于第三阈值时,延长所述原始数据表的数据时效,使得所述内存消耗量大于所述第三阈值,所述第三阈值小于所述第二阈值。
6.根据权利要求5所述的业务系统调用influxdb数据库的方法,其特征在于,所述缩短所述原始数据表的数据时效,使得所述内存消耗量小于所述第二阈值包括:
获取所述原始数据表当前的数据时效;
在预设的关系记录表中查询与所述当前的数据时效对应的第一线性关系表达式,所述关系记录表记录着各个数据时效分别对应的线性关系表达式,所述线性关系表达式用于表示内存消耗量和所述原始数据表的数据量之间的关系;
将检测到的内存消耗量代入所述第一线性关系表达式,计算得到对应的目标数据量;
将所述目标数据量分别代入所述关系记录表中的各个线性关系表达式,计算得到各个线性关系表达式分别对应的内存消耗量;
从所述各个线性关系表达式中选取对应的内存消耗量小于所述第二阈值的第二线性关系表达式;
将所述原始数据表的数据时效调整为所述第二线性关系表达式对应的数据时效。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的业务系统调用influxdb数据库的方法的步骤。
8.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
获取业务系统的数据调用请求;
根据所述数据调用请求确定第一字段信息,所述第一字段信息为所述业务系统需要调用的目标数据所对应的字段信息;
从influxdb数据库中获取与所述第一字段信息关联的原始数据表;
对influxdb数据库输出的所述原始数据表进行聚合处理,得到目标数据表,所述目标数据表包含所述目标数据;
将所述目标数据表传送给所述业务系统。
9.根据权利要求8所述的服务器,其特征在于,所述从influxdb数据库中获取与所述第一字段信息关联的原始数据表包括:
在预设的字段信息关联表中查询与所述第一字段信息关联的第二字段信息;
从influxdb数据库中获取字段包含所述第二字段信息的原始数据表;
所述对influxdb数据库输出的所述原始数据表进行聚合处理,得到目标数据表包括:
从所述原始数据表中提取所述第二字段信息对应的数据;
采用预设的聚合处理规则对所述第二字段信息对应的数据进行聚合处理,得到所述目标数据;
根据所述第一字段信息和所述目标数据构建所述目标数据表。
10.根据权利要求8所述的服务器,其特征在于,所述对influxdb数据库输出的所述原始数据表进行聚合处理具体为:
按照预设的时间间隔对所述原始数据表进行聚合处理;
其中,所述时间间隔通过以下步骤调整:
实时监测influxdb数据库所在服务器的内存消耗量;
若所述内存消耗量在单位时间内的均值大于第一阈值,则按照预设比例逐步提高所述时间间隔,直至所述内存消耗量在单位时间内的均值小于所述第一阈值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810603099.2A CN108897796B (zh) | 2018-06-12 | 2018-06-12 | 一种业务系统调用influxdb数据库的方法、存储介质和服务器 |
PCT/CN2018/104974 WO2019237533A1 (zh) | 2018-06-12 | 2018-09-11 | 业务系统调用influxdb数据库的方法、存储介质、终端设备及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810603099.2A CN108897796B (zh) | 2018-06-12 | 2018-06-12 | 一种业务系统调用influxdb数据库的方法、存储介质和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108897796A true CN108897796A (zh) | 2018-11-27 |
CN108897796B CN108897796B (zh) | 2023-07-14 |
Family
ID=64344971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810603099.2A Active CN108897796B (zh) | 2018-06-12 | 2018-06-12 | 一种业务系统调用influxdb数据库的方法、存储介质和服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108897796B (zh) |
WO (1) | WO2019237533A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947853A (zh) * | 2019-03-25 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 一种业务活动变更感知方法、系统及服务器 |
CN111459937A (zh) * | 2020-03-27 | 2020-07-28 | 中国平安人寿保险股份有限公司 | 数据表关联方法、装置、服务器及存储介质 |
CN112115164A (zh) * | 2019-06-19 | 2020-12-22 | 北京金山云网络技术有限公司 | 数据处理方法及装置、数据查询方法及装置、网络设备 |
CN113792039A (zh) * | 2021-03-15 | 2021-12-14 | 北京京东振世信息技术有限公司 | 数据处理方法及装置、电子设备、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897280A (zh) * | 2015-12-17 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置 |
CN107404417A (zh) * | 2017-07-25 | 2017-11-28 | 郑州云海信息技术有限公司 | 一种监控数据的处理方法、处理装置及处理系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015872B (zh) * | 2016-12-09 | 2018-03-16 | 上海壹账通金融科技有限公司 | 监控数据的处理方法及装置 |
CN107463479A (zh) * | 2017-07-11 | 2017-12-12 | 上海精数信息科技有限公司 | 一种社交数据监控系统 |
CN107729219B (zh) * | 2017-11-17 | 2021-07-16 | 北京联想超融合科技有限公司 | 基于超融合存储系统的资源监控方法、装置及终端 |
-
2018
- 2018-06-12 CN CN201810603099.2A patent/CN108897796B/zh active Active
- 2018-09-11 WO PCT/CN2018/104974 patent/WO2019237533A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897280A (zh) * | 2015-12-17 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置 |
CN107404417A (zh) * | 2017-07-25 | 2017-11-28 | 郑州云海信息技术有限公司 | 一种监控数据的处理方法、处理装置及处理系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947853A (zh) * | 2019-03-25 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 一种业务活动变更感知方法、系统及服务器 |
CN112115164A (zh) * | 2019-06-19 | 2020-12-22 | 北京金山云网络技术有限公司 | 数据处理方法及装置、数据查询方法及装置、网络设备 |
CN111459937A (zh) * | 2020-03-27 | 2020-07-28 | 中国平安人寿保险股份有限公司 | 数据表关联方法、装置、服务器及存储介质 |
CN111459937B (zh) * | 2020-03-27 | 2024-06-07 | 中国平安人寿保险股份有限公司 | 数据表关联方法、装置、服务器及存储介质 |
CN113792039A (zh) * | 2021-03-15 | 2021-12-14 | 北京京东振世信息技术有限公司 | 数据处理方法及装置、电子设备、存储介质 |
CN113792039B (zh) * | 2021-03-15 | 2024-03-01 | 北京京东振世信息技术有限公司 | 数据处理方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108897796B (zh) | 2023-07-14 |
WO2019237533A1 (zh) | 2019-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108897796A (zh) | 一种业务系统调用influxdb数据库的方法、存储介质和服务器 | |
CN110134516B (zh) | 金融数据处理方法、装置、设备及计算机可读存储介质 | |
CN101556678A (zh) | 一种批处理业务的处理方法、系统及业务处理控制设备 | |
CN109144791A (zh) | 数据转存方法、装置和数据管理服务器 | |
CN109981702B (zh) | 一种文件存储方法及系统 | |
CN114070791B (zh) | 数据流量的限速处理方法及装置 | |
CN109669975B (zh) | 一种工业大数据处理系统及方法 | |
CN105320676A (zh) | 一种客户数据查询服务方法及装置 | |
CN115292280A (zh) | 一种跨区域的数据调度方法、装置、设备及存储介质 | |
CN103345527B (zh) | 数据智能统计系统 | |
CN111770150B (zh) | 访问流量控制方法、装置及电子设备 | |
CN113934713A (zh) | 一种订单数据索引方法、系统、计算机设备以及存储介质 | |
CN110225110B (zh) | 一种区块链群组的拆分方法及装置 | |
CN116680295A (zh) | 多数据库处理数据的方法、系统及装置 | |
CN111737190A (zh) | 嵌入式系统的动态软硬件协同方法、嵌入式系统 | |
CN109783508A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN113434489B (zh) | 一种实时数据库在线扩容方法、系统、设备及存储介质 | |
CN114116908A (zh) | 一种数据管理方法、装置及电子设备 | |
CN111429125B (zh) | 账户管理方法、装置、存储介质及电子设备 | |
CN111382196B (zh) | 分布式账务处理方法及系统 | |
CN112835867A (zh) | 一种数据预处理方法及装置 | |
CN114253456A (zh) | 一种缓存负载均衡方法和装置 | |
CN111159132A (zh) | 一种基于hdfs的批量小文件处理系统 | |
CN118154035A (zh) | 业务数据的价值评估方法、装置、设备、存储介质和产品 | |
CN113379548B (zh) | 一种基于tuxedo中间件的智能分流方法 |
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 |