基于MongoDB的测试数据存储查询方法及系统的制作方法

文档序号:9787540阅读:922来源:国知局
基于MongoDB的测试数据存储查询方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据存储技术领域,更为具体地,涉及一种基于MongoDB的测试数据存储查询方法及系统。
【背景技术】
[0002]在企业生产制造的过程中,通常需要对各类产品、物料、设备等进行多样性的性能测试,以保证产品的质量。由于测试的侧重点和性能不同,例如有的需要对电子产品进行声学测试、音频测试、光学测试及气密性测试等,这些多种多样的测试站和测试项,给测试数据的存储、查询和解析带来很大的挑战。
[0003]测试数据的存储、查询和解析的主要难点在于:
[0004]1、不同的测试站由于测试原理和测试参数的不同,以及测试程式开发人员的技术和部门分布广泛,很难要求各个测试站采用统一的数据格式。比如有的数据格式为Json格式、有的数据格式为XML格式等,无法进行统一存储。
[0005]2、很多产品在生产过程中需要经过多个测试站,各个测试站所包涵的测试项个数也不统一,给关系型数据库存储带来挑战;虽然可以通过一定的数据库设计技巧来解决存储的问题,但是需要大量的存储空间,同时测试数据和关系型数据库之间的转换,也会极大消耗服务器的性能,降低系统的效率。
[0006]传统的测试数据存储管理方式大体有两种,一种是将测试数据以文件的形式存储在服务器硬盘中,并通过关系数据库的表进行路径管理,当查询的时候,先经过数据库表获得产品的测试文件路径,然后在磁盘指定位置解析各个测试文件,并进行其他分析;该方案虽然可以解决存储管理的问题,但是,在解析时需要逐一打开测试文件,频繁的1磁盘读写访问,极大影响磁盘和CPU的性能;同时对于要分析的测试数据,必须全部打开,一次加载内存,内存利用率也很差。
[0007]另一种是设计通用的关系型数据库表结构,通过多个表的联合存储实现多测试工站多测试项的存储,虽然极大的解决了存储和解析的性能。但是仍然需要对特定格式的测试数据逐一解析到表里,查询解析的时候,也需要将表里的测试数据还原回原始的状态,性能仍然不是很理想。并且,这种数据库表结构太依赖于具体业务,当业务有变动时,可能需要对表的字段,甚至整个表结构体系做修改。

【发明内容】

[0008]鉴于上传问题,本发明的目的是提供一种基于MongoDB的测试数据存储查询方法及系统,以解决上传【背景技术】中指出的问题。
[0009]本发明提供一种基于MongoDB的测试数据存储查询方法,包括预处理阶段、数据存储阶段和数据查询阶段;其中,
[0010]预处理阶段,包括:
[0011]将MongoDB数据库安装在服务器上,并分别对MongoDB数据库和服务器进行信息配置,以实现测试客户端通过服务器对MongoDB数据库的访问;
[0012]数据存储阶段,包括:
[0013]将测试客户端获得的测试数据上传至服务器;
[0014]调用封装中心将所述服务器接收到的测试数据封装成BSON格式;
[0015]调用MongoDB驱动连接MongoDB数据库,将BSON格式的测试数据插入进MongoDB数据库;
[0016]数据查询阶段,包括:
[0017]在服务器的查询页面上输入查询条件,
[0018]调用MongoDB驱动连接MongoDB数据库,在MongoDB数据库中查询与查询条件相应的测试数据。
[0019]本发明还提供一种基于MongoDB的测试数据存储查询系统,包括:
[0020]数据库安装单元,用于将MongoDB数据库安装在服务器上;
[0021]信息配置单元,用于分别对MongoDB数据库和服务器进行信息配置,以实现测试客户端通过服务器对MongoDB数据库的访问;
[0022]数据上传单元,用于将测试客户端获得的测试数据上传至服务器;
[0023]数据封装单元,用于调用封装中心将服务器接收到的测试数据封装成BSON格式;
[0024]数据插入单元,用于调用MongoDB驱动连接MongoDB数据库,将BSON格式的测试数据插入进MongoDB数据库;
[0025]查询条件输入单元,用于在服务器的查询页面上输入查询条件;
[0026]数据查询单元,用于调用MongoDB驱动连接MongoDB数据库,在MongoDB数据库中查询与查询条件相应的测试数据。
[0027]本发明提供的基于MongoDB的测试数据存储查询方法及系统,通过引入MongoDB数据库,将不同模型的测试数据统一封装成固定的格式,存储至MongoDB数据库,在查询测试数据时,直接动态构建查询条件在MongoDB数据库中进行查询,可以很方便的返回给业务人员进行查询和分析。由于MongoDB数据库面向集合存储,在将测试数据封装成固定的格式后,可直接插入MongoDB数据库中;并且,MongoDB数据库支持动态查询和完全索引,能够极大地提高查询速度。
[0028]为了实现上传以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
【附图说明】
[0029]通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
[0030]图1为根据本发明实施例的基于MongoDB的测试数据存储查询方法的流程示意图;
[0031]图2为根据本发明实施例的测试客户端、服务器、封装中心与MongoDB数据库的交互过程示意图;
[0032]图3为根据本发明实施例的基于MongoDB的测试数据存储查询系统的逻辑结构示意图。
[0033]在所有附图中相同的标号指示相似或相应的特征或功能。
【具体实施方式】
[0034]在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。在其它例子中,为了便于描述一个或多个实施例,公知的结构和设备以方框图的形式示出。
[0035]名词解释:
[0036]MongoDB数据库是一个介于关系数据库和非关系数据库之间的产品。MongoDB数据库支持的数据结构非常松散,因此,可以存储比较复杂的数据类型。MongoDB数据库的最大特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
[0037]由于MongoDB数据库支持任何业务类型的对象模型,将对象模型以BSON格式存储在MongoDB数据库中。因此,本发明根据测试数据的业务需要,制定统一的对象模型,将测试数据统一封装成制定的对象模型,存储至MongoDB数据库。如果业务有部分变动,只需要修改制定的对象模型即可,后台和MongoDB数据库都不需要改变。
[0038]图1示出了根据本发明实施例的基于MongoDB的测试数据存储查询方法的流程。
[0039]如图1所示,本发明实施例提供的基于MongoDB的测试数据存储查询方法,包括预处理阶段、数据存储阶段和数据查询阶段;其中,预处理阶段用于配置MongoDB数据库与服务器,服务器作为中间站,起到衔接测试客户端与MongoDB数据库的作用;数据存储阶段用于将测试客户端获得的测试数据封装成固定模型,存储到MongoDB数据库内;数据查询阶段用于查询MongoDB数据库内存储的测试数据。
[0040]在预处理阶段,包括:
[0041 ]步骤SI 10:将MongoDB数据库安装在服务器上,并分别对MongoDB数据库和服务器进行信息配置,以实现测试客户端通过服务器对MongoDB数据库的访问。
[0042]测试数据是通过测试客户端测试获得的,将MongoDB数据库安装在服务器上,实现测试客户端与服务器的通信,就能实现测试客户端与MongoDB数据库的通信,将测试数据存储在MongoDB数据库中。
[0043]具体地,对服务器进行的信息配置包括IP和端口的配置,完成ip和端口的配置后,测试客户端就可以通过配置的ip和端口连接到该服务器。
[0044I 对MongoDB数据库的信息配置包括MongoDB数据库的名称、用户名和密码的配置,在MongoDB数据库的名称、用户名和密码配置完成后,测试客户端就可以将测试数据通过配置的数据库名称传入具体的MongoDB数据库,且在访问MongoDB数据库时需要输入正确的用户名和密码。
[0045]在数据存储阶段,包括:
[0046]步骤S120:将测试客户端获得的测试数据上传至服务器。
[0047]上传数据的操作主体为测试客户端,测试客户端在完成产品测试后,将获得的测试数据上传至服务器。上传的具体过程为:测试客户端调用web应用接口,通过web应用接口调用服务器上的web服务,将测试数据上传至服务器。
[0048]步骤S130:调用封装中心将所述服务器接收到的测试数据封装成BSON格式。
[0049]此步骤中,是服务器调用封装中心,封装中心对上传至服务器的测试数据进行格式封装。
[0050]封装中心包括多个封装车间,每一个封装车间可以封装一种格式的测试数据,根据上传的测试数据的格式决定去哪个封装车间进行封装。因此,封装中心可以封装多种格式的测试数据,也就是将多种特定格式的测试数据封装成统一的对象模型,对象模型以BSON格式存储在MongoDB数据库中。
[0051 ] 步骤S140:调用MongoDB驱动连接MongoDB数据库,将BSON格式的测试数据插
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1