数据库系统及其数据筛选方法

文档序号:6400076阅读:422来源:国知局
专利名称:数据库系统及其数据筛选方法
数据库系统及其数据筛选方法技术领域
本发明涉及数据筛选,更具体地,涉及一种数据库系统及其数据筛选方法。
背景技术
表格数据是最常用的数据类型。表格数据以行、列的方式进行显示,每行具有对应的行号或者行名,每列具有对应的列号或者列名。通常,列名也称为字段。很多数据库采用服务器一客户端的形式。服务器存储数据,并向客户端返回用户的查询结果。客户端与用户进行交互,并向用户显示查询结果。该查询结果通常以表格数据的形式呈现。如果命中结果较多,返回的查询结果就会很多,导致查询结果的行数、列数都很多,用户容易看错或者看漏数据。该种情况下,用户希望过滤掉不想要的数据。现有技术中,用户可以增加查询条件,进行新的查询,以逐步过滤掉不想要的数据。然而,该方案显著加重了服务器的负担,且响应速度慢。因此,亟需一种克服上述缺陷的解决方案。

发明内容本发明的一个方面,提供一种数据库系统,包括可通讯连接的服务器和客户端;所述客户端具有接收模块和显示模块,所述接收模块用于接收所述服务器返回的数据,所述显示模块用于以行列的方式显示所述数据。所述客户端还包括与所述显示模块连接的数据筛选系统,所述数据筛选系统包括:列筛选模块,所述列筛选模块用于获取所述数据的列信息,并根据用户对列信息的选择过滤掉对应的列;所述显示模块以行列的方式显示所述过滤掉对应的列之后的数据。在一个优选方案中,所述数据筛选模块还包括行筛选模块,所述行筛选模块用于将选定列的行分成若干行集合,并根据用户对行集合的选择过滤掉对应的行;所述显示模块以行列的方式显示所述过滤掉对应的行之后的数据。在一个优选方案中,所述客户端为网页浏览器。在一个优选方案中,所述数据筛选模块还包括窗体绘制模块,所述窗体绘制模块与所述列筛选模块、行筛选模块连接,用于创建第一窗体用以显示所述列筛选模块、行筛选模块的入口。在一个优选方案中,所述窗体绘制模块还绘制第二窗体、第三窗体,分别用于显示所述列信息、所述行集合。本发明的第二方面,提供一种数据筛选方法,包括在客户端接收服务器返回的数据并用行列的方式显示所述数据。所述数据筛选方法还包括:在所述客户端获取所述数据的列信息,并根据用户对列信息的选择过滤掉对应的列;在所述客户端以行列的方式重新显示所述过滤掉对应的列之后的数据。

在一个优选方案中,所述数据筛选方法还包括:在所述客户端将选定列的行分成若干行集合,并根据用户对行集合的选择过滤掉对应的行;在所述客户端以行列的方式重新显示所述过滤掉对应的行之后的数据。在一个优选方案中,所述客户端为网页浏览器。在一个优选方案中,所述数据筛选方法还包括:在所述客户端绘制第一窗体,并在所述第一窗体提供入口用以引导用户区过滤掉对应的列、对应的行。在一个优选方案中,所述数据筛选方法还包括:在所述客户端绘制第二窗体和第三窗体,分别用于显示所述列信息和所述行集合。实施本发明,可以在客户端进行数据筛选,且不占用服务器任何资源,减轻服务器的负担,并具有响应速度快的优点

图1是本发明一个实施例提供的数据库系统的示意图;图2是图1所示数据库系统的数据筛选方法的流程图;图3至图5是图2所示数据筛选方法操作时的部分屏幕截图。
具体实施方式参考图1和图2,本发明一个实施例提供的数据库系统包括可通信连接的客户端10和服务器端20。应当意识到,客户端10与服务器端20可以位于不同的设备(如计算机)上,也可以位于同一台设备。客户端10面对用户,也称为前端。服务器端主要提供后台支持,也称为后端。一个后端可以同时为多个前端提供支持。优选地,客户端10为网页浏览器,例如微软公司的IE网页浏览器、谷歌公司的Chrome浏览器、谋智公司的Firefox浏览器、苹果公司的Safari浏览器等。

服务器端20包括数据库21、查询模块23、修改模块25。数据库21用于存储数据,查询模块23用于处理数据查询请求,修改模块25用于修改数据库21内的数据。客户端10具有接收模块11、显示模块13和数据筛选系统15。接收模块11用于接收服务器20返回的数据。例如,用户通过客户端10向服务器发起数据查询请求,服务器20处理该查询请求,并将查询结果返回给客户端10。显示模块13在客户端10以行列的方式显示服务器20返回的数据。数据筛选系统15包括列筛选模块、行筛选模块和窗体绘制模块,用于对所显示的数据进行筛选,下文会详细描述。参考图3至图6,在步骤S51中,客户端的接收模块接收服务器返回的数据。步骤S53中,客户端的显示模块以行列的方式显示所述数据。步骤S55中,客户端的数据筛选系统的列筛选模块获取数据的列信息,根据用户对列信息的选择过滤掉对应的列,并以行列的方式重新显示所述过滤掉对应的列之后的数据。所述列信息可以是列的编号,例如A列、B列、C列等。所述列信息也可以是列名称(也称为字段名),例如图4所示的字段“操作日期”、“收银来源”等。在本实施例中,用户选中的列被保留下来以进行显示;未选择的列,就被过滤掉,不显示,如图5所示。应当意识到,可以采用相反的配置,即,用户选中的列被过滤掉,不进行显示;未选中的列就保留下来进行显示。步骤S57中,客户端的数据筛选系统的行筛选模块将选定列的行分成若干行集合,根据用户对行集合的选择过滤掉对应的行,并以行列的方式重新显示所述被过滤掉对应的行之后的数据。参考图6,用户在“操作日期”列进行操作时,行筛选模块根据该列的行内容将该选定列的行分成“2012-03-01”和“2012-03-02”这两个行集合。用户选中某个行集合之后,该行集合对应的行将被保留以进行显示;未被选中的行集合对应的行将被隐藏(被过滤掉)。应当意识到,可以采用相反的配置,即,选中的行集合对应的行被隐藏(被过滤掉),未选中的行集合对应的行被显不。应当意识到,上述步骤S55和S57的顺序可以进行调换。即,用户可以先对行进行过滤,再对列进行过滤。替换地,用户可以只对行进行过滤(即,只执行步骤S57,不用执行步骤S55),或者只对列进行过滤(S卩,只执行步骤S55,不用执行步骤S57)。还应当意识到,在图3所示的流程中,步骤S55之后,可以具有恢复过滤列的步骤。在恢复过滤列的步骤中,用户可以恢复步骤S55所过滤掉的部分列或者全部列,并重新显示恢复之后的数据。类似地,步骤S57之后,可以具有恢复过滤行的步骤。在恢复过滤行的步骤中,用户可以恢复步骤S57所过滤掉的部分行或者全部行,并重新显示恢复之后的数据。为了方便用户操作,数据筛选系统具有窗体绘制模块与列筛选模块、行筛选模块连接。窗体绘制模块创建第一窗体用以显示列筛选模块、行筛选模块的入口。例如,图4中,“查找列”为行筛选模块的入口,“选择列”为列筛选模块的入口。当用户选择了“选择列”入口,进行列筛选操作时,窗体绘制模块还绘制第二窗体,用于显示列信息,参考图5。如图5所示,第二窗体是此张报表的所有字段,默认全部选中,表示全部显示。当你需要隐藏某一列或多列时只需取消选中对应的列即可,但必须保证最少有一个是选中的(可通过JavaScript代码来控制)。 类似地,用户选择“查找项”入口,进行行筛选操作时,窗体绘制模块还绘制第三窗体,用于显示行集合,参考图6。当你需要过滤掉某一类的数据时,只需要点击对应此列的表头,然后点击“查找项”,筛选模块获取此一整列的所有可见数据,然后对这些数据进行去重复处理,得到若干行集合,该行集合在第三窗体显示出来,如图6所示。如果用户选择“2012/3/6”,则“操作日期”列中不为该日期的数据全部被过滤,只显示对应选中日期的数据。优选地,可以同时选择两个或者多个行集合。例如,用户同时选择“ 2012/3/3 ”和“ 2012/3/6 ”,则“操作日期”中“ 2012/3/3 ”和“ 2012/3/6 ”将继续显示其他日期的数据将被过滤。优选地,可以同时选择两列或者多列的行集合,以实现多重过滤。例如,选择“操作日期”为“2012/3/6”的数据后,点击“收银来源”,选择“消费”,就可以得到当前所有可见数据中“操作日期”为“2012/3/6”并且“收银来源“为“消费”的数据,以此类往下来实现多重过滤。如果需要将所有数据都展示出来,则只需点击任何一列的表头,选择“显示全部”,则所有数据都被还原显示。本发明的数据筛选方法在客户端就可以执行,不占用服务器任何资源,减轻服务器的负担,并具有响应速度快的优点。此外,客户端可以网页浏览器,因此,可以使用标准化的JavaScript脚本、CSS文件、HTML标签实现,任何浏览器都可以兼容运行。对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种数据库系统,包括可通讯连接的服务器和客户端;所述客户端具有接收模块和显示模块,所述接收模块用于接收所述服务器返回的数据,所述显示模块用于以行列的方式显示所述数据;其特征在于,所述客户端还包括与所述显示模块连接的数据筛选系统,所述数据筛选系统包括: 列筛选模块,所述列筛选模块用于获取所述数据的列信息,并根据用户对列信息的选择过滤掉对应的列; 所述显示模块以行列的方式显示所述过滤掉对应的列之后的数据。
2.如权利要求1所述的数据库系统,其特征在于,所述数据筛选模块还包括行筛选模块,所述行筛选模块用于将选定列的行分成若干行集合,并根据用户对行集合的选择过滤掉对应的行; 所述显示模块以行列的方式显示所述过滤掉对应的行之后的数据。
3.如权利要求2所述的数据库系统,所述客户端为网页浏览器。
4.如权利要求3所述的数据库系统,其特征在于,所述数据筛选模块还包括窗体绘制模块,所述窗体绘制模块与所述列筛选模块、行筛选模块连接,用于创建第一窗体用以显示所述列筛选模块、行筛选模块的入口。
5.如权利要求4所述的数据库系统,其特征在于,所述窗体绘制模块还绘制第二窗体、第三窗体,分别用于显示所述列信息、所述行集合。
6.一种数据筛选方法,包括在客户端接收服务器返回的数据并用行列的方式显示所述数据,其特征在于,所述数据筛选方法还包括: 在所述客户端获取所述数据的列信息,并根据用户对列信息的选择过滤掉对应的列; 在所述客户端以行列的方式重新显示所述过滤掉对应的列之后的数据。
7.如权利要求6所述的数据筛选方法,其特征在于,所述数据筛选方法还包括: 在所述客户端将选定列的行分成若干行集合,并根据用户对行集合的选择过滤掉对应的行; 在所述客户端以行列的方式重新显示所述过滤掉对应的行之后的数据。
8.如权利要求7所述的数据筛选方法,其特征在于,所述客户端为网页浏览器。
9.如权利要求8所述的数据筛选方法,其特征在于,所述数据筛选方法还包括:在所述客户端绘制第一窗体,并在所述第一窗体提供入口用以引导用户区过滤掉对应的列、对应的行。
10.如权利要求要求10所述的数据筛选方法,其特征在于,所述数据筛选方法还包括:在所述客户端绘制第二窗体和第三窗体,分别用于显示所述列信息和所述行集合。
全文摘要
本发明涉及数据库系统及其数据筛选方法。该数据库系统包括可通讯连接的服务器和客户端。客户端具有接收模块、显示模块和数据筛选系统。接收模块用于接收服务器返回的数据,显示模块用于以行列的方式显示数据。数据筛选系统包括列筛选模块、行筛选模块和窗体绘制模块。列筛选模块用于获取数据的列信息,并根据用户对列信息的选择过滤掉对应的列。行筛选模块将选定列的行分成若干行集合,并根据用户对行集合的选择过滤掉对应的行。显示模块以行列的方式显示过滤掉对应的列和/或行之后的数据。实施本发明,可以在客户端进行数据筛选,且不占用服务器任何资源,减轻服务器的负担,并具有响应速度快的优点。
文档编号G06F17/30GK103150370SQ20131007355
公开日2013年6月12日 申请日期2013年3月7日 优先权日2013年3月7日
发明者黄晓惠 申请人:黄晓惠
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1