CN108920607B - 字段发现方法、装置及电子设备 - Google Patents
字段发现方法、装置及电子设备 Download PDFInfo
- Publication number
- CN108920607B CN108920607B CN201810685443.7A CN201810685443A CN108920607B CN 108920607 B CN108920607 B CN 108920607B CN 201810685443 A CN201810685443 A CN 201810685443A CN 108920607 B CN108920607 B CN 108920607B
- Authority
- CN
- China
- Prior art keywords
- name
- field
- access information
- names
- user access
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及互联网技术领域,具体而言,涉及一种字段发现方法、装置及电子设备。该方法包括:获得多个用户访问信息表,获得查询指令,解析查询指令得到待查询数据库名和访问时段,根据待查询数据库名和访问时段从多个用户访问信息表中查找出满足条件的所有用户访问信息表,统计查找出的所有用户访问信息表中包括的所有标示名,针对统计得到的每个标示名分别统计包括同一标示名的各用户访问信息表中的访问次数并累加,将累加之后的访问次数作为该标示名中的字段名在所述访问时段内的访问次数总和。该方法能够实时准确地统计出字段的访问情况,进而分析出热点、冷点数据信息,成本低且效率高。
Description
技术领域
本发明实施例涉及互联网技术领域,具体而言,涉及一种字段发现方法、装置及电子设备。
背景技术
随着互联网技术的发展,用户可以通过互联网查询、访问各种各样的数据信息。对于一个存储了海量数据信息的数据库,用户对数据的查询、访问存在极大的差别。在数据库的日常运行中,为了提高数据库的空间利用率,需要对热点、冷点数据信息的字段进行统计,将热点数据信息存放到高性能的存储器中,将冷点数据信息进行压缩或释放。现有的对热点、冷点数据信息的字段发现和统计的方法大多通过数据库管理人员的个人经验和业务人员的估计来进行,成本高且效率低下。
发明内容
有鉴于此,本发明提供了一种字段发现方法、装置及电子设备,能够实时准确地统计出字段的访问情况,进而分析出热点、冷点数据信息,成本低且效率高。
为实现上述目的,本发明实施例提供了一种字段发现方法,包括:
获得多个用户访问信息表,其中,各所述用户访问信息表中包括时间信息、数据库名、标示名和访问次数,所述标示名中包括字段名;
获得查询指令,解析所述查询指令得到待查询数据库名和访问时段;
根据所述待查询数据库名和所述访问时段从所述多个用户访问信息表中查找出数据库名与所述待查询数据库名匹配且时间信息满足所述访问时段的所有用户访问信息表;
统计查找出的所有用户访问信息表中包括的所有标示名,针对统计得到的每个标示名分别统计包括同一标示名的各用户访问信息表中的访问次数并累加,将累加之后的访问次数作为该标示名中的字段名在所述访问时段内的访问次数总和,从而得到与所述查询指令对应的至少一个字段名在所述访问时段内的访问次数总和。
可选地,获得多个用户访问信息表的步骤之前,所述方法还包括:
实时采集用户提交的查询语句以及该查询语句的提交时间;
将所述查询语句和所述提交时间进行缓存;
实时获取缓存的所述查询语句和所述提交时间,根据所述提交时间生成所述时间信息,根据所述查询语句查找出对应的数据库名和模式名,提取出所述查询语句中包含的表名与字段名;根据所述模式名、所述表名和所述字段名生成所述标示名;根据所述时间信息、所述数据库名、所述标示名生成用户访问信息表,将该用户访问信息表进行存储。
可选地,针对统计得到的每个标示名分别统计包括该同一标示名的各用户访问信息表中的访问次数并累加的步骤,包括:
判断统计得到的各个标示名中的模式名、表名和字段名是否一一对应,将所述模式名、所述表名和所述字段名一一对应的标示名作为同一标示名,统计同一标示名对应各用户访问信息表中的访问次数并累加。
可选地,实时采集用户提交的查询语句以及该查询语句的提交时间的步骤,包括:
设置监控日志文件并对所述监控日志文件进行监控;
获得所述监控日志文件中的新增日志文件内容,从所述新增日志文件内容中提取出所述查询语句和所述提交时间。
可选地,提取出所述查询语句中包含的表名与字段名的步骤,包括:
按照所述查询语句的格式编写配置文件;
将所述配置文件输入解析工具生成器;
获取所述解析工具生成器生成的解析结果,从所述解析结果中提取出所述表名与所述字段名。
可选地,根据所述模式名、所述表名和所述字段名生成所述标示名的步骤,包括:
判断所述表名和所述字段名是否完整;
若完整,根据所述模式名、所述表名和所述字段名生成所述标示名;
若不完整,访问元数据表,根据所述元数据表补全所述表名和所述字段名,根据所述模式名、补全之后的表名和补全之后的字段名生成所述标示名。
本发明实施例还提供了一种字段发现装置,包括:
用户访问信息表获取模块,用于获得多个用户访问信息表,其中,各所述用户访问信息表中包括时间信息、数据库名、标示名和访问次数,所述标示名中包括字段名;
查询指令获取解析模块,用于获得查询指令,解析所述查询指令得到待查询数据库名和访问时段;
用户访问信息表查找模块,用于根据所述待查询数据库名和所述访问时段从所述多个用户访问信息表中查找出数据库名与所述待查询数据库名匹配且时间信息满足所述访问时段的所有用户访问信息表;
字段访问次数总和发现模块,用于统计查找出的所有用户访问信息表中包括的所有标示名,针对统计得到的每个标示名分别统计包括同一标示名的各用户访问信息表中的访问次数并累加,将累加之后的访问次数作为该标示名中的字段名在所述访问时段内的访问次数总和,从而得到与所述查询指令对应的至少一个字段名在所述访问时段内的访问次数总和。
可选地,所述装置还包括:
采集模块,用于实时采集用户提交的查询语句以及该查询语句的提交时间;
缓存模块,用于将所述查询语句和所述提交时间进行缓存;
用户访问信息表生成模块,用于实时获取缓存的所述查询语句和所述提交时间,根据所述提交时间生成所述时间信息,根据所述查询语句查找出对应的数据库名和模式名,提取出所述查询语句中包含的表名与字段名;根据所述模式名、所述表名和所述字段名生成所述标示名;根据所述时间信息、所述数据库名、所述标示名生成用户访问信息表,将该用户访问信息表进行存储。
本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述字段发现方法。
本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在电子设备执行上述字段发现方法。
本发明实施例提供的字段发现方法、装置及电子设备,通过查询指令中包含的待查询数据库名和访问时段,从多个用户访问信息表中查找出不同字段的访问次数总和,能够清晰直观地统计出不同字段访问次数的高低,进而分析出不同字段对应的热点、冷点数据,成本低且效率高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的一种电子设备10的方框示意图。
图2为本发明实施例所提供的一种字段发现方法的流程图。
图3为本发明实施例所提供的一种用户访问信息表生成的流程图。
图4为一实施方式中图3所示的步骤S31包括的子步骤的示意图。
图5为一实施方式中图3所示的步骤S33包括的子步骤的示意图。
图6为本发明实施例所提供的一种标示名生成的流程图。
图7为本发明实施例所提供的一种字段发现装置20的模块框图。
图标:10-电子设备;11-存储器;12-处理器;13-网络模块;20-字段发现装置;21-用户访问信息表获取模块;22-查询指令获取解析模块;23-用户访问信息表查找模块;24-程序数据包发送模块;31-采集模块;32-缓存模块;33-用户访问信息表生成模块。
具体实施方式
随着互联网技术的发展,用户可以通过互联网查询、访问各种各样的数据信息。对于一个存储了海量数据信息的数据库,用户对数据的查询、访问存在极大的差别。在数据库的日常运行中,为了提高数据库的空间利用率,需要对热点、冷点数据信息的字段进行统计,将热点数据信息存放到高性能的存储器中,将冷点数据信息进行压缩或释放。
发明人经调查发现,现有的对热点、冷点数据信息的字段发现和统计的方法大多通过数据库管理人员的个人经验和业务人员的估计来进行,成本高且效率低下。
以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
基于上述研究,本发明实施例提供了一种字段发现方法、装置及电子设备,能够实时准确地统计出字段的访问情况,进而分析出热点、冷点数据信息,成本低且效率高。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
图1示出了本发明实施例所提供的一种电子设备10的方框示意图。本发明实施例中的电子设备10可以为具有数据存储、传输、处理功能的服务端,如图1所示,电子设备10包括:存储器11、处理器12、网络模块13和字段发现装置20。
存储器11、处理器12和网络模块13之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有字段发现装置20,所述字段发现装置20包括至少一个可以软件或固件(firmware)的形式储存于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,例如本发明实施例中的字段发现装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的字段发现方法。
其中,所述存储器11可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。
所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
网络模块13用于通过网络建立电子设备10与其他通信终端设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。
可以理解,图1所示的结构仅为示意,电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在电子设备10执行下面的字段发现方法。
图2示出了本发明实施例所提供的一种字段发现方法的流程图。所述方法有关的流程所定义的方法步骤应用于电子设备10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述:
在本实施例中,该字段发现方法的执行主体可以实体化为某个设备Device,可以理解,以下步骤均由Device实现。
步骤S21,获得多个用户访问信息表。
在本实施例中,Device会获得多个用户访问信息表,其中,各个用户访问信息表包括时间信息,数据库名,标示名和访问次数,其中,标示名包括模式名、表名和字段名。
在本实施例中,时间信息为之前用户C1向数据库提交查询语句的提交时间,例如,在之前某个时间t,用户C1向数据库提交查询语句“A股入摩”,那么时间t可以作为用户访问信息表中的时间信息,可以理解,Device获得的用户C1访问信息表可以是实时生成的,生成的执行主体也为Device,其中,用户访问信息表的生成将在之后进行说明。
可以理解,模式名+表名+字段名用来对字段名进行唯一标示。为了便于说明,本实施例通过举例的方式列出多个用户访问信息表的详细信息。请参阅表1、表2、表3和表4。
表1
表2
表3
表4
由表1~4可见,每个用户访问信息表中的内容有相同的也有不相同的,Device可以通过对每个用户访问信息表进行分析,得到不同字段名的访问次数,进而供分析人员判断字段名的冷热程度。
步骤S22,获得查询指令,解析查询指令得到待查询数据库名和访问时段。
例如,用户C2想要查询数据库db在4月份这个访问时间段内的各个字段的访问次数,用户C2可以通过向Device输入查询指令进行查询。
又例如,用户C2输入的查询指令为:“数据库名db,访问时段2018.4.1-4.30”。
相应地,Device获得查询指令,解析查询指令得到待查询数据库名“db”和访问时段“2018.4.1-4.30”。可以理解,这两个信息用于初步筛选所要的字段名。
步骤S23,根据待查询数据库名和访问时段从多个用户访问信息表中查找出数据库名与待查询数据库名匹配且时间信息满足访问时段的所有用户访问信息表。
请结合参阅表1-4,数据库名与待查询数据库名匹配且时间信息满足访问时段的用户访问信息表为表2、表3和表4。
步骤S24,统计查找出的所有用户访问信息表中包括的所有标示名,针对统计得到的每个标示名分别统计包括同一标示名的各用户访问信息表中的访问次数并累加,将累加之后的访问次数作为该标示名中的字段名在所述访问时段内的访问次数总和。
可以理解,针对表2、表3和表4的所有标示名有两个,即N1+M1+x和N2+M1+x,每个标示名对应一个或多个用户访问信息表,又例如,标示名为N1+M1+x的用户访问信息表为表2和表3,标示名为N2+M1+x的用户访问信息表为表4。
分别统计N1+M1+x和N2+M1+x对应的用户访问信息表中的访问次数并累加。
又例如,N1+M1+x对应表2和表3,则N1+M1+x对应的访问次数为5+10。N2+M1+x对应表4,则N2+M1+x对应的访问次数为3。
将累加之后的访问次数作为该标示名中的字段名在所述访问时段内的访问次数总和。可以理解,标示名N1+M1+x与N2+M1+x虽然存在相同的字段名x,但由于模式名不同,因此标示名N1+M1+x与标示名N2+M1+x中的字段名x也应当分开计算。
通过上述方法能够实时准确地统计出某个数据库在某个时间段内,哪些表名的哪些字段名的访问次数总和,研究人员可根据这些访问次数总和分析热点字段和冷点字段。
可选地,用户C2还可以通过该方法查询“db”数据库中的某个月访问次数最多的前几个字段。
应当理解,获得的访问次数总和可以按一定的预设规则进行整理、排列、筛选或删减。
可选地,用户C2还可以通过该方法查询特定字段名在某一段时间内的访问次数总和,例如,用户C2发起的查询指令可以为查询“字段名k在2018年2月内的访问次数总和”,可以理解,通过上述字段发现方法可以得到如表5所示的如下结果:
表5
在表5中,H代表数据库名,每个括号中的字母从左到右依次代表模式名、表名和字段名,通过表5可以得到特定字段的较为全面、综合的访问次数总和。通过上述步骤可以发现,用户访问信息表对于该字段发现方法而言较为重要,之前也提到,Device也可以实时生成用户访问信息表。下面对用户访问信息表的生成作进一步说明,请参阅图3,为本发明实施例所提供的一种用户访问信息表生成的流程图,下面将对图3所示的具体流程进行详细阐述:
步骤S31,实时采集用户提交的查询语句以及该查询语句的提交时间。
例如,Device从数据库中实时采集用户C1提交的查询语句“A股入摩”以及提交时间t。
可以理解,Device可以采集多个数据库中的信息。
请结合参阅图4,本实施例中通过步骤S311和步骤S312列举了步骤S31的其中一种实现方式。
步骤S311,设置监控日志文件并对监控日志文件进行监控。
步骤S312,获得监控日志文件中的新增日志文件内容,从新增日志文件内容中提取出查询语句和提交时间。
步骤S32,将查询语句和提交时间进行缓存。
Device可以从缓存的查询语句和提交时间中提取相应信息。
步骤S33,实时获取缓存的查询语句和所述提交时间,根据提交时间生成时间信息,根据查询语句查找出对应的数据库名和模式名,提取出查询语句中包含的表名与字段名;根据模式名、表名和字段名生成标示名;根据时间信息、数据库名、标示名生成用户访问信息表,将该用户访问信息表进行存储。
可以理解,Device不断地采集缓存的查询语句和提交时间并进行后续操作。进一步地,请参阅图5,Device通过步骤S331、步骤S332和步骤S333实现对查询语句中包含的表名与字段名的提取。
步骤S331,按照所查询语句的格式编写配置文件。
步骤S332,将配置文件输入解析工具生成器。
步骤S333,获取解析工具生成器生成的解析结果,从解析结果中提取出表名与字段名。
其中,工具生成器可以为ANTLR、yacc或lex等工具。
进一步地,请参阅图6,Device通过步骤S334、步骤S335和步骤S336实现标示名的生成。
步骤S334,判断表名和字段名是否完整。
步骤S335,若完整,根据模式名、表名和字段名生成标示名。
步骤S336,若不完整,访问元数据表,根据元数据表补全表名和字段名,根据模式名、补全之后的表名和补全之后的字段名生成所述标示名。
由于初步提取出的表名和字段名可能因为其中采用了星号“*”以代表所有字段,因此需要访问数据库的元数据表,将星号所代表的所有字段名称都查询出来。也有可能因为用户设置了默认模式,因此并未在查询语句中填写表的模式,因此也需要去查询数据库的元数据表,以补全模式信息。
由步骤S31、步骤S32和步骤S33可以生成多个用户信息访问表,为字段发现的操作提供了数据基础。
在上述基础上,如图7所示,本发明实施例提供了一种字段发现装置20,所述字段发现装置20包括:用户访问信息表获取模块21、查询指令获取解析模块22、用户访问信息表查找模块23和字段访问次数总和发现模块24。
用户访问信息表获取模块21,用于获得多个用户访问信息表,其中,各所述用户访问信息表中包括时间信息、数据库名、标示名和访问次数,所述标示名中包括字段名。
由于用户访问信息表获取模块21和图2中步骤S21的实现原理类似,因此在此不作更多说明。
查询指令获取解析模块22,用于获得查询指令,解析所述查询指令得到待查询数据库名和访问时段。
由于查询指令获取解析模块22和图2中步骤S22的实现原理类似,因此在此不作更多说明。
用户访问信息表查找模块23,用于根据所述待查询数据库名和所述访问时段从所述多个用户访问信息表中查找出所述数据库名与所述待查询数据库名匹配且所述时间信息满足所述访问时段的所有用户访问信息表。
由于用户访问信息表查找模块23和图2中步骤S23的实现原理类似,因此在此不作更多说明。
程序数据包发送模块24,用于统计查找出的所有用户访问信息表中包括的所有标示名,针对统计得到的每个标示名分别统计包括同一标示名的各用户访问信息表中的访问次数并累加,将累加之后的访问次数作为该标示名中的字段名在所述访问时段内的访问次数总和,从而得到与所述查询指令对应的至少一个字段名在所述访问时段内的访问次数总和。
由于程序数据包发送模块24和图2中步骤S24的实现原理类似,因此在此不作更多说明。
请继续参阅图7,该字段发现装置20还包括采集模块31、缓存模块32和用户访问信息表生成模块33。
采集模块31,用于实时采集用户提交的查询语句以及该查询语句的提交时间。
由于采集模块31和图3中步骤S31的实现原理类似,因此在此不作更多说明。
缓存模块32,用于将所述查询语句和所述提交时间进行缓存。
由于缓存模块32和图3中步骤S32的实现原理类似,因此在此不作更多说明。
用户访问信息表生成模块33,用于实时获取缓存的所述查询语句和所述提交时间,根据所述提交时间生成所述时间信息,根据所述查询语句查找出对应的数据库名和模式名,提取出所述查询语句中包含的表名与字段名;根据所述模式名、所述表名和所述字段名生成所述标示名;根据所述时间信息、所述数据库名、所述标示名生成用户访问信息表,将该用户访问信息表进行存储。
由于用户访问信息表生成模块33和图3中步骤S33的实现原理类似,因此在此不作更多说明。
综上,本发明实施例所提供的字段发现方法、装置及电子设备,能够实时准确地统计出字段在设定时段内的访问次数总和,进而分析出热点、冷点数据信息,成本低且效率高。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种字段发现方法,其特征在于,包括:
获得多个用户访问信息表,其中,各所述用户访问信息表中包括时间信息、数据库名、标示名和访问次数,所述标示名中包括字段名;
获得查询指令,解析所述查询指令得到待查询数据库名和访问时段;
根据所述待查询数据库名和所述访问时段从所述多个用户访问信息表中查找出数据库名与所述待查询数据库名匹配且时间信息满足所述访问时段的所有用户访问信息表;
统计查找出的所有用户访问信息表中包括的所有标示名,针对统计得到的每个标示名分别统计包括同一标示名的各用户访问信息表中的访问次数并累加,将累加之后的访问次数作为该标示名中的字段名在所述访问时段内的访问次数总和,从而得到与所述查询指令对应的至少一个字段名在所述访问时段内的访问次数总和;
其中,所述获得多个用户访问信息表的步骤之前,所述方法还包括:
实时采集用户提交的查询语句以及该查询语句的提交时间;
将所述查询语句和所述提交时间进行缓存;
实时获取缓存的所述查询语句和所述提交时间,根据所述提交时间生成所述时间信息,根据所述查询语句查找出对应的数据库名和模式名,提取出所述查询语句中包含的表名与字段名;根据所述模式名、所述表名和所述字段名生成所述标示名;根据所述时间信息、所述数据库名、所述标示名生成用户访问信息表,将该用户访问信息表进行存储。
2.根据权利要求1所述的字段发现方法,其特征在于,针对统计得到的每个标示名分别统计包括该同一标示名的各用户访问信息表中的访问次数并累加的步骤,包括:
判断统计得到的各个标示名中的模式名、表名和字段名是否一一对应,将所述模式名、所述表名和所述字段名一一对应的标示名作为同一标示名,统计同一标示名对应各用户访问信息表中的访问次数并累加。
3.根据权利要求1所述的字段发现方法,其特征在于,实时采集用户提交的查询语句以及该查询语句的提交时间的步骤,包括:
设置监控日志文件并对所述监控日志文件进行监控;
获得所述监控日志文件中的新增日志文件内容,从所述新增日志文件内容中提取出所述查询语句和所述提交时间。
4.根据权利要求1所述的字段发现方法,其特征在于,提取出所述查询语句中包含的表名与字段名的步骤,包括:
按照所述查询语句的格式编写配置文件;
将所述配置文件输入解析工具生成器;
获取所述解析工具生成器生成的解析结果,从所述解析结果中提取出所述表名与所述字段名。
5.根据权利要求4所述的字段发现方法,其特征在于,根据所述模式名、所述表名和所述字段名生成所述标示名的步骤,包括:
判断所述表名和所述字段名是否完整;
若完整,根据所述模式名、所述表名和所述字段名生成所述标示名;
若不完整,访问元数据表,根据所述元数据表补全所述表名和所述字段名,根据所述模式名、补全之后的表名和补全之后的字段名生成所述标示名。
6.一种字段发现装置,其特征在于,包括:
用户访问信息表获取模块,用于获得多个用户访问信息表,其中,各所述用户访问信息表中包括时间信息、数据库名、标示名和访问次数,所述标示名中包括字段名;
查询指令获取解析模块,用于获得查询指令,解析所述查询指令得到待查询数据库名和访问时段;
用户访问信息表查找模块,用于根据所述待查询数据库名和所述访问时段从所述多个用户访问信息表中查找出数据库名与所述待查询数据库名匹配且时间信息满足所述访问时段的所有用户访问信息表;
字段访问次数总和发现模块,用于统计查找出的所有用户访问信息表中包括的所有标示名,针对统计得到的每个标示名分别统计包括同一标示名的各用户访问信息表中的访问次数并累加,将累加之后的访问次数作为该标示名中的字段名在所述访问时段内的访问次数总和,从而得到与所述查询指令对应的至少一个字段名在所述访问时段内的访问次数总和;
其中,所述装置还包括:
采集模块,用于实时采集用户提交的查询语句以及该查询语句的提交时间;
缓存模块,用于将所述查询语句和所述提交时间进行缓存;
用户访问信息表生成模块,用于实时获取缓存的所述查询语句和所述提交时间,根据所述提交时间生成所述时间信息,根据所述查询语句查找出对应的数据库名和模式名,提取出所述查询语句中包含的表名与字段名;根据所述模式名、所述表名和所述字段名生成所述标示名;根据所述时间信息、所述数据库名、所述标示名生成用户访问信息表,将该用户访问信息表进行存储。
7.一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1~5任一项所述的字段发现方法。
8.一种计算机可读存储介质,其特征在于,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在电子设备执行权利要求1~5任一项所述的字段发现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810685443.7A CN108920607B (zh) | 2018-06-27 | 2018-06-27 | 字段发现方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810685443.7A CN108920607B (zh) | 2018-06-27 | 2018-06-27 | 字段发现方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108920607A CN108920607A (zh) | 2018-11-30 |
CN108920607B true CN108920607B (zh) | 2020-12-25 |
Family
ID=64421850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810685443.7A Active CN108920607B (zh) | 2018-06-27 | 2018-06-27 | 字段发现方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108920607B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580322B (zh) * | 2019-09-18 | 2022-03-15 | 北京百度网讯科技有限公司 | 独立访客信息处理的方法、装置、电子设备及存储介质 |
CN111125158B (zh) * | 2019-11-08 | 2023-03-31 | 泰康保险集团股份有限公司 | 数据表处理方法、装置、介质及电子设备 |
CN111143433A (zh) * | 2019-12-10 | 2020-05-12 | 中国平安财产保险股份有限公司 | 一种统计数据仓数据的方法及装置 |
CN113127502B (zh) * | 2019-12-31 | 2024-05-03 | 深圳云天励飞技术有限公司 | 关系型数据库动态扩展的方法、装置及终端设备 |
CN114428822B (zh) * | 2022-01-27 | 2022-07-29 | 云启智慧科技有限公司 | 一种数据处理的方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001059660A1 (en) * | 2000-02-11 | 2001-08-16 | Marcio Marc Abreu | System and method for communicating product recall information, product warnings or other product-related information to users of products |
CN107368517A (zh) * | 2017-06-02 | 2017-11-21 | 上海恺英网络科技有限公司 | 一种大数据流查询的方法及设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8543566B2 (en) * | 2003-09-23 | 2013-09-24 | Salesforce.Com, Inc. | System and methods of improving a multi-tenant database query using contextual knowledge about non-homogeneously distributed tenant data |
EP2063364A1 (en) * | 2007-11-19 | 2009-05-27 | Siemens Aktiengesellschaft | Module for building database queries |
CN101860553A (zh) * | 2009-04-10 | 2010-10-13 | 北京闻言科技有限公司 | 一种精准统计手机客户端内容点播次数的方法 |
US20100318489A1 (en) * | 2009-06-11 | 2010-12-16 | Microsoft Corporation | Pii identification learning and inference algorithm |
CN103092867B (zh) * | 2011-11-03 | 2017-02-01 | 中国移动通信集团甘肃有限公司 | 一种数据管理方法及系统、数据分析装置 |
CN105630803B (zh) * | 2014-10-30 | 2019-07-05 | 国际商业机器公司 | 文档型数据库建立索引的方法和装置 |
CN106210044B (zh) * | 2016-07-11 | 2019-06-11 | 焦点科技股份有限公司 | 一种基于访问行为的活跃用户识别方法 |
CN106776706A (zh) * | 2016-11-16 | 2017-05-31 | 航天恒星科技有限公司 | 基于缓存的用户权限管理方法及装置 |
-
2018
- 2018-06-27 CN CN201810685443.7A patent/CN108920607B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001059660A1 (en) * | 2000-02-11 | 2001-08-16 | Marcio Marc Abreu | System and method for communicating product recall information, product warnings or other product-related information to users of products |
CN107368517A (zh) * | 2017-06-02 | 2017-11-21 | 上海恺英网络科技有限公司 | 一种大数据流查询的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108920607A (zh) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108920607B (zh) | 字段发现方法、装置及电子设备 | |
CN108829858B (zh) | 数据查询方法、装置及计算机可读存储介质 | |
CN108509326B (zh) | 一种基于nginx日志的服务状态统计方法及系统 | |
CN105653537B (zh) | 一种数据库应用系统的分页查询方法和装置 | |
CN110019486A (zh) | 数据采集方法、装置、设备及存储介质 | |
CN104281672A (zh) | 日志数据的处理方法和装置 | |
US20090222426A1 (en) | Computer-Implemented System And Method For Analyzing Search Queries | |
CN103942210A (zh) | 海量日志信息的处理方法、装置与系统 | |
EP2657854A1 (en) | Method and system for incremental collection of forum replies | |
CN108304444A (zh) | 信息查询方法及装置 | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
CN106933906B (zh) | 数据多维度的查询方法及装置 | |
US20130185429A1 (en) | Processing Store Visiting Data | |
CN111190792B (zh) | 一种日志存储的方法、装置、电子设备及可读存储介质 | |
CN105389352A (zh) | 日志处理方法和装置 | |
CN103970871A (zh) | 存储系统中基于溯源信息的文件元数据查询方法与系统 | |
CN105096023A (zh) | 工作标准相关数据的推送系统和方法 | |
CN104636386A (zh) | 信息监控方法及装置 | |
CN107729428A (zh) | 一种基于Presto和Elasticsearch的SQL查询方法 | |
CN112800083B (zh) | 一种面向政府决策的政务大数据分析方法及设备 | |
CN114253995A (zh) | 数据溯源方法、装置、设备及计算机可读存储介质 | |
CN110019077A (zh) | 日志查询方法、装置、设备及计算机可读存储介质 | |
CN112634004A (zh) | 征信数据的血缘图谱分析方法与系统 | |
CN115510289B (zh) | 一种数据立方体配置方法、装置、电子设备及存储介质 | |
CN112131215B (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 |