一种基于MongoDB数据库的统计方法技术

技术编号:21571228 阅读:17 留言:0更新日期:2019-07-10 15:20
本发明专利技术提出了一种基于MongoDB数据库的统计方法,包括以下步骤:S100)通过指令定义待访问一个或多个服务器的IP地址、端口号、用户名,密码以及待统计的数据库集合名称;S200)客户端通过IP地址、端口号、用户名和密码连接远程服务器并访问一个或多个服务器中的数据库;S300)获取一个或多个服务器中的数据库所有的库名称,并遍历所有库,得到每个库下的包含所有待统计的数据库集合名称的数据库集合的属性关系数据,并具有完全相同的数据库集合相应的关系数据进行累加得到数据库集合的对应关系数据并存储与存储装置中;S400)展示数据库集合的对应关系数据。

A Statistical Method Based on MongoDB Database

【技术实现步骤摘要】
一种基于MongoDB数据库的统计方法
本专利技术涉及服务端测试领域,特别涉及一种基于MongoDB数据库的统计方法。
技术介绍
大业务场景下,分库分表是必然的。而采用MongoDB作为存储介质已经是一种十分流行的趋势。但是MongoDB在库占用方面的操作实在繁琐,需要登录机器,进入库,执行命令,然后进行一系列的操作后才能得到想要的数据。在庞大的数据库数据集下,这种操作方法是低效且无法忍受的。另一种场景是,需要找到数据热点,即数据库活跃度的分布,或者不同数据库占用的比例。从而针对不同的输几局库,采取必要的措施,如加大清理数据的力度,分表等。这样,需要一种可以看到MongoDB整体的数据,看到指定collections的统计数据,就如同我们登陆了机器,进入MongoDB执行各类命令一样的统计方法,虽然现有的MongoDB提供各类统计命令,但是这些命令的操作比较繁杂,且不是很直观,更没有办法得到各个库表的汇总统计。既要得到整体数据(索引大小、数据条数、物理占用空间、数据大小等等),同时希望直观的看到数据的大小排序,也就是要有数据占比,同时,要求分布式监控,即远程获取多台机器的数据,而不是单点获取。
技术实现思路
本专利技术针对现有技术不能针对多库多表的一次性操作,进行跨数据库统计的问题,提出了一种基于MongoDB数据库的统计方法。首先,本专利技术提出一种基于MongoDB数据库的统计方法,包括以下步骤:S100)通过指令定义待访问一个或多个服务器和/数据库的IP地址、端口号、用户名、密码以及待统计的数据库集合名称;S200)客户端通过IP地址、端口号、用户名和密码连接远程服务器并访问一个或多个服务器中的数据库;S300)获取一个或多个服务器中的数据库所有的库名称,并遍历所有库,得到每个库下的包含所有待统计的数据库集合名称的数据库集合的属性关系数据,并具有完全相同的数据库集合相应的关系数据进行累加得到数据库集合的对应关系数据并存储与存储装置中;其中,所述对应关系包括以下项目中的至少一个、数据量、文件大小、文件大小占比、数据大小、数据大小占比、存储大小、存储大小占比、平均对象大小、索引数量以及索引空间大小;S400)展示数据库集合的对应关系数据。进一步,在本专利技术提出的上述方法中,步骤S200还包括以下子步骤:S201)客户端使用通信方法向服务器和/或数据库发送访问请求;S202)服务器和/或数据库接收客户端发来的访问请求并判断访问请求是否包含授权信息,若不包含,则向客户端发送带有服务器和/或数据库生成的第一认证数据的未授权信息,若包含,则允许客户端访问服务器和/或数据库;S203)客户端收到发自服务器和/或数据库的未授权信息并提取所述第一认证数据,采用第一算法,以及第一认证数据,服务器和/或数据库用户名和服务器和/或数据库密码生成第二认证数据,并将第二认证数据发送至服务器和/数据库;S204)服务器和/或数据库收到发自客户端的第二认证数据后,采用第一算法以及第一认证数据,服务器和/或数据库用户名和服务器和/或数据库密码产生第三认证数据,并判断第三认证数据是否与第二认证数据一致,如一致,则允许客户端访问服务器和/或数据库,如不一致,则拒绝访问请求。具体地,在办专利技术提出的上述方法中,所述第一算法为消息摘要算法。具体地,在办专利技术提出的上述方法中,所述消息摘要算法为以下算法的至少一种:MD算法、SHA算法及MAC算法。进一步,在本专利技术提出的上述方法中,所述第一认证数据为服务器和/数据库生成的随机数据。进一步,在本专利技术提出的上述方法中,所述通信方法至少包括以下一种:有线通信方法,无线通信方法。进一步,在本专利技术提出的上述方法中,所述无线通信方法至少包括以下一种:2G、3G、4G、5G和Wi-Fi。进一步,在本专利技术提出的上述方法中,步骤S300还包括以下子步骤:指定所述对应关系中的一个,并以所指定的对应关系,按照升序或降序的方法对数据库集合的对应关系数据进行排序。其次,本专利技术提出一种基于MongoDB数据库的统计装置,包括以下模块:定义模块,用于通过指令定义待访问一个或多个服务器和/数据库的IP地址、端口号、用户名、密码以及待统计的数据库集合名称;访问模块,用于客户端通过IP地址、端口号、用户名和密码连接远程服务器并访问一个或多个服务器中的数据库;获取模块,用于获取一个或多个服务器中的数据库所有的库名称,并遍历所有库,得到每个库下的包含所有待统计的数据库集合名称的数据库集合的属性关系数据,并具有完全相同的数据库集合相应的关系数据进行累加得到数据库集合的对应关系数据并存储与存储装置中;其中,所述对应关系包括以下项目中的至少一个,数据量、文件大小、文件大小占比、数据大小、数据大小占比、存储大小、存储大小占比、平均对象大小、索引数量以及索引空间大小;展示模块,用于展示数据库集合的对应关系数据。最后,本专利技术提出一种计算机可读存储介质,其上存储有计算机指令,所述指令用于执行上述的方法。本专利技术的有益成果是:通过本专利技术所提出的方法可以针对远程数据库中的多个库中的多个表,一键获取其占用资源的各个统计数据,并得到类似报表,供研发或者DBA参考,即可用户数据量的观测,也可作为数据清理的依据。附图说明图1所示为本申请所提出的一种基于MongoDB数据库的统计方法的网络拓扑图;图2所示为本申请所提出的一种基于MongoDB数据库的统计方法的第一实施例流程图;图3所示为本申请所提出的一种基于MongoDB数据库的统计方法的第二实施例流程图;图4所示为本申请所提出的一种基于MongoDB数据库的统计方法的第二实施例信息流向图;图5所示为本申请所提出的一种基于MongoDB数据库的统计方法的第三实施例统计表;图6所示为本申请所提出的一种基于MongoDB数据库的统计方法的MongoDB数据库的数据文件结构;图7所示为本申请所提出的一种基于MongoDB数据库的统计方法的第四实施例统计表;图8所示为本申请所提出的一种基于MongoDB数据库的统计方法的第五实施例统计表;图9所示为本申请所提出的一种基于MongoDB数据库的统计方法的第五实施例统计饼图;图10所示为本申请所提出的一种基于MongoDB数据库的统计装置的框架图。具体实施方式以下将结合实施例和附图对本专利技术的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本专利技术的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。附图中各处使用的相同的附图标记指示相同或相似的部分。需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本申请中所使用的上、下、左、右等描述仅仅是相对于附图中本申请各组成部分的相互位置关系来说的。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本
的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所本文档来自技高网
...

【技术保护点】
1.一种基于MongoDB数据库的统计方法,其特征在于,包括以下步骤:S100)通过指令定义待访问一个或多个服务器和/数据库的IP地址、端口号、用户名、密码以及待统计的数据库集合名称;S200)客户端通过IP地址、端口号、用户名和密码连接远程服务器并访问一个或多个服务器中的数据库;S300)获取一个或多个服务器中的数据库所有的库名称,并遍历所有库,得到每个库下的包含所有待统计的数据库集合名称的数据库集合的属性关系数据,并具有完全相同的数据库集合相应的关系数据进行累加得到数据库集合的对应关系数据并存储与存储装置中;S400)展示数据库集合的对应关系数据;其中,所述对应关系包括以下项目中的至少一个:数据量、文件大小、文件大小占比、数据大小、数据大小占比、存储大小、存储大小占比、平均对象大小、索引数量以及索引空间大小。

【技术特征摘要】
1.一种基于MongoDB数据库的统计方法,其特征在于,包括以下步骤:S100)通过指令定义待访问一个或多个服务器和/数据库的IP地址、端口号、用户名、密码以及待统计的数据库集合名称;S200)客户端通过IP地址、端口号、用户名和密码连接远程服务器并访问一个或多个服务器中的数据库;S300)获取一个或多个服务器中的数据库所有的库名称,并遍历所有库,得到每个库下的包含所有待统计的数据库集合名称的数据库集合的属性关系数据,并具有完全相同的数据库集合相应的关系数据进行累加得到数据库集合的对应关系数据并存储与存储装置中;S400)展示数据库集合的对应关系数据;其中,所述对应关系包括以下项目中的至少一个:数据量、文件大小、文件大小占比、数据大小、数据大小占比、存储大小、存储大小占比、平均对象大小、索引数量以及索引空间大小。2.根据权利要求1所述的方法,其特征在于,步骤S200还包括以下子步骤:S201)客户端使用通信方法向服务器和/或数据库发送访问请求;S202)服务器和/或数据库接收客户端发来的访问请求并判断访问请求是否包含授权信息,若不包含,则向客户端发送带有服务器和/或数据库生成的第一认证数据的未授权信息,若包含,则允许客户端访问服务器和/或数据库;S203)客户端收到发自服务器和/或数据库的未授权信息并提取所述第一认证数据,采用第一算法,以及第一认证数据,服务器和/或数据库用户名和服务器和/或数据库密码生成第二认证数据,并将第二认证数据发送至服务器和/数据库;S204)服务器和/或数据库收到发自客户端的第二认证数据后,采用第一算法以及第一认证数据,服务器和/或数据库用户名和服务器和/或数据库密码产生第三认证数据,并判断第三认证数据是否与第二认证数据一致,如一致,则允许客户端访问服务器和/或数据库,如不一致,则拒绝访问请求。3....

【专利技术属性】
技术研发人员:郭申杨明邦赖炳新
申请(专利权)人:珠海金山网络游戏科技有限公司珠海西山居移动游戏科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1