一种数据查询的方法及查询服务器的制作方法

文档序号:6584769阅读:145来源:国知局
专利名称:一种数据查询的方法及查询服务器的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种数据查询的方法及查询服务器。
背景技术
企业在生产经营过程中往往会产生海量数据,这些海量数据经过加工处理后存储 在数据库内,供企业内部人员或其他相关人员查询。以网络运营商为例,网络运营商的客户 在计费、营业、账务和客服等多个业务流程中会产生海量数据,这些数据经过企业级数据仓 库的转换、清洗、加载和汇总处理,最终形成为运营商客户的全面统一刻画,管理人员可以 对处理后的数据进行分析查询。对海量数据进行查询的方法如下首先,客户端通过网页预置的一组查询选项设置查询条件,并通过查询请求将设 置的查询条件提交给查询服务器。然后,查询服务器根据接收到的查询请求中设置的查询条件,生成相应的SQL信 令并提交给数据库服务器。接着,数据库服务器解析SQL信令,并且关联、查找相应的数据库表。最后,数据库服务器将关联、查找结果通过Web服务器发送给客户端。但是,由于网络运营商的客户数量非常多(如数千万级),每一个客户的特征字段 也可能非常多(特征字段达数百项甚至更多)。如果针对海量数据按照上述查询方法进行 多用户并发的实时查询,在查询服务器和数据库的软硬件环境已达到优化极限的情况下, 查询用户很难获得较快的响应速度,导致查询用户的体验较差。为了提高查询响应速度,使用户的查询体验更好,提出了以下两种查询优化的方案第一种查询优化方案增加数据库服务器的数量,通过数据库集群技术可有效的分散数据,减轻单个数 据库服务器的工作压力,从而有效地提高查询响应速度。但是,这种优化方式依赖于硬件扩 充,随着数据量的增加需要不断地新增数据库服务器的数量,使查询的成本较高;并且,由 于在多个数据库服务器中进行查询,因此,对于跨集群的事务处理性能较差。第二种查询优化方案针对用户的一次查询,创建临时表或者数据库的物化视图来保存查询结果,当用 户使用相同的查询条件再次进行查询时可以提高查询效率。但是,这种优化方式依赖于数 据库的缓存/索引技术,仅能提高针对同样的查询条件进行查询的效率,对不同查询条件 的查询请求没有意义,并且,创建临时表占用的时长可能会超过查询时长,从而达不到优化 响应速度的目的。综上所述,在现有的针对海量数据的查询方式下,多用户并行的数据查询时,查询 响应速度较慢,影响用户的查询业务感受。

发明内容
本发明实施例提供一种数据查询的方法及查询服务器,以解决对海量数据进行查询时效率低下的问题。一种数据查询的方法,所述方法包括在接收到客户端发送的数据查询请求后,根据时间段与允许查询的客户端数量的 对应关系,确定当前时间所在时间段对应的允许查询的客户端数量,其中,在接收到数据查 询请求数量越多的时间段内,对应的允许查询的客户端数量越少;在确定当前正在进行数据查询的客户端数量小于确定的所述允许查询的客户端 数量时,根据所述数据查询请求中携带的查询条件进行数据查询。一种查询服务器,所述查询服务器包括请求接收模块,用于接收到客户端发送的数据查询请求;数量确定模块,用于根据时间段与允许查询的客户端数量的对应关系,确定当前 时间所在时间段对应的允许查询的客户端数量,其中,在接收到数据查询请求数量越多的 时间段内,对应的允许查询的客户端数量越少;判断模块,用于判断当前正在进行数据查询的客户端数量是否小于确定的所述允 许查询的客户端数量;执行模块,用于在确定当前正在进行数据查询的客户端数量小于确定的所述允许 查询的客户端数量时,根据所述数据查询请求中携带的查询条件进行数据查询。由于本发明实施例分别为各时间段设置对应的允许查询的客户端数量,且设置原 则是在接收到数据查询请求数量越多的时间段内,对应的允许查询的客户端数量越少,因 此,使数据查询系统能够快速响应接入的客户端的查询请求,从整体上提高数据查询的效 率。


图1为本发明实施例的网络拓扑结构示意图;图2为本发明实施例一中进行数据查询的方法示意图;图3为本发明实施例二中确定时间段与允许查询的客户端数量的对应关系示意 图;图4为本发明实施例三中确定时间段与允许查询的客户端数量的对应关系示意 图;图5(a)、5(b)和5 (c)为本发明实施例四中查询服务器结构示意图。
具体实施例方式为了实现本发明目的,本发明实施例提出在各时间段分别设置一个允许查询的客 户端数量,当某一客户端请求进行数据查询时,检查当前正在进行数据查询的客户端数量 是否小于当前时间允许查询的客户端数量,若是,则响应所述客户端的数据查询请求。由于 接入数据库服务器的客户端数量被限定,因此,接入数据库服务器的客户端能够得到快速 的查询响应,提高客户端服务器的查询速度,进一步地,每个客户端的查询速度提高,等待 查询的其他客户端的等待时间也将会缩短,从整体上提高了查询效率,特别是在海量数据 查询和数据库服务器内的数据库表有关联关系时,利用本发明实施例的方案提高查询效率 的效果尤其明显。
下面结合说明书附图对本发明实施例进行详细描述。如图1所示,为本发明实施例的网络拓扑结构,主要涉及客户端、查询服务器 (Application Server)和数据库服务器(Database),查询服务器是具有本发明实施例中对 客户端的请求进行判断处理的网元,可以是现网中构建的网元,也可以是现网中网元的逻 辑部件。查询服务器和数据库服务器可以集成在一起,也可以分别设置,在后续实施例中假 设查询服务器和数据库服务器是独立的网元。实施例一如图2所示,为本发明实施例一中进行数据查询的方法示意图,所述方法包括以 下步骤步骤101 查询服务器接收客户端发送的数据查询请求。客户端发送的数据查询请求中可以携带查询条件。步骤102 查询服务器根据时间段与允许查询的客户端数量的对应关系,确定当 前时间所在时间段对应的允许查询的客户端数量。本实施例中,接收到数据查询请求数量越多的时间段,可以设置较少的客户端数 量。这样设置的原因是接收到数据查询请求数量,表示工作越繁忙,在工作繁忙的时间 段内,限制同时并行处理的客户端数量,保证数据库服务器能够快速响应接入的客户端发 送的数据查询请求,一方面提高了当前接入的客户端的查询速度,另一方面,由于查询时间 短,因此,其他等待接入的客户端的等待时间也不会太长,整体上提高了客户端的查询效 率。时间段与允许查询的客户端数量的对应关系可以是根据经验值确定的,也可以是 预先在测量时间内测量出的。步骤103 查询服务器判断当前正在进行数据查询的客户端数量是否小于确定的 所述允许查询的客户端数量,若是,则执行步骤104 ;否则,执行步骤107。步骤104 查询服务器更新计数器,将当前正在进行数据查询的客户端数量加1。步骤105 查询服务器根据所述数据查询请求中携带的查询条件生成相应的SQL 信令并提交给数据库服务器进行数据查询。步骤106 查询服务器更新计数器,将当前正在进行数据查询的客户端数量减1, 并将数据库服务器的查询结果返回给客户端,完成数据查询过程。步骤107 查询服务器不响应所述数据查询请求,要求客户端在等待设定时长后 重新发送数据查询请求,并跳转至步骤101。这里的设定时长可以是根据经验值确定的时长,也可以是根据系统线程的处理速 度等因素确定的,如设定时长可以设置为5s。在本步骤中,也可以将所述数据查询请求放置进队列,按照队列中各数据查询请 求的排列顺序依次等待进行处理。通过本发明实施例一的方案,针对不同的时间段限定允许查询的客户端数量,确 保数据库服务器能够快速响应接入的客户端的数据查询请求,提高客户端的查询速率,从 整体上提高查询效率。例如假设数据库服务器具有同时响应4个客户端的数据查询请求的能力,当4个 客户端同时接入数据库服务器时,每个客户端进行数据查询的平均时间是10s,在传统的方法中,在任意时间段内,数据库服务器需要花费IOs完成这4个终端的数据查询过程。而 在本发明实施例一中,在比较繁忙的时间段内,设置允许查询的客户端数量为2个,也就是 说,数据库服务器同时只响应2个客户端的数据查询请求,剩余2个客户端等待。当2个客 户端接入数据库服务器时,由于为这2个客户端进行数据查询时只占用数据库服务器一半 的能力,因此,这2个客户端查询的平均时间只需要5s ;剩余2个客户端在等待5s后接入 数据库服务器,也只需要5s就能完成查询。由于在本发明实施例一的方案中,一部分客户 端减少了查询时间,另一部分客户端的查询时间与现有技术相比并没有增加,所以利用本 发明实施例一的方案在整体上可以提高查询效率。本发明实施例二和实施例三通过具体的实例对本发明实施例一的方案进行详细 说明。实施例二 如图3所示,本发明实施例二通过以下方式预先设定出时间段与允许查询的客户 端数量的对应关系,可以是查询服务器执行以下步骤,可以是其他具有执行以下步骤的网 元确定时间段与允许查询的客户端数量的对应关系后通知给查询服务器。步骤201 确定总测量时间,并将该总测量时间划分为多个时间段。假设本发明实施例一将1月份作为总测量时间,并将一月份划分为3个时间段,分 别为1月上旬、1月中旬和1月下旬。步骤202 为每个时间段分配权重值。在本步骤中,接收到数据查询请求数量越多的时间段分配的权重值越大,因此,可 以根据经验值假设1月上旬的工作最繁忙,1月中旬次之,1月下旬工作最清闲,则为1月上 旬分配的权重值为0. 5,为1月中旬分配的权重值为0. 3,为1月下旬分配的权重值为0. 2。步骤203 从多个时间段中选择一个时间段。在本步骤中假设选择1月上旬。步骤204:在选择的时间段内资源占用率达到设定门限值时,确定进行数据查询 的客户端数量。在本步骤中,可以对1月上旬内数据库服务器的资源占用率进行实时检测,判断 资源占用率是否达到设定门限值(如60% ),在资源占用率达到门限值时记录当前进行数 据查询的客户端数量。由于每个客户端发送的数据查询请求中的查询条件不同,数据库服 务器根据查询条件进行数据查询时占用的资源量也不同,因此,如果数据库服务器的资源 占用率在1月上旬内多次达到门限值,则每次达到门限值时对应的客户端数量也不一定相 同,在本实施例中,可以从中任选一个客户端数量,较优地,可以选择最小的客户端数量。步骤205 将确定的客户端数量作为选择的时间段对应的允许查询的客户端数 量。假设,通过步骤204的处理,确定1月上旬对应的允许查询的客户端数量为10个。步骤206 根据选择的时间段对应的允许查询的客户端数量以及选择的时间段的 权重值,分别计算其他时间段对应的允许查询的客户端数量。在本步骤中,可以通过公式(1)计算1月中旬和1月下旬分别对应的允许查询的
客户端数量。
权利要求
1.一种数据查询的方法,其特征在于,所述方法包括在接收到客户端发送的数据查询请求后,根据时间段与允许查询的客户端数量的对应 关系,确定当前时间所在时间段对应的允许查询的客户端数量,其中,在接收到数据查询请 求数量越多的时间段内,对应的允许查询的客户端数量越少;在确定当前正在进行数据查询的客户端数量小于确定的所述允许查询的客户端数量 时,根据所述数据查询请求中携带的查询条件进行数据查询。
2.如权利要求1所述的方法,其特征在于,时间段与允许查询的客户端数量的对应关 系通过以下方式确定确定总测量时间,将该总测量时间划分为多个时间段,并为每个时间段分配权重值,其 中,接收到数据查询请求数量越多的时间段分配的权重值越大;从多个时间段中选择一个时间段,并在选择的时间段内资源占用率达到设定门限值 时,确定进行数据查询的客户端数量,将确定的客户端数量作为选择的时间段对应的允许 查询的客户端数量;根据选择的时间段对应的允许查询的客户端数量以及选择的时间段的权重值,分别计 算其他时间段对应的允许查询的客户端数量。
3.如权利要求2所述的方法,其特征在于,在选择的时间段内资源占用率多次达到设 定门限值时,从每次达到设定门限值时确定的客户端数量中选择最小的客户端数量。
4.如权利要求2所述的方法,其特征在于,计算其他时间段对应的允许查询的客户端 数量,包括根据以下公式计算确定其他时间段对应的允许查询的客户端数量 其中ki表示所述其他时间段中第i个时间段对应的允许查询的客户端数量;k表示选 择的时间段对应的允许查询的客户端数量;a表示选择的时间段的权重值;b表示所述其他 时间段中第i个时间段的权重值;i为正整数,取值范围为1 划分的时间段数量-1。
5.如权利要求1所述的方法,其特征在于,时间段与允许查询的客户端数量的对应关 系通过以下方式确定确定总测量时间,并将该时间段划分为多个层次,其中,每个层次有多个时间段,同一 层次的时间段长度之和等于该总测量时间的长度,并且,相邻两个层次中,低层次的时间段 是将高层次中每个时间段划分为多段后得到的;分别为每个层次中的各时间段分配权重值,其中,同一层次中,接收到数据查询请求数 量越多的时间段分配的权重值越大;从多个层次中选择一个层次,并进一步从选择的层次中选择一个时间段;在选择的时间段内资源占用率达到设定门限值时,确定进行数据查询的客户端数量, 并将确定的客户端数量作为选择的时间段对应的允许查询的客户端数量;根据选择的时间段对应的允许查询的客户端数量以及选择的时间段的权重值,分别计 算在选择的层次中其他时间段对应的允许查询的客户端数量。
6.如权利要求5所述的方法,其特征在于,从多个层次中选择的一个层次是最低层次。
7.如权利要求5所述的方法,其特征在于,在选择的时间段内资源占用率多次达到设定门限值时,从每次达到设定门限值时确定的客户端数量中选择最小的客户端数量。
8.如权利要求5所述的方法,其特征在于,计算在选择的层次中的其他时间段对应的 允许查询的客户端数量,包括根据以下公式计算确定在选择的层次中的其他时间段对应的允许查询的客户端数量
9.一种查询服务器,其特征在于,所述查询服务器包括 请求接收模块,用于接收到客户端发送的数据查询请求;数量确定模块,用于根据时间段与允许查询的客户端数量的对应关系,确定当前时间 所在时间段对应的允许查询的客户端数量,其中,在接收到数据查询请求数量越多的时间 段内,对应的允许查询的客户端数量越少;判断模块,用于判断当前正在进行数据查询的客户端数量是否小于确定的所述允许查 询的客户端数量;执行模块,用于在确定当前正在进行数据查询的客户端数量小于确定的所述允许查询 的客户端数量时,根据所述数据查询请求中携带的查询条件进行数据查询。
10.如权利要求9所述的查询服务器,其特征在于,所述查询服务器还包括用于确定时 间段与允许查询的客户端数量的对应关系的第一对应关系确定模块,所述第一对应关系确 定模块包括第一时间段划分子模块,用于确定总测量时间,将该总测量时间划分为多个时间段; 第一权重值分配子模块,用于为每个时间段分配权重值,其中,接收到数据查询请求数 量越多的时间段分配的权重值越大;第一数量确定子模块,用于从多个时间段中选择一个时间段,在选择的时间段内资源 占用率达到设定门限值时,确定进行数据查询的客户端数量,将确定的客户端数量作为选 择的时间段对应的允许查询的客户端数量,以及,根据选择的时间段对应的允许查询的客 户端数量以及选择的时间段的权重值,分别计算其他时间段对应的允许查询的客户端数 量。
11.如权利要求10所述的查询服务器,其特征在于,所述第一数量确定子模块,还用于根据以下公式计算确定其他时间段对应的允许查询的客户端数量 r a · k丁其中屯表示所述其他时间段中第i个时间段对应的允许查询的客户端数量;k表示选 择的时间段对应的允许查询的客户端数量;a表示选择的时间段的权重值;b表示所述其他 时间段中第i个时间段的权重值;i为正整数,取值范围为1 划分的时间段数量-1。
12.如权利要求9所述的查询服务器,其特征在于,所述查询服务器还包括用于确定时 间段与允许查询的客户端数量的对应关系的第二对应关系确定模块,所述第二对应关系确 定模块包括第二时间段划分子模块,用于确定总测量时间,并将该时间段划分为多个层次,其中, 每个层次有多个时间段,同一层次的时间段长度之和等于该总测量时间的长度,并且,相邻 两个层次中,低层次的时间段是将高层次中每个时间段划分为多段后得到的;第二权重值分配子模块,用于分别为每个层次中的各时间段分配权重值,其中,同一层 次中,接收到数据查询请求数量越多的时间段分配的权重值越大;第二数量确定子模块,用于从多个层次中选择一个层次,并进一步从选择的层次中选 择一个时间段,在选择的时间段内资源占用率达到设定门限值时,确定进行数据查询的客 户端数量,并将确定的客户端数量作为选择的时间段对应的允许查询的客户端数量,以及, 根据选择的时间段对应的允许查询的客户端数量以及选择的时间段的权重值,分别计算在 选择的层次中其他时间段对应的允许查询的客户端数量。
13.如权利要求12所述的查询服务器,其特征在于,所述第二数量确定子模块,还用于根据以下公式计算确定在选择的层次中的其他时间 段对应的允许查询的客户端数量
全文摘要
本发明公开了一种数据查询的方法及查询服务器,主要内容包括在接收到客户端发送的数据查询请求后,根据时间段与允许查询的客户端数量的对应关系,确定当前时间所在时间段对应的允许查询的客户端数量,其中,在接收到数据查询请求数量越多的时间段内,对应的允许查询的客户端数量越少;在确定当前正在进行数据查询的客户端数量小于确定的所述允许查询的客户端数量时,根据所述数据查询请求中携带的查询条件进行数据查询。通过本发明,使数据查询系统能够快速响应接入的客户端的查询请求,从整体上提高数据查询的效率。
文档编号G06F17/30GK102081624SQ200910238660
公开日2011年6月1日 申请日期2009年11月30日 优先权日2009年11月30日
发明者刘广财, 史风立, 孟海超, 杨英苹, 王磊, 王艳红, 章玮, 邬启明, 陈文平 申请人:中国移动通信集团公司, 中国移动通信集团北京有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1