数据处理及查询的方法和装置与流程

文档序号:14860635发布日期:2018-07-04 07:07阅读:217来源:国知局
数据处理及查询的方法和装置与流程

本发明涉及大数据领域,具体而言,本发明涉及一种数据处理及查询的方法和一种数据处理及查询的装置。



背景技术:

随着互联网的发展,大数据技术的浪潮也正在席卷全球,成为一种新的生产力技术。大数据技术不仅仅指获得海量数据,更重要的意义是通过对海量数据的分析、整合来获得隐藏在数据背后的有价值的信息。

由于大数据的特点就是数据的数量多,使得对大数据进行存储管理时面临着巨大的挑战,而这个问题可以通过分布式存储技术来解决。分布式存储技术是通过分布式存储系统将大数据分散存储在由多台独立的设备形成的设备集群上。由于分布式存储系统采用可扩展的系统结构,利用多台独立存储服务器分担存储负荷,利用位置服务器定位存储信息,这不但提高了分布式存储系统的可靠性、可用性和存取效率,还易于扩展。

分布式存储系统在对大数据进行分析处理时,通过mapreduce算法对预置周期内的批量数据进行处理,但由于mapreduce算法对预置周期内的批量数据进行处理时,其处理过程非常复杂,且耗费的处理时间也非常久,一般需要大概五到六个小时,导致用户无法立即查询到当前数据的处理结果,且用户需要等待较长的时间,才能获取到该当前数据的处理结果,造成不良的用户体验。所以如何提高用户的体验度,是解决上述问题的关键。



技术实现要素:

为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:

本发明的实施例提出了一种数据处理及查询的方法,包括:

将接收到的有效数据存储至相应时间窗口下的缓存区域中;

针对任一缓存区域,创建缓存区域中的已存储的有效数据的数据集,并将该数据集发送至预置数据库;

基于接收到的数据查询请求,从预置数据库和/或对应的缓存区域中的数据集中获取与查询请求相匹配的查询结果。

优选地,该方法还包括:

基于窗口周期,依次划分连续时间窗口下的缓存区域;

其中,将接收到的有效数据存储至相应时间窗口下的缓存区域中的步骤,包括:

确定接收到的有效数据的时间标识;

将有效数据存储至与其时间标识相应时间窗口下的缓存区域中。

优选地,该方法还包括:

对接收有效数据的时间窗口设置等待时间;

其中,将接收到的有效数据存储至相应时间窗口下的缓存区域中的步骤,包括:

在等待时间内接收到有效数据时,将有效数据存储至与该有效数据的时间标识相应时间窗口下的缓存区域中。

优选地,该方法还包括:

在超出等待时间后,相应的时间窗口下的缓存区域中不接收数据。

优选地,基于接收到的数据查询请求,从预置数据库和/或任一缓存区域中的数据集中获取与查询请求相匹配的查询结果的步骤,包括:

基于接收到的数据查询请求,从预置数据库的数据集中获取与查询请求相匹配的查询结果;

若未从预置数据库的数据集中获取到相匹配的查询结果,从与数据查询请求对应的缓存区域中的数据集中获取相匹配的查询结果。

优选地,基于接收到的数据查询请求,从预置数据库和/或任一缓存区域中的数据集中获取与查询请求相匹配的查询结果的步骤,还包括:

若从预置数据库的数据集中获取到与数据查询请求相匹配的查询结果中的第一部分;

从与数据查询请求对应的缓存区域中的数据集中获取相匹配的查询结果中的第二部分;

其中,第一部分和第二部分形成完整查询结果。

优选地,基于接收到的数据查询请求,从预置数据库和/或任一缓存区域中的数据集中获取与查询请求相匹配的查询结果的步骤,包括:

若判断预置数据库的数据集中存在与数据查询请求相匹配的完整查询结果,获取完整查询结果。

本发明的另一实施例提出了一种数据处理及查询的装置,包括:

接收模块,用于将接收到的有效数据存储至相应时间窗口下的缓存区域中;

创建模块,用于针对任一缓存区域,创建缓存区域中的已存储的有效数据的数据集,并将该数据集发送至预置数据库;

获取模块,用于基于接收到的数据查询请求,从预置数据库和/或对应的缓存区域中的数据集中获取与查询请求相匹配的查询结果。

优选地,该装置还包括:

划分模块,用于基于窗口周期,依次划分连续时间窗口下的缓存区域;

其中,接收模块,包括:

确定单元,用于确定接收到的有效数据的时间标识;

第一存储单元,用于将有效数据存储至与其时间标识相应时间窗口下的缓存区域中。

优选地,该装置还包括:

设置模块,用于对接收有效数据的时间窗口设置等待时间;

其中,接收模块,还包括:

第二存储单元,用于在等待时间内接收到有效数据时,将有效数据存储至与该有效数据的时间标识相应时间窗口下的缓存区域中。

优选地,该装置还包括:

停止接收模块,用于在超出等待时间后,相应的时间窗口下的缓存区域中不接收数据。

优选地,获取模块,包括:

第一获取单元,用于基于接收到的数据查询请求,从预置数据库的数据集中获取与查询请求相匹配的查询结果;

第二获取单元,用于若未从预置数据库的数据集中获取到相匹配的查询结果,从与数据查询请求对应的缓存区域中的数据集中获取相匹配的查询结果。

优选地,获取模块,还包括:

第三获取单元,用于若从预置数据库的数据集中获取到与数据查询请求相匹配的查询结果中的第一部分;

第四获取单元,用于从与数据查询请求对应的缓存区域中的数据集中获取相匹配的查询结果中的第二部分;

其中,第一部分和第二部分形成完整查询结果。

优选地,获取模块,还包括:

第五获取单元,用于若判断预置数据库的数据集中存在与数据查询请求相匹配的完整查询结果,获取完整查询结果。

本发明的技术方案中,将接收到的有效数据存储至相应时间窗口下的缓存区域中;并创建缓存区域中的已存储的有效数据的数据集,并将该数据集发送至预置数据库;能够实现对数据流进行实时处理,不会因为累积预置周期内的批量数据,造成只能对该批量数据进行非实时地处理的情况发生;同时,能够减少处理数据的时间。此外,本技术方案还基于数据查询请求,从预置数据库和/或对应的缓存区域中的数据集中获取与查询请求相匹配的查询结果;使得用户能够实时获取到有效数据的查询结果,节省用户等待获取查询结果的时间,提升用户获取查询结果的体验度。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明中的一个实施例的数据处理及查询的方法的流程示意图;

图2为本发明中的一个优选实施例的将接收到的有效数据存储至相应时间窗口下的缓存区域中步骤的流程示意图;

图3为本发明中的另一个优选实施例的未从预置数据库和/或任一缓存区域中的数据集中获取到与查询请求相匹配的查询结果的步骤的流程示意图;

图4为本发明中的又一个优选实施例的从预置数据库和/或任一缓存区域中的数据集中获取到与查询请求相匹配的部分查询结果的步骤的流程示意图;

图5为本发明中的另一个实施例的数据处理及查询的装置的结构框架示意图;

图6为本发明中的一个优选实施例的接收模块的结构框架示意图;

图7为本发明中的另一个优选实施例的未从预置数据库和/或任一缓存区域中的数据集中获取到与查询请求相匹配的查询结果时,获取模块的结构框架示意图;

图8为本发明中的又一个优选实施例的从预置数据库和/或任一缓存区域中的数据集中获取到与查询请求相匹配的部分查询结果时,获取模块的结构框架示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

图1为本发明一个实施例的数据处理及查询的方法的流程示意图。

需要说明的是,本实施例的执行主体是服务器。

步骤s101:将接收到的有效数据存储至相应时间窗口下的缓存区域中;步骤s102:针对任一缓存区域,创建缓存区域中的已存储的有效数据的数据集,并将该数据集发送至预置数据库;步骤s103:基于接收到的数据查询请求,从预置数据库和/或对应的缓存区域中的数据集中获取与查询请求相匹配的查询结果。

本发明的技术方案中,将接收到的有效数据存储至相应时间窗口下的缓存区域中;并创建缓存区域中的已存储的有效数据的数据集,并将该数据集发送至预置数据库;能够实现对数据流进行实时处理,不会因为累积预置周期内的批量数据,造成只能对该批量数据进行非实时地处理的情况发生;同时,能够减少处理数据的时间。此外,本技术方案还基于数据查询请求,从预置数据库和/或对应的缓存区域中的数据集中获取与查询请求相匹配的查询结果;使得用户能够实时获取到有效数据的查询结果,节省用户等待获取查询结果的时间,提升用户获取查询结果的体验度。

以下针对各个步骤的具体实现做进一步的说明:

步骤s101:将接收到的有效数据存储至相应时间窗口下的缓存区域中。

具体地,本实施例还包括:基于窗口周期,依次划分连续时间窗口下的缓存区域。其中,将接收到的有效数据存储至相应时间窗口下的缓存区域中的步骤,如图2所示,包括:步骤s201:确定接收到的有效数据的时间标识;步骤s202:将有效数据存储至与其时间标识相应时间窗口下的缓存区域中。

例如,服务器基于窗口周期5分钟,依次划分连续时间窗口下的缓存区域,如,【10:30,10:35】时间窗口下的缓存区域、【10:35,10:40】时间窗口下的缓存区域,【10:40,10:45】时间窗口下的缓存区域等;服务器获取来自数据收集系统,如,kafka分布式消息系统,发送的原始数据,提取所述原始数据中的所需数据,并将所需数据进行整理,生成预置格式的有效数据,如,“买家于2017年11月11日10:30在a购物网站上购买冰箱的有效数据”、“买家于2017年11月11日10:32在b购物网站上购买电视的有效数据”、“买家于2017年11月11日10:37在a购物网站上购买台灯的有效数据”、“买家于2017年11月11日10:38在b购物网站上购买空调的有效数据”等;服务器确定接收到的有效数据时间标识,如,确定“买家于2017年11月11日10:30在a购物网站上购买冰箱”的有效数据时间标识为:2017年11月11日10:30,确定“买家于2017年11月11日10:32在b购物网站上购买电视”的有效数据时间标识为:2017年11月11日10:32,确定“买家于2017年11月11日10:37在a购物网站上购买台灯”的有效数据时间标识为:2017年11月11日10:37,确定“买家于2017年11月11日10:38在b购物网站上购买空调”的有效数据时间标识为:2017年11月11日10:38;服务器将有效数据:“买家于2017年11月11日10:30在a购物网站上购买冰箱”存储至与其时间标识:2017年11月11日10:30相应【10:30,10:35】时间窗口下的缓存区域cache中;以此类推,服务器分别将有效数据:“买家于2017年11月11日10:32在b购物网站上购买电视”存储至与其时间标识相应【10:30,10:35】时间窗口下的缓存区域cache中,“买家于2017年11月11日10:37在a购物网站上购买台灯”存储至与其时间标识相应【10:35,10:40】时间窗口下的缓存区域cache中,“买家于2017年11月11日10:38在b购物网站上购买空调”存储至与其时间标识相应【10:35,10:40】时间窗口下的缓存区域cache中。

需要说明的是,上述优选实施例中的【10:30,10:35】时间窗口为每天上午十点三十分至十点三十五分的时间窗口,【10:35,10:40】时间窗口为每天上午十点三十五分至十点四十分的时间窗口,【10:40,10:45】时间窗口为每天上午十点四十分至十点四十五分的时间窗口。

具体地,该方法还包括:对接收有效数据的时间窗口设置等待时间;其中,将接收到的有效数据存储至相应时间窗口下的缓存区域中的步骤,如图2所示,包括:步骤s203:在等待时间内接收到有效数据时,将有效数据存储至与该有效数据的时间标识相应时间窗口下的缓存区域中。

例如,服务器对接收有效数据的时间窗口设置等待时间:3分钟,则【10:30,10:35】时间窗口、【10:35,10:40】时间窗口和【10:40,10:45】时间窗口的等待时间均为3分钟,即,该三个时间窗口的存活时间为8分钟。服务器在【10:30,10:35】时间窗口的等待时间3分钟内,即,10:35至10:38之间接收到时间标识为:2017年11月11日10:30-10:35的有效数据,如,10:37接收到“买家于2017年11月11日10:30在a购物网站上购买冰箱”的有效数据,则服务器将该有效数据存储至与该有效数据的时间标识:2017年11月11日10:30相应【10:30,10:35】时间窗口下的缓存区域中。

具体地,该方法还包括:在超出等待时间后,相应的时间窗口下的缓存区域中不接收数据。

例如,在超出【10:30,10:35】时间窗口的等待时间3分钟,即在10:38之后,该【10:30,10:35】时间窗口不接受任何有效数据。

需要说明的是,在时间窗口的等待时间结束后,服务器应当将存储至相应时间窗口的有效数据抛弃即可,当抛弃数据占服务器接收到的有效数据的2%或3%是不影响数据集建立的准确性的。

若服务器无法找到与任一有效数据的时间标识相应时间窗口时,即服务器无法将该任一有效数据存储至相应时间窗口下的缓存区域中时,判断该相应时间窗口是否已经生成过;若判断该时间窗口没有生成过,则生成该时间窗口,并将该任一有效数据存储至该相应时间窗口下的缓存区域中;若判断该时间窗口生成过,则抛弃该任一有效数据。

步骤s102:针对任一缓存区域,创建缓存区域中的已存储的有效数据的数据集,并将该数据集发送至预置数据库。

具体地,针对任一缓存区域,如,【10:30,10:35】时间窗口下的缓存区域cache,通过cube算法,创建缓存区域cache中的已存储的有效数据,如,“买家于2017年11月11日10:30在a购物网站上购买冰箱”、“买家于2017年11月11日10:32在b购物网站上购买电视”、“买家于2017年11月11日10:34在a购物网站上购买书桌”、“买家于2017年11月11日10:35在b购物网站上购买茶几”,的cube数据集;服务器将该创建好的cube数据集发送至预置数据库,如,硬盘数据库。

需要说明的是,在上述优选实施例中,为了对该步骤s102进行简单而有效的说明,仅选举了四个有效数据;但实际上在任一缓存区域中,应当可以存储更多有效数据,并创建该更多有效数据的数据集;此外,cube数据集应当是实时建立的,不会等到其时间窗口下的缓存区域cache中所有有效数据都接收完成,再去创建cube数据集,且在实时创建cube数据集的过程中,将已创建的部分cube数据集缓存在其所属的时间窗口下的缓存区域cache中,直至完成该时间窗口下的缓存区域cache中所有有效数据的cube数据集的创建。

步骤s103:基于接收到的数据查询请求,从预置数据库和/或对应的缓存区域中的数据集中获取与查询请求相匹配的查询结果。

具体地,基于接收到的数据查询请求,从预置数据库和/或任一缓存区域中的数据集中获取与查询请求相匹配的查询结果的步骤,如图3所示,包括:步骤s301:基于接收到的数据查询请求,从预置数据库的数据集中获取与查询请求相匹配的查询结果;步骤s302:若未从预置数据库的数据集中获取到相匹配的查询结果,从与数据查询请求对应的缓存区域中的数据集中获取相匹配的查询结果。

例如,当服务器于2017年11月11日10:33接收到客户端发送的数据查询请求时,服务器基于该数据查询请求中的查询关键词,如,“2017年11月11日10:30至2017年11月11日10:32之间,买家在各个购物网站上购买商品”,从硬盘数据库中的cube数据集中获取与该查询请求的查询关键词相匹配的查询结果;由于该硬盘数据库中只存储到当天10:30的cube数据集,所以服务器在该硬盘数据库中只能查询“2017年11月11日10:30之前,买家在各个购物网站上购买商品”的数据查询结果,无法查询到“2017年11月11日10:30至2017年11月11日10:32之间,买家在各个购物网站上购买商品”的数据查询结果,所以服务器基于该查询关键词“2017年11月11日10:30至2017年11月11日10:32之间”,查询并获取对应【10:30,10:35】时间窗口下的缓存区域cache中的已创建的部分cube数据集中“10:30至10:32之间的买家在各个购物网站上购买商品”的查询结果。服务器将该查询结果返回至客户端,以供用户查看。

具体地,基于接收到的数据查询请求,从预置数据库和/或任一缓存区域中的数据集中获取与查询请求相匹配的查询结果的步骤,如图4所示,还包括:步骤s401:若从预置数据库的数据集中获取到与数据查询请求相匹配的查询结果中的第一部分;步骤s402:从与数据查询请求对应的缓存区域中的数据集中获取相匹配的查询结果中的第二部分;其中,第一部分和第二部分形成完整查询结果。

例如,当服务器于2017年11月11日10:33接收到客户端发送的数据查询请求时,服务器基于该数据查询请求中的查询关键词,如,“2017年11月11日00:00至2017年11月11日10:32之间,买家在各个购物网站上购买商品”,从硬盘数据库中的cube数据集中获取与该查询请求的查询关键词相匹配的查询结果;由于该硬盘数据库中只存储到当天10:30的cube数据集,所以服务器在该硬盘数据库中只能查询并获取到“2017年11月11日00:00至2017年11月11日10:30之间的买家在各个购物网站上购买商品”的数据查询结果,故服务器基于该查询关键词“2017年11月11日00:00至2017年11月11日10:32之间”,查询并获取对应【10:30,10:35】时间窗口下的缓存区域cache中的已创建的部分cube数据集中“10:30至10:32之间,买家在各个购物网站上购买商品”的查询结果。服务器将这两部分查询结果返回至客户端,以供用户查看。

具体地,基于接收到的数据查询请求,从预置数据库和/或任一缓存区域中的数据集中获取与查询请求相匹配的查询结果的步骤,包括:若判断预置数据库的数据集中存在与数据查询请求相匹配的完整查询结果,获取完整查询结果。

例如,当服务器于2017年11月11日10:31接收到客户端发送的数据查询请求时,服务器基于该数据查询请求中的查询关键词,如,“2017年11月11日00:00至2017年11月11日10:30之间,买家在各个购物网站上购买商品”,从硬盘数据库中的cube数据集中获取与该查询请求的查询关键词相匹配的查询结果;由于该硬盘数据库中存储到当天10:30的cube数据集,所以服务器在该硬盘数据库中能通过查询而判断硬盘数据库的数据集中存在与数据查询请求相匹配的完整查询结果,并在该硬盘数据库中获取到“2017年11月11日10:30之前,买家在各个购物网站上购买商品”的数据查询结果,故服务器将获取得到该查询结果返回至客户端,以供用户查看。

需要说明的是,在本优选实施例中,用户获取到的查询结果可以为数据趋势图、数据曲线图等,以供用户根据该查询结果,对交易市场、经营手段等进行分析和调整。

图5为本发明中的另一个实施例的数据处理及查询的装置的结构框架示意图。

接收模块501,将接收到的有效数据存储至相应时间窗口下的缓存区域中;创建模块502,针对任一缓存区域,创建缓存区域中的已存储的有效数据的数据集,并将该数据集发送至预置数据库;获取模块503,基于接收到的数据查询请求,从预置数据库和/或对应的缓存区域中的数据集中获取与查询请求相匹配的查询结果。

以下针对各个模块的具体实现做进一步的说明:

接收模块501,将接收到的有效数据存储至相应时间窗口下的缓存区域中。

具体地,本实施例装置还包括:划分模块,基于窗口周期,依次划分连续时间窗口下的缓存区域。其中,接收模块501,如图6所示,包括:确定单元601,确定接收到的有效数据的时间标识;第一存储单元602,将有效数据存储至与其时间标识相应时间窗口下的缓存区域中。

例如,服务器的划分模块,基于窗口周期5分钟,依次划分连续时间窗口下的缓存区域,如,【10:30,10:35】时间窗口下的缓存区域、【10:35,10:40】时间窗口下的缓存区域,【10:40,10:45】时间窗口下的缓存区域等;服务器获取来自数据收集系统,如,kafka分布式消息系统,发送的原始数据,提取所述原始数据中的所需数据,并将所需数据进行整理,生成预置格式的有效数据,如,“买家于2017年11月11日10:30在a购物网站上购买冰箱的有效数据”、“买家于2017年11月11日10:32在b购物网站上购买电视的有效数据”、“买家于2017年11月11日10:37在a购物网站上购买台灯的有效数据”、“买家于2017年11月11日10:38在b购物网站上购买空调的有效数据”等;服务器的确定单元601,确定接收到的有效数据时间标识,如,确定“买家于2017年11月11日10:30在a购物网站上购买冰箱”的有效数据时间标识为:2017年11月11日10:30,确定“买家于2017年11月11日10:32在b购物网站上购买电视”的有效数据时间标识为:2017年11月11日10:32,确定“买家于2017年11月11日10:37在a购物网站上购买台灯”的有效数据时间标识为:2017年11月11日10:37,确定“买家于2017年11月11日10:38在b购物网站上购买空调”的有效数据时间标识为:2017年11月11日10:38;服务器的第一存储单元602,将有效数据:“买家于2017年11月11日10:30在a购物网站上购买冰箱”存储至与其时间标识:2017年11月11日10:30相应【10:30,10:35】时间窗口下的缓存区域cache中;以此类推,服务器的第一存储单元602,分别将有效数据:“买家于2017年11月11日10:32在b购物网站上购买电视”存储至与其时间标识相应【10:30,10:35】时间窗口下的缓存区域cache中,“买家于2017年11月11日10:37在a购物网站上购买台灯”存储至与其时间标识相应【10:35,10:40】时间窗口下的缓存区域cache中,“买家于2017年11月11日10:38在b购物网站上购买空调”存储至与其时间标识相应【10:35,10:40】时间窗口下的缓存区域cache中。

需要说明的是,上述优选实施例中的【10:30,10:35】时间窗口为每天上午十点三十分至十点三十五分的时间窗口,【10:35,10:40】时间窗口为每天上午十点三十五分至十点四十分的时间窗口,【10:40,10:45】时间窗口为每天上午十点四十分至十点四十五分的时间窗口。

具体地,该装置还包括:设置模块,对接收有效数据的时间窗口设置等待时间;其中,接收模块,如图6所示,还包括:第二存储单元603,在等待时间内接收到有效数据时,将有效数据存储至与该有效数据的时间标识相应时间窗口下的缓存区域中。

例如,服务器的设置模块,对接收有效数据的时间窗口设置等待时间:3分钟,则【10:30,10:35】时间窗口、【10:35,10:40】时间窗口和【10:40,10:45】时间窗口的等待时间均为3分钟,即,该三个时间窗口的存活时间为8分钟。服务器的第二存储单元603,在【10:30,10:35】时间窗口的等待时间3分钟内,即,10:35至10:38之间接收到时间标识为:2017年11月11日10:30-10:35的有效数据,如,10:37接收到“买家于2017年11月11日10:30在a购物网站上购买冰箱”的有效数据,则服务器将该有效数据存储至与该有效数据的时间标识:2017年11月11日10:30相应【10:30,10:35】时间窗口下的缓存区域中。

具体地,该装置还包括:停止接收模块,在超出等待时间后,相应的时间窗口下的缓存区域中不接收数据。

例如,在超出【10:30,10:35】时间窗口的等待时间3分钟,即在10:38之后,该【10:30,10:35】时间窗口不接受任何有效数据。

需要说明的是,在时间窗口的等待时间结束后,服务器应当将存储至相应时间窗口的有效数据抛弃即可,当抛弃数据占服务器接收到的有效数据的2%或3%是不影响数据集建立的准确性的。

若服务器的第一存储单元602,无法找到与任一有效数据的时间标识相应时间窗口时,即服务器的第一存储单元602,无法将该任一有效数据存储至相应时间窗口下的缓存区域中时,则服务器判断该相应时间窗口是否已经生成过;若判断该时间窗口没有生成过,则生成该时间窗口,并将该任一有效数据存储至该相应时间窗口下的缓存区域中;若判断该时间窗口生成过,则抛弃该任一有效数据。

创建模块502,针对任一缓存区域,创建缓存区域中的已存储的有效数据的数据集,并将该数据集发送至预置数据库。

具体地,创建模块502,针对任一缓存区域,如,【10:30,10:35】时间窗口下的缓存区域cache,通过cube算法,创建缓存区域cache中的已存储的有效数据,如,“买家于2017年11月11日10:30在a购物网站上购买冰箱”、“买家于2017年11月11日10:32在b购物网站上购买电视”、“买家于2017年11月11日10:34在a购物网站上购买书桌”、“买家于2017年11月11日10:35在b购物网站上购买茶几”,的cube数据集;服务器将该创建好的cube数据集发送至预置数据库,如,硬盘数据库。

需要说明的是,在上述优选实施例中,为了对该创建模块502,进行简单而有效的说明,仅选举了四个有效数据;但实际上在任一缓存区域中,应当可以存储更多有效数据,并创建该更多有效数据的数据集;此外,cube数据集应当是实时建立的,不会等到其时间窗口下的缓存区域cache中所有有效数据都接收完成,再去创建cube数据集,且在实时创建cube数据集的过程中,将已创建的部分cube数据集缓存在其所属的时间窗口下的缓存区域cache中,直至完成该时间窗口下的缓存区域cache中所有有效数据的cube数据集的创建。

获取模块503,基于接收到的数据查询请求,从预置数据库和/或对应的缓存区域中的数据集中获取与查询请求相匹配的查询结果。

具体地,获取模块503,如图7所示,包括:第一获取单元701,基于接收到的数据查询请求,从预置数据库的数据集中获取与查询请求相匹配的查询结果;第二获取单元702,若未从预置数据库的数据集中获取到相匹配的查询结果,从与数据查询请求对应的缓存区域中的数据集中获取相匹配的查询结果。

例如,当服务器于2017年11月11日10:33接收到客户端发送的数据查询请求时,服务器的第一获取单元701,基于该数据查询请求中的查询关键词,如,“2017年11月11日10:30至2017年11月11日10:32之间,买家在各个购物网站上购买商品”,从硬盘数据库中的cube数据集中获取与该查询请求的查询关键词相匹配的查询结果;由于该硬盘数据库中只存储到当天10:30的cube数据集,所以服务器的第一获取单元701,在该硬盘数据库中只能查询“2017年11月11日10:30之前,买家在各个购物网站上购买商品”的数据查询结果,无法查询到“2017年11月11日10:30至2017年11月11日10:32之间,买家在各个购物网站上购买商品”的数据查询结果,所以服务器的第二获取单元702,基于该查询关键词“2017年11月11日10:30至2017年11月11日10:32之间”,查询并获取对应【10:30,10:35】时间窗口下的缓存区域cache中的已创建的部分cube数据集中“10:30至10:32之间的买家在各个购物网站上购买商品”的查询结果。服务器将该查询结果返回至客户端,以供用户查看。

具体地,获取模块503,如图8所示,还包括:第三获取单元801,若从预置数据库的数据集中获取到与数据查询请求相匹配的查询结果中的第一部分;第四获取单元802,从与数据查询请求对应的缓存区域中的数据集中获取相匹配的查询结果中的第二部分;其中,第一部分和第二部分形成完整查询结果。

例如,当服务器于2017年11月11日10:33接收到客户端发送的数据查询请求时,服务器的第三获取单元801,基于该数据查询请求中的查询关键词,如,“2017年11月11日00:00至2017年11月11日10:32之间,买家在各个购物网站上购买商品”,从硬盘数据库中的cube数据集中获取与该查询请求的查询关键词相匹配的查询结果;由于该硬盘数据库中只存储到当天10:30的cube数据集,所以服务器的第三获取单元801,在该硬盘数据库中只能查询并获取到“2017年11月11日00:00至2017年11月11日10:30之间的买家在各个购物网站上购买商品”的数据查询结果,故服务器的第四获取单元802,基于该查询关键词“2017年11月11日00:00至2017年11月11日10:32之间”,查询并获取对应【10:30,10:35】时间窗口下的缓存区域cache中的已创建的部分cube数据集中“10:30至10:32之间,买家在各个购物网站上购买商品”的查询结果。服务器将这两部分查询结果返回至客户端,以供用户查看。

具体地,获取模块503,还包括:第五获取单元,若判断预置数据库的数据集中存在与数据查询请求相匹配的完整查询结果,获取完整查询结果。

例如,当服务器于2017年11月11日10:31接收到客户端发送的数据查询请求时,服务器的第五获取单元,基于该数据查询请求中的查询关键词,如,“2017年11月11日00:00至2017年11月11日10:30之间,买家在各个购物网站上购买商品”,从硬盘数据库中的cube数据集中获取与该查询请求的查询关键词相匹配的查询结果;由于该硬盘数据库中存储到当天10:30的cube数据集,所以服务器的第五获取单元,通过查询而判断硬盘数据库的数据集中存在与数据查询请求相匹配的完整查询结果,并在该硬盘数据库中获取到“2017年11月11日10:30之前,买家在各个购物网站上购买商品”的数据查询结果,故服务器将获取得到该查询结果返回至客户端,以供用户查看。

需要说明的是,在本优选实施例中,用户获取到的查询结果可以为数据趋势图、数据曲线图等,以供用户根据该查询结果,对交易市场、经营手段等进行分析和调整。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1