发明内容
本发明的主要目的在于提出一种批量数据处理方法、服务器、系统及存储介质,旨在解决现有技术中面对批量数据处理经常出现堵塞的技术问题。
为实现上述目的,本发明提供一种批量数据处理方法,所述批量数据处理方法包括以下步骤:
服务器获取批量数据,根据所述批量数据的数据类型将所述批量数据保存至预设数据库;
提取所述预设数据库中的数据,将所述预设数据库中的数据通过本地预存的第一预设规则进行预处理;
将所述预处理后的数据导入预设处理中心,以使所述预设处理中心根据本地预存的第二预设规则对所述预处理后的数据进行分类,并将分类后的数据送入相应的数据库进行分析;
将分析后的数据通过第一预设算法进行计算,并根据计算结果得出所述批量数据的挖掘结果。
优选地,所述服务器获取批量数据,根据所述批量数据的数据类型将所述批量数据保存至预设数据库之后,所述方法还包括:
接收用户查询请求,根据所述查询请求访问所述预设数据库,以使所述预设数据库根据所述用户请求输出相应的查询结果。
优选地,所述提取所述预设数据库中的数据,将所述预设数据库中的数据通过本地预存的第一预设规则进行预处理之前,所述方法还包括:
获取用户的第一存储指令,提取所述所述第一存储指令中的第一预设规则,并将所述第一预设规则保存在本地。
优选地,所述提取所述预设数据库中的数据,将所述预设数据库中的数据通过本地预存的第一预设规则进行预处理之前,所述方法还包括:
获取所述预设数据库中的数据的数据格式,在所述数据格式不满足合法格式时,将不满足合法格式的数据进行过滤,并将过滤后的数据作为所述预设数据库中的数据。
优选地,所述提取所述预设数据库中的数据,将所述预设数据库中的数据通过本地预存的第一预设规则进行预处理,具体包括:
提取所述预设数据库中的数据,根据所述第一预设规则对所述数据通过第二预设算法进行实时处理。
优选地,所述将分析后的数据通过第一预设算法进行计算,并根据计算结果得出所述批量数据的挖掘结果,具体包括:
获取所述分析后的数据的挖掘类型,根据所述挖掘类型选择相应的挖掘算法进行计算,并根据计算结果得出所述批量数据的挖掘结果。
优选地,所述获取批量数据之前,所述方法还包括:
获取用户配置指令,根据所述配置指令与多种数据库建立连接。
此外,为实现上述目的,本发明还提出一种服务器,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的批量数据处理程序,所述批量数据处理程序配置为实现如上文所述的批量数据处理方法的步骤。
此外,为实现上述目的,本发明还提出一种批量数据处理系统,所述批量数据处理系统包括:多种类型的数据库以及如权利要求8中所述的服务器。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有批量数据处理程序,所述批量数据处理程序被处理器执行时实现如上文所述的批量数据处理方法的步骤。
本发明提出的批量数据处理方法,可对数据进行采集、预处理、导入、分析以及挖掘,并对所述数据采用相应的算法以及数据库进行分析,从而可根据用户需求对数据进行有效处理。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的服务器结构示意图。
如图1所示,该服务器可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及批量数据处理程序。
在图1所示的服务器中,网络接口1004主要用于连接数据库,与数据库进行数据通信;用户接口1003主要用于连接用户终端,与终端进行数据通信;本发明服务器中的处理器1001、存储器1005可以设置在服务器中,所述服务器通过处理器1001调用存储器1005中存储的批量数据处理程序,并执行以下操作:
服务器获取批量数据,根据所述批量数据的数据类型将所述批量数据保存至预设数据库;
提取所述预设数据库中的数据,将所述预设数据库中的数据通过本地预存的第一预设规则进行预处理;
将所述预处理后的数据导入预设处理中心,以使所述预设处理中心根据本地预存的第二预设规则对所述预处理后的数据进行分类,并将分类后的数据送入相应的数据库进行分析;
将分析后的数据通过第一预设算法进行计算,并根据计算结果得出所述批量数据的挖掘结果。
进一步地,处理器1001可以调用存储器1005中存储的批量数据处理程序,还执行以下操作:
接收用户查询请求,根据所述查询请求访问所述预设数据库,以使所述预设数据库根据所述用户请求输出相应的查询结果。
进一步地,处理器1001可以调用存储器1005中存储的批量数据处理程序,还执行以下操作:
获取用户的第一存储指令,提取所述所述第一存储指令中的第一预设规则,并将所述第一预设规则保存在本地。
进一步地,处理器1001可以调用存储器1005中存储的批量数据处理程序,还执行以下操作:
获取所述预设数据库中的数据的数据格式,在所述数据格式不满足合法格式时,将不满足合法格式的数据进行过滤,并将过滤后的数据作为所述预设数据库中的数据。
进一步地,处理器1001可以调用存储器1005中存储的批量数据处理程序,还执行以下操作:
提取所述预设数据库中的数据,根据所述第一预设规则对所述数据通过第二预设算法进行实时处理。
进一步地,处理器1001可以调用存储器1005中存储的批量数据处理程序,还执行以下操作:
获取所述分析后的数据的挖掘类型,根据所述挖掘类型选择相应的挖掘算法进行计算,并根据计算结果得出所述批量数据的挖掘结果。
进一步地,处理器1001可以调用存储器1005中存储的批量数据处理程序,还执行以下操作:
获取用户配置指令,根据所述配置指令与多种数据库建立连接。
本实施例通过上述方案,服务器可对数据进行采集、预处理、导入、分析以及挖掘,并对所述数据采用相应的算法以及数据库进行分析,从而可根据用户需求对数据进行有效处理。
基于上述硬件结构,提出本发明批量数据处理方法实施例。
参照图2,图2为本发明批量数据处理方法第一实施例的流程示意图。
在第一实施例中,所述批量数据处理方法包括以下步骤:
步骤S10,服务器获取批量数据,根据所述批量数据的数据类型将所述批量数据保存至预设数据库;
需要说明的是,服务器在在获取批量数据之前,与多种数据库建立连接,从而实现与多种数据库进行数据交互,所述预设数据库可包括关系型的数据库MySQL和甲骨文Oracle,还包括非关系型数据库(Not Only Structure Query Language,NoSQL),Redis和MongoDB等,获取用户配置指令,根据所述配置指令与多种数据库建立连接。
在本实施例中,可通过多个数据库接收客户端发送的数据,所述客户端可为网页、应用程序或者传感器形式等。通过客户端发送的数据,通过多种数据库进行相应的保存,例如电商通常使用传统的关系型数据库等来存储每一笔事物数据,对于一些浏览器的页面的访问信息一般通过非关系型数据库进行数据存储。
在具体实现中,可通过用户的客户群体的特点以及应用方式,通过选用合适的数据库进行数据存储,从而较大的发挥了相应的数据库的特点,更利于数据存储效率。
步骤S20,提取所述预设数据库中的数据,将所述预设数据库中的数据通过本地预存的第一预设规则进行预处理;
需要说明的是,所述第一预设规则可为相应的算法进行计算,还可为根据用户对数据进行相应的处理,例如对数据进行筛选,提取出设定为某个时间段之间的数据进行处理,还可为例如利用Twitter的Storm数据库对数据进流式计算,从而满足部分业务的实时计算的需求。
可以理解是,所述第一预设规则还可为通过用户需求选用最佳的数据库进数据处理,还可为对数据进行格式转化,例如系统采集的数据为来自不同的平台的数据,所述数据的数据格式大部分都不相同,在这种情况下,可将所述进行格式转换,转换为通用的数据格式进行处理,从而满足批量数据的采集需求。
进一步的,在对数据进行预处理之前,还可对接收的数据进行判断,即对接收的数据进行初步过滤,将不符合预设规则的数据进行清理,所述预设规则可为数据是否属于合法的格式要求,还可为根据用户需求对数据进行相应的处理,例如用户需要更细化的实时数据,比如说对数据进行分析,用户只需要在每天的早上9:00到下午6:00之间用户的使用数据,在这条规则下,可将数据进行相应的处理,从而减少对无效数据的处理,缓解系统处理数据的压力。
步骤S30,将所述预处理后的数据导入预设处理中心,以使所述预设处理中心根据本地预存的第二预设规则对所述预处理后的数据进行分类,并将分类后的数据送入相应的数据库进行分析;
需要说明的是,所述预设处理中心可为集中的大型分布式数据库或者分布式存储集群,虽然采集端本身会有很多数据库,但是如果要对这些批量数据进行有效的分析,还是应该将这些来自前端的数据导入到一个集中的大型分布式数据库,或者分布式存储集群,并且可以在导入基础上做一些简单的清洗和预处理工作。也有一些用户会在导入时使用来自Twitter的Storm来对数据进行流式计算,来满足部分业务的实时计算需求。
统计与分析主要利用分布式数据库,或者分布式计算集群来对存储于其内的批量数据进行普通的分析和分类汇总等,以满足大多数常见的分析需求,例如一些实时性需求会用到EMC的GreenPlum数据库、Oracle的Exadata数据库,以及基于MySQL的列式存储Infobright数据库等,而一些批处理,或者基于半结构化数据的需求可以使用Hadoop数据库,从而提供多种数据库对数据进行相应的处理。
可以理解的是,所述第二预设规则可对根据数据的不同需求将数据放入不同的数据库进行相应的管理,即通过第二预设规则对所述预处理后的数据进行分类,并将分类后的数据送入相应的数据库进行分析,所述分类可在放入数据库之前进行,也可同时进行,本实施例对此不作限制。
在具体实现中,本实施例通过结合多种数据库对数据进行分析处理,并根据需求可将数据放入相应的数据库,在涉及数据量大的情况下,可将数据进行并行处理,并放入不同的数据库,从而实现对数据的并行处理与分类管理,通过多种数据库的并行处理从而缓解系统的处理压力。
步骤S40,将分析后的数据通过第一预设算法进行计算,并根据计算结果得出所述批量数据的挖掘结果。
需要说明的是,所述第一预设算法可为聚类算法Kmeans、朴素贝叶斯算法NaiveBayes以及聚类算法Mahout,还可为其他算法,本实施例对此不作限制。通过不同数据库从而使用相应的算法进行处理,从而满足用户对数据的不同需求。
可以理解的是,与前面统计和分析过程不同的是,数据挖掘一般没有什么预先设定好的主题,主要是在现有数据上面进行基于各种算法的计算,从而起到预测的效果,从而实现一些高级别数据分析的需求。比较典型算法有用于聚类算法Kmeans、用于统计学习的支持向量机(Support Vector Machine,SVN)和用于分类的朴素贝叶斯算法NaiveBayes,主要使用的工具有Hadoop的聚类算法Mahout等。
本实施例提供的方案,服务器可对数据进行采集、预处理、导入、分析以及挖掘,并对所述数据采用相应的算法以及数据库进行分析,从而可根据用户需求对数据进行有效处理。
进一步地,如图3所示,基于第一实施例提出本发明批量数据处理方法第二实施例,在本实施例中,所述步骤S10之后,所述方法还包括:
步骤S101,接收用户查询请求,根据所述查询请求访问所述预设数据库,以使所述预设数据库根据所述用户请求输出相应的查询结果。
需要说明的是,所述查询请求可为用户通过客户端输入的查询指令,客户端将所述查询指令发送给服务器,服务器根据所述查询指令调用相应的数据库进行响应,从而用户可通过数据库进行查询和处理。
在具体实现中,所述数据库还可将所述查询结构反馈给用户,即用户通过客户端可进行相应的结果展示,通过客户端进行操作,可直接操作相应的数据库,并将数据库的查询结果在当前界面中进行展示,例如用户通过客户端登陆到服务器,从而访问到SQL数据库,通过输入指令可查询到相应的响应结果。
本实施例提供的方案,接收用户查询请求,根据所述查询请求访问所述预设数据库,所述预设数据库根据所述用户请求输出相应的查询结果,从而可使用户对采集的数据可实时进行相应的处理。
进一步地,如图4所示,基于第一实施例提出本发明批量数据处理方法第三实施例,在本实施例中,所述步骤S20之前,所述方法还包括:
步骤S201,获取用户的第一存储指令,提取所述所述第一存储指令中的第一预设规则,并将所述第一预设规则保存在本地。
需要说明的是,所述第一存储指令,根据所述第一存储指令设置预设规则,并将所述第一预设规则保存在本地,所述第一预设规则可为相应的算法进行计算,还可为根据用户对数据进行相应的处理,例如对数据进行筛选,提取出设定为某个时间段之间的数据进行处理,还可为例如利用Twitter的Storm数据库对数据进流式计算,从而满足部分业务的实时计算的需求。
可以理解是,所述第一预设规则还可为通过用户需求选用最佳的数据库进数据处理,还可为对数据进行格式转化,例如系统采集的数据为来自不同的平台的数据,所述数据的数据格式大部分都不相同,在这种情况下,可将所述进行格式转换,转换为通用的数据格式进行处理,从而满足批量数据的采集需求。
本实施例提供的方案,在数据进行处理之前,可对数据通过预设规则进行相应的处理,将数据进行有效管理,从而满足批量数据的采集需求。
进一步地,如图5所示,基于第一实施例、第二实施例以及第三实施例中任一项提出本发明批量数据处理方法第四实施例,在本实施例中,以基于第一实施例进行说明,所述步骤S20之前,所述方法还包括:
步骤S202,获取所述预设数据库中的数据的数据格式,在所述数据格式不满足合法格式时,将不满足合法格式的数据进行过滤,并将过滤后的数据作为所述预设数据库中的数据。
需要说明的是,为了避免对无效数据的处理,从而缓解系统处理数据的压力,在本实施例中,在数据导入集中分布式数据库之前,对数据的数据格式进行有效的判断,提取所述数据的数据格式,在数据格式不满足合法格式的要求时,将所述数据进行过滤,在数据满足合法数据格式时,将所述数据进行导入,从而缓解批量数据的处理压力。
本实施例提供的方案,通过获取所述预设数据库中的数据的数据格式,在所述数据格式不满足合法格式时,将不满足合法格式的数据进行过滤,并将过滤后的数据作为所述预设数据库中的数据,从而缓解批量数据的处理压力。
进一步地,如图6所示,基于第一实施例、第二实施例以及第三实施例中任一项提出本发明批量数据处理方法第五实施例,在本实施例中,以基于第一实施例进行说明,所述步骤S20,具体包括:
步骤S203,提取所述预设数据库中的数据,根据所述第一预设规则对所述数据通过第二预设算法进行实时处理。
需要说明的是,所述第二预设算法可为聚类算法Kmeans、朴素贝叶斯算法NaiveBayes以及聚类算法Mahout,还可为其他算法,本实施例对此不作限制。通过不同数据库从而使用相应的算法进行处理,从而满足用户对数据的不同需求。
在具体实现中,一些用户会在导入时使用来自Twitter的Storm来对数据进行流式计算,来满足部分业务的实时计算需求,还可为针对用户的需求从而选择最优的算法进行相应的处理,用于聚类算法Kmeans、用于统计学习的支持向量机SVN和用于分类的朴素贝叶斯算法NaiveBayes。
本实施例提供的方案,提取所述预设数据库中的数据,根据所述第一预设规则对所述数据通过第二预设算法进行实时处理,从而通过不同的算法对数据进行处理,从而满足用户对数据的不同需求。
进一步地,如图7所示,基于第一实施例、第二实施例以及第三实施例中任一项提出本发明批量数据处理方法第六实施例,在本实施例中,以基于第一实施例进行说明,所述步骤S40,具体包括:
步骤S401,获取所述分析后的数据的挖掘类型,根据所述挖掘类型选择相应的挖掘算法进行计算,并根据计算结果得出所述批量数据的挖掘结果。
需要说明的是,与前面统计和分析过程不同的是,数据挖掘一般没有什么预先设定好的主题,主要是在现有数据上面进行基于各种算法的计算,从而起到预测的效果,从而实现一些高级别数据分析的需求。比较典型算法有用于聚类算法Kmeans、用于统计学习的支持向量机(Support Vector Machine,SVN)和用于分类的朴素贝叶斯算法NaiveBayes,主要使用的工具有Hadoop的聚类算法Mahout等。
本实施例提供的方案,获取所述分析后的数据的挖掘类型,根据所述挖掘类型选择相应的挖掘算法进行计算,并根据计算结果得出所述批量数据的挖掘结果,从而通过不同的算法对数据进行处理,从而满足用户对数据的不同需求。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有批量数据处理程序,所述批量数据处理程序被处理器执行时实现如下操作:
服务器获取批量数据,根据所述批量数据的数据类型将所述批量数据保存至预设数据库;
提取所述预设数据库中的数据,将所述预设数据库中的数据通过本地预存的第一预设规则进行预处理;
将所述预处理后的数据导入预设处理中心,以使所述预设处理中心根据本地预存的第二预设规则对所述预处理后的数据进行分类,并将分类后的数据送入相应的数据库进行分析;
将分析后的数据通过第一预设算法进行计算,并根据计算结果得出所述批量数据的挖掘结果。
进一步地,所述批量数据处理程序被处理器执行时还实现如下操作:
接收用户查询请求,根据所述查询请求访问所述预设数据库,以使所述预设数据库根据所述用户请求输出相应的查询结果。
进一步地,所述批量数据处理程序被处理器执行时还实现如下操作:
获取用户的第一存储指令,提取所述所述第一存储指令中的第一预设规则,并将所述第一预设规则保存在本地。
进一步地,所述批量数据处理程序被处理器执行时还实现如下操作:
获取所述预设数据库中的数据的数据格式,在所述数据格式不满足合法格式时,将不满足合法格式的数据进行过滤,并将过滤后的数据作为所述预设数据库中的数据。
进一步地,所述批量数据处理程序被处理器执行时还实现如下操作:
提取所述预设数据库中的数据,根据所述第一预设规则对所述数据通过第二预设算法进行实时处理。
进一步地,所述批量数据处理程序被处理器执行时还实现如下操作:
获取所述分析后的数据的挖掘类型,根据所述挖掘类型选择相应的挖掘算法进行计算,并根据计算结果得出所述批量数据的挖掘结果。
进一步地,所述批量数据处理程序被处理器执行时还实现如下操作:
获取用户配置指令,根据所述配置指令与多种数据库建立连接。
本实施例通过上述方案,服务器可对数据进行采集、预处理、导入、分析以及挖掘,并对所述数据采用相应的算法以及数据库进行分析,从而可根据用户需求对数据进行有效处理。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。