一种数据查询方法、装置、服务器以及系统制造方法及图纸

技术编号:19023372 阅读:22 留言:0更新日期:2018-09-26 19:03
本发明专利技术提供一种数据查询方法、装置、服务器以及系统。所述方法通过所述安全日志模块数据查询请求进行第一类安全检测,数据库服务模块对数据查询请求进行第二类安全检测;安全日志模块对数据库服务模块返回的数据查询请求进行日志记录,并触发数据库查询模块根据所述请求构造数据查询语句;所述数据库服务模块根据所述数据查询语句进行数据查询;用户交互模块根据查询结果生成结果文件,并向用户设备发送文件下载提示。本发明专利技术能够实现对于用户查询的快速响应,根据用户输入定制查询结果,基于对用户查询请求的第一类安全检测和基于对于用户查询请求执行结果的第二类安全检查,有效避免SQL注入和过量查询对于服务器的影响。

【技术实现步骤摘要】
一种数据查询方法、装置、服务器以及系统
本专利技术属于互联网
,具体涉及一种数据查询方法、装置以及系统。
技术介绍
数据查询和数据订阅是互联网中数据获取的两种主要方法。对于用户新提交的数据查询需求,现有各业务系统需要走一套完整的需求受理、需求实现、结果测试、需求上线的流程。整个功能上线的周期长、各方面的牵扯也比较复杂。所以如果数据查询需求只是服务VIP用户的非一般性需求,现有技术往往转由运维人员直接访问数据库进行数据查询,然后导出结果给用户。但假如这些需求是高频查询或需要即时反馈的,那么就往往给用户和运维人员带来较大的成本和效率等方面的问题。在数据订阅方面:推送报表是数据订阅的主要手段,对于报表的生成当前已有非常成熟的技术,但现在的各类报表平台做得非常重,使用起来需要一定的知识背景。并且接入这类报表系统往往会给业务系统带来许多复杂性、安全性等方面的问题,特别是当VIP用户只需要简单的诸如监控预警、统计总结之类的报表,还不如让运维人员直接从数据库中导出数据,然后用Excel生成报表——这也是现有技术的惯用做法,但其效率和成本依然是难以忽视的瓶颈。现有技术在为VIP用户服务时,在数据查询方面比较难以满足其非一般性需求存在的高频查询和即时反馈的要求;在报表服务方面又很容易受到来自系统复杂性、安全性、效率和成本等方面的挑战。
技术实现思路
为了解决现有技术中存在的问题,本专利技术实施例提供了一种数据查询方法、装置以及系统。所述技术方案如下:第一方面,提供一种数据查询方法,所述方法包括如下步骤:用户交互模块接收来自用户终端的数据查询请求,并将所述数据查询请求发送至安全日志模块;所述安全日志模块接收来自所述用户交互模块的数据查询请求,对所述数据查询请求进行第一类安全检测,若通过所述第一类安全检测,将所述请求发送至数据库服务模块;所述数据库服务模块对所述数据查询请求进行第二类安全检测,若通过所述第二类安全检测,将数据查询请求返回所述安全日志模块;所述安全日志模块对所述数据库服务模块返回的数据查询请求进行安全日志记录,并触发数据库查询模块根据所述请求构造数据查询语句,将所述数据查询语句发送至数据库服务模块;所述数据库服务模块根据所述数据查询语句进行数据查询,并将查询结果返回至用户交互模块;所述用户交互模块接收所述查询结果,根据所述查询结果生成结果文件,将所述结果文件存储于文件服务模块,并向所述用户设备发送文件下载提示。第二方面,提供一种数据查询装置,所述装置包括:用户交互模块,用于接收来自用户终端的数据查询请求,并将所述数据查询请求发送至安全日志模块;所述用户交互模块还用于接收所述查询结果,根据所述查询结果生成结果文件,将所述结果文件存储于文件服务模块,并向所述用户设备发送文件下载提示;安全日志模块,用于接收来自所述用户交互模块的数据查询请求,对所述数据查询请求进行第一类安全检测,若通过所述第一类安全检测,将所述请求发送至数据库服务模块;所述安全日志模块还用于对所述数据库服务模块返回的数据查询请求进行安全日志记录,并触发数据库查询模块根据所述请求构造数据查询语句,将所述数据查询语句发送至数据库服务模块;数据库服务模块,用于对所述数据查询请求进行第二类安全检测,若通过所述第二类安全检测,将数据查询请求返回所述安全日志模块;所述数据库服务模块还用于根据所述数据查询语句进行数据查询,并将查询结果返回至用户交互模块。第三方面,提供一种数据查询方法,所述方法包括:接收数据查询请求,对所述数据查询请求进行第一类安全检测,若通过所述第一类安全检测,将所述请求发送至数据库服务模块,以使得所述数据库服务模块对所述数据查询请求进行第二类安全检测;并接收所述数据库服务模块返回的第二类安全检测结果;对所述数据库服务模块返回的数据查询请求进行安全日志记录,并根据所述请求构造数据查询语句,将所述数据查询语句发送至数据库服务模块,以使得所述数据库服务模块根据所述数据查询语句进行数据查询。第四方面,提供一种数据查询装置,所述装置包括如下模块:安全日志模块,用于接收数据查询请求,对所述数据查询请求进行第一类安全检测,若通过所述第一类安全检测,将所述请求发送至数据库服务模块,以使得所述数据库服务模块对所述数据查询请求进行第二类安全检测;并对所述数据库服务器返回的数据查询请求进行安全日志记录;数据查询模块,根据所述数据查询请求构造数据查询语句,将所述数据查询语句发送至数据库服务模块,以使得所述数据库服务模块根据所述数据查询语句进行数据查询。第五方面,提供一种服务器,包含前述的数据查询装置。第六方面,提供一种数据查询系统,包含前述的数据查询装置。本专利技术能够达到如下有益效果:本专利技术实施例提供的数据查询方法和数据查询装置能够实现对于用户查询的快速响应,根据用户输入定制查询结果,基于对用户查询请求的第一类安全检测和基于对于用户查询请求执行结果的第二类安全检查,有效避免SQL注入和过量查询对于服务器的影响。附图说明下面结合附图对本专利技术的具体实施方式作进一步详细的说明;图1是本专利技术实施例提供的一种实施环境的示意图。图2是本专利技术实施例提供的数据查询系统结构示意图。图3是本专利技术实施例提供的工作原理示意性流程图。图4是本专利技术实施例提供的数据查询方法流程图。图5是本专利技术实施例提供的数据查询方法流程图。图6是本专利技术实施例提供的数据查询方法流程图。图7是本专利技术实施例提供的数据查询方法流程图。图8是本专利技术实施例提供的服务器终端结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。本专利技术实施例涉及的技术术语如下:VIP用户:数量不大,但需要得到快速响应的用户群体,比如系统管理员、游戏管理员(GameMaster)、论坛管理员等等。这类人群对用户界面要求不高,但是需要得到及时和精确的数据获取服务。EPO系统:物资采购系统,用于企业内部的物资采购和流程交互。非一般性数据查询需求:服务于一小部分特定人群的,因易变动和受众少而未整合进现有业务系统的数据查询需求。本专利技术实施例提供了一种数据查询方法,请参考图1、2,其示出了本专利技术实施例提供的数据查询方法所涉及的实施环境的结构示意图。该实施环境包括:用户终端设备,WEB服务器,文件服务器,后台服务器,邮件服务器,数据库服务器和系统数据库服务器。图3则示出了图1、2实施环境下各部分工作的示例性流程,在用户通过用户设备使用某数据查询功能之后,用户设备将请求发送至WEB服务器,WEB服务器将用户请求传到后台服务器,后台服务器会对用户权限进行判断,如果用户权限符合要求则将用户请求传送至安全日志服务器,在安全日志服务器处进行日志记录和安全检测,在安全检测之后对结果行数进行检测,以避免用户的无限制下载,在结果行数检测通过之后,通过数据服务器将检测结果发送至安全验证服务器,记录日志并将本文档来自技高网
...

【技术保护点】
1.一种数据查询方法,其特征在于,所述方法包括如下步骤:用户交互模块接收来自用户终端的数据查询请求,并将所述数据查询请求发送至安全日志模块;所述安全日志模块接收来自所述用户交互模块的数据查询请求,对所述数据查询请求进行第一类安全检测,若通过所述第一类安全检测,将所述请求发送至数据库服务模块;所述数据库服务模块对所述数据查询请求进行第二类安全检测,若通过所述第二类安全检测,将数据查询请求返回所述安全日志模块;所述安全日志模块对所述数据库服务模块返回的数据查询请求进行安全日志记录,并触发数据库查询模块根据所述请求构造数据查询语句,将所述数据查询语句发送至数据库服务模块;所述数据库服务模块根据所述数据查询语句进行数据查询,并将查询结果返回至用户交互模块;所述用户交互模块接收所述查询结果,根据所述查询结果生成结果文件,将所述结果文件存储于文件服务模块,并向所述用户设备发送文件下载提示。

【技术特征摘要】
1.一种数据查询方法,其特征在于,所述方法包括如下步骤:用户交互模块接收来自用户终端的数据查询请求,并将所述数据查询请求发送至安全日志模块;所述安全日志模块接收来自所述用户交互模块的数据查询请求,对所述数据查询请求进行第一类安全检测,若通过所述第一类安全检测,将所述请求发送至数据库服务模块;所述数据库服务模块对所述数据查询请求进行第二类安全检测,若通过所述第二类安全检测,将数据查询请求返回所述安全日志模块;所述安全日志模块对所述数据库服务模块返回的数据查询请求进行安全日志记录,并触发数据库查询模块根据所述请求构造数据查询语句,将所述数据查询语句发送至数据库服务模块;所述数据库服务模块根据所述数据查询语句进行数据查询,并将查询结果返回至用户交互模块;所述用户交互模块接收所述查询结果,根据所述查询结果生成结果文件,将所述结果文件存储于文件服务模块,并向所述用户设备发送文件下载提示。2.根据权利要求1所述的方法,其特征在于,所述方法还包括如下步骤:用户客户端将登陆信息发送至用户交互模块;所述用户交互模块接收所述登录信息,并将所述登录信息转发至权限验证模块;所述权限验证模块接收所述登录信息,验证登录信息的权限,并向用户交互模块返回属于登录信息的数据查询功能集合;所述用户交互模块根据权限验证模块返回的数据查询功能集合触发界面渲染模块生成界面渲染信息,并向用户设备发送所述界面渲染信息。3.根据权利要求1所述的方法,其特征在于,在对所述数据查询请求进行第一类安全检测之前,还包括如下判断步骤:安全日志模块将数据查询请求发送至权限验证模块;权限验证模块验证验证所述数据查询请求的用户权限,若所述用户权限与所述数据查询请求相匹配,则将所述数据查询请求返回至所述安全日志模块。4.根据权利要求3所述的方法,其特征在于,所述权限验证模块验证验证所述数据查询请求的用户权限步骤包括:所述权限验证模块根据用户登录的身份信息,通过数据权限表查询属于该用户数据的结构化查询实例集合;或者,所述权限验证模块判断数据结构化查询实例集合是否属于该用户。5.根据权利要求1所述的方法,其特征在于,所述安全日志模块对所述数据查询请求进行第一类安全检测步骤包括:安全日志模块查询所述数据查询请求中是否包含风险项,若是,则拒绝所述数据查询请求,并将拒绝结果返回用户设备。6.根据权利要求1所述的方法,其特征在于,所述安全日志模块对所述数据查询请求进行第一类安全检测进行第一类安全检测步骤包括:所述安全日志模块查询用户的使用间隔时间是否过短,若是,则拒绝所述数据查询请求,并将拒绝结果返回用户设备。7.根据权利要求1所述的方法,其特征在于,所述数据库服务模块对所述数据查询请求进行第二类安全检测步骤包括:数据库服务模块判断本次查询结果的记录行数是否超过预定阈值,若是,则拒绝所述数据查询请求,并将拒绝结果返回用户设备。8.根据权利要求1所述的方法,其特征在于,所述后台服务模块对所述数据库服务模块返回的数据查询请求进行安全日志记录包括:将用户信息和查询参数记录到安全日志表和本地文件中。9.根据权利要求1所述的方法,其特征在于,所述数据库服务模块根据所述数据查询语句进行数据查询步骤包括:接收用户输入的查询条件和数据结构化查询语言;根据目标数据库配置表获取数据库连接字符串;根据用户输入和结构化查询语言构造一个使用绑定变量的结构化查询语言命令;根据数据库连接字符串,打开目标数据库,使用绑定变量的结构化查询语言命令进行查询;将查询结果转换为数据表。10.一种数据查询装置,其特征在于,所述装置包括:用户交互模块,用于接收来自用户终端的数据查询请求,并将所述数据查询请求发送至安全日志模块;所述用户交互模块还用于接收所述查询结果,根据所述查询结果生成结果文件,将所述结果文件存储于文件服务模块,并向所述用户设备发送文件下载提示;安全日志模块,用于接收来自所述用户交互模块的数据查询请求,对所述数据查询请求进行第一类安全检测,若通过所述第一类安全检测,将所述请求发送至数据库服务模块;所述安全日志模块还用于对所述数据库服务模块返回的数据查询请求进行安全日志记录,并触发数据库查询模块根据所述请求构造数据查询语句,将所述数据查询语句发送至数据库服务模块;数据库服务模块,用于对所述数据查询请求进行第二类安全检测,若通过所述第二类安全检测,将数据查询请求返回所述安全日志模块;所述数据库服务模块还用于根据所述数据查询语句进行数据查询,并将查询结果返回至用户交互模块。11.根据权利要求10所述的装置,其特征在于,用户交互模块还用于接收来自用户设备的登录信息,并将所述登录信息转发至权限验证模块;权限验证模块,用于接收所述登录信息,验证登录信息的权限,并向用户交互模块返回属于登录信息的数据查询功能集合;用户交互模块,用于根据权限验证模块返回的数据查询功能集合触发界面渲染模块生成界面渲染信息,并向用户设备发送所述界面渲染信息。12.根据权利要求10所述的装置,其特征在于,安全日志模块,将数据查询请求发送至权限验证模块;权限验证模块,验证所述数据查询请求的用户权限,若所述用户权限与所述数据查询请求相匹配,则将所述数据查询请求返回至所述安全日志模块。1...

【专利技术属性】
技术研发人员:黄达毅孙亮屈政斌钟和旺杨友山
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1