CN108427759A - 用于海量数据处理的实时数据计算方法 - Google Patents

用于海量数据处理的实时数据计算方法 Download PDF

Info

Publication number
CN108427759A
CN108427759A CN201810225319.2A CN201810225319A CN108427759A CN 108427759 A CN108427759 A CN 108427759A CN 201810225319 A CN201810225319 A CN 201810225319A CN 108427759 A CN108427759 A CN 108427759A
Authority
CN
China
Prior art keywords
data
homepage
page
hit
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201810225319.2A
Other languages
English (en)
Inventor
张悠
陈熹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Ico Huizhi Technology Co Ltd
Original Assignee
Sichuan Ico Huizhi Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Ico Huizhi Technology Co Ltd filed Critical Sichuan Ico Huizhi Technology Co Ltd
Priority to CN201810225319.2A priority Critical patent/CN108427759A/zh
Publication of CN108427759A publication Critical patent/CN108427759A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Abstract

本发明提供了一种用于海量数据处理的实时数据计算方法,该方法包括:在搜索过程中,搜索引擎解析用户输入的多维搜索请求,获取与多维搜索请求对应的分词过滤项;根据分词过滤项,搜索预先建立的索引结构,获取与分词过滤项对应的命中页面。本发明提出了一种用于海量数据处理的实时数据计算方法,优化了数据搜索引擎技术,在保证搜索引擎对多维数据高性能搜索的同时,降低了数据的更新代价,高效实现了多维搜索。

Description

用于海量数据处理的实时数据计算方法
技术领域
本发明涉及大数据搜索,特别涉及一种用于海量数据处理的实时数据计算方法。
背景技术
大数据正在发生着巨大的变化,客户数据、交易数据、社交媒体数据和网络行为等数据,都蕴含着巨大的高价值商业信息,它们决定着企业的未来和发展。基于大数据的实时搜索的要求也变得越来越高了,而当前开源的大数据环境下的实时搜索引擎由于其性能、稳定性和经验积累等原因还存在一定的使用风险,而且在多维数据高性能搜索的同时,时间和空间代价过高。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种用于海量数据处理的实时数据计算方法,包括:
在搜索过程中,搜索引擎解析用户输入的多维搜索请求,获取与多维搜索请求对应的分词过滤项;
根据分词过滤项,搜索预先建立的索引结构,获取与分词过滤项对应的命中页面。
优选地,所述分词过滤项包括首级分词过滤项,和/或次级分词过滤项。
优选地,所述搜索引擎基于MapReduce框架。
优选地,所述根据分词过滤项,搜索预先建立的索引结构,获取与分词过滤项对应的命中页面,进一步包括:
首先根据首级分词过滤项,确定对应的主页面ID集合;之后根据次级分词过滤项,确定对应的映射文档集,在该映射文档集中以主页面ID为Key,以与主页面ID对应的次级页面ID集合为对应的Value;
在获取主页面ID集合以及映射文档集之后,通过将主页面ID集合与映射文档集中的Key取交集,可以确定最终满足条件的命中主页面ID集合,之后根据映射文档集中与命中主页面ID集合对应的Value,确定与命中主页面ID对应的命中次级页面ID集合。
优选地,按照预定义排序规则对与命中主页面ID集合对应的命中主页面进行排序,并将排序结果结合与命中次级页面ID集合对应的命中次级页面进行显示。
本发明相比现有技术,具有以下优点:
本发明提出了一种用于海量数据处理的实时数据计算方法,优化了数据搜索引擎技术,在保证搜索引擎对多维数据高性能搜索的同时,降低了数据的更新代价,高效实现了多维搜索。
附图说明
图1是根据本发明实施例的用于海量数据处理的实时数据计算方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
本发明的一方面提供了一种用于海量数据处理的实时数据计算方法。图1是根据本发明实施例的用于海量数据处理的实时数据计算方法流程图。本发明适用于建立进行多维搜索的索引结构的情况,具体包括:
将爬虫模块爬取得到的主页面数据以及次级页面数据分别存储于不同的Hadoop存储节点中。可选的,为了提高搜索性能,可将属于同一主页面的至少一个次级页面连续存储于Hadoop存储节点中连续的物理区块。
根据主页面数据以及次级页面数据之间的关联关系,建立用于进行多维搜索的主页面反向索引表以及次级页面反向索引表。
其中,在主页面反向索引表中记录有与主页面关联的次级页面的存储位置,在次级页面反向索引表中记录有与次级页面关联的主页面的存储位置。通过在主页面反向索引表中记录关联的次级页面的存储位置,以及在次级页面反向索引表中记录关联的主页面的存储位置,可以实现即使将主页面数据与次级页面数据进行独立存储,也能快速将主页面数据与次级页面数据进行快速关联。
主页面反向索引表中可包括:主词索引,以及与主词索引对应的主页面记录集,其中,在主页面记录中存储有包括主词索引的目标主页面的页面ID,以及与目标主页面关联的次级页面信息;
次级页面反向索引表中包括:次级词索引,以及与次级词索引对应的次级页面记录集,其中,在次级页面记录中存储有包括次级词索引的目标次级页面的页面ID,以及与目标次级页面ID关联的主页面信息;其中,在Hadoop存储节点中,不同页面对应不同的页面ID。
在搜索引擎实际搜索过程中,搜索引擎解析用户输入的多维搜索请求,获取与多维搜索请求对应的分词过滤项。分词过滤项包括:首级分词过滤项,和/或次级分词过滤项。
根据分词过滤项,搜索索引结构,获取与分词过滤项对应的命中主页面ID集合,以及与命中主页面ID对应的命中次级页面ID集合。
首级分词过滤项或者次级分词过滤项对应于一个或者多个词项属性,词项属性对应于索引结构的主页面反向索引表或者次级页面反向索引表中的词索引。
在搜索引擎的MapReduce框架中,首先根据首级分词过滤项,确定对应的主页面ID集合;之后根据次级分词过滤项,确定对应的映射文档集,在该映射文档集中以主页面ID为Key,以与主页面ID对应的次级页面ID集合为对应的Value。在获取主页面ID集合以及映射文档集之后,通过将主页面ID集合与映射文档集中的Key取交集,可以确定最终满足条件的命中主页面ID集合,之后根据映射文档集中与命中主页面ID集合对应的Value,能够确定与命中主页面ID对应的命中次级页面ID集合。
按照预定义排序规则对与命中主页面ID集合对应的命中主页面进行排序,并将排序结果结合与命中次级页面ID集合对应的命中次级页面进行显示。
除显示命中主页面以及命中次级页面之外,还可以同步显示与命中主页面或命中次级页面对应的其他显示属性,包括访问次数、用户评分,以使用户对得到的搜索结果有更直观的了解。
其中,根据分词过滤项搜索索引结构,获取与分词过滤项对应的命中主页面ID集合,以及与命中主页面ID对应的命中次级页面ID集合,具体为:
根据与首级分词过滤项对应的首级搜索词项属性,搜索索引结构中的主页面反向索引表,获取与首级分词过滤项对应的第一主页面ID集合;根据与次级分词过滤项对应的次级搜索词项属性,搜索索引结构中的次级页面反向索引表,获取与次级分词过滤项对应的第一目标映射文档集;根据获取的第一主页面ID集合以及第一目标映射文档集,确定命中主页面ID集合,以及与命中主页面ID对应的命中次级页面ID集合。
可选的,获取与首级分词过滤项对应的第一主页面ID集合可包括:
根据与至少两个首级分词过滤项分别对应的首级搜索词项属性,搜索索引结构中的主页面反向索引表,获取与各首级分词过滤项分别对应的主页面ID集合;
将获取的至少两个主页面ID集合取交集,得到与首级分词过滤项对应的第一主页面ID集合。
并且,获取与次级分词过滤项对应的第一目标映射文档集可包括:
根据与至少两个次级分词过滤项分别对应的次级搜索词项属性,搜索索引结构中的次级页面反向索引表,获取至少两个备选映射文档集;对至少两个备选映射文档集中的包括的各Key取交集,得到目标Key;将至少两个备选映射文档集中包括与各目标Key分别对应的各Value取交集,得到目标Value;根据目标Key以及目标Value,生成第一目标映射文档集。
根据排序规则确定至少一个排序偏好,并在预存的页面ID搜索属性映射表中获取与各命中主页面ID对应的排序偏好的属性值。
根据与各命中主页面ID分别对应的排序偏好的属性值,计算与各命中主页面分别对应的排序得分值,并根据排序得分值,对各命中主页面进行排序。根据表现参数,确定与当前页面对应的待显示命中主页面,并根据第一目标映射文档集,获取与待显示匹配首级数据对应的待显示命中次级页面。
表现参数可以为显示屏幕的大小以及显示字体的大小,根据上述表现参数,确定每一个显示页面中能够显示的命中主页面的数量,基于命中主页面ID的总量,以及当前页面ID确定与当前页面对应的待显示命中主页面以及待显示命中次级页面。
根据待显示命中主页面以及待显示命中次级页面构造搜索显示项,并将各搜索显示项在当前页面中进行显示。
所述索引结构进一步描述为:每一个关联的主页面数据和次级页面数据都作为一个单独的页面记录,进行索引;在主页面反向索引表中,词项指向记录的反向索引表中的每个反向索引记录里,记录了主页面数据的页面ID,以及指向次级页面数据的页面ID的开始及偏移量。次级页面数据中属于同一个主页面数据的次级页面数据必须连续存储形成一个逻辑区块,每个次级页面数据反向索引表中的每条记录,存储词项指向记录的页面ID,以及其所属主页面数据的页面ID。
具体的,在搜索引擎的搜索过程中,定义主页面数据的排序偏好以及次级页面数据的排序偏好,之后解析用户输入的搜索请求,形成首级数据和次级数据的过滤项,以及结果中的总页号PN以及每页数据大小PS,搜索结果需要返回上次级页面ID集合,根据过滤项,进行如下的搜索处理:
对主页面数据的每个过滤项i,找该过滤项对应的主页面反向索引表,使用搜索条件中该过滤项的词项属性,搜索主页面反向索引表,获取到该词项属性对应的主页面ID集合Ui,搜索条件有N个则有N个页面ID集合,Ui∈U,i∈[1,N],U为主页面ID集合;
对次级数据的每个过滤项j,找到该过滤项对应的次级页面反向索引表,使用搜索条件中该过滤项的词索引,搜索次级页面反向索引表,获取到该词索引对应的次级页面ID集合Lj,使用Lj获得次级页面数据所属主页面数据的页面ID为Key的映射文档集Pmapj,主页面ID为Key,次级页面ID集合为Value,如果搜索条件有M个,则对M个Pmapj进行求交运算,先对Key值集合进行求交运算,在对每个Key值对应的Value进行求交运算,得到最终的映射文档集Pmap*;
对页面ID集合U和Pmap*中的主页面ID集合进行归并求交得到最终的主页面ID集合R;
在生成集合R中数据的过程中,对每一条添加到集合R中的主页面使用其页面ID,根据主页面数据排序公式,使用页面ID搜索属性映射表,获取公式所需要的各个排序偏好,完成公式计算得到分值socre并将该值存储到集合R中的对应记录里;
根据得到的score值,对集合R降序排序,截取PN*PS到(PN+1)*PS间的结果R*;遍历该区间中包括的各结果记录RC中的每个主页面ID,进行如下处理:
A、搜索结果Pmap*,得到每个主页面ID在该过滤项下的子页面ID的集合,将其设置为RC中的一个显示项;B、根据搜索请求中,要求返回的显示属性,搜索页面ID搜索属性映射表,填充显示属性的属性值,将其设置为RC中的一个显示项;
返回RC结果数据R*给前端展示。
优选地,在搜索引擎对上述对索引的搜索中,还包括以下步骤:
对爬虫数据进行监控,将爬虫数据的数据格式转换为固定分隔符格式,获取Hadoop框架中的爬虫数据,并生成爬虫数据的索引信息;
对爬虫数据按照预设的编码模式进行编码生成编码块,并生成对应的反向索引,其中,反向索引包括原始偏移量和编码后偏移量;
将索引信息按照数据仓库格式写入到数据仓库,其中,数据仓库包括索引表头、索引块、区域搜索块和索引表尾;具体的,先写入索引表头信息,然后循环写入索引,并且记录文件信息、区域搜索信息和索引表尾信息。待所有索引都写完,在文件关闭时最后记录重要的文件偏移量、文件信息、区域搜索信息和索引表尾。
当接收到索引搜索请求后,解析搜索请求,调用数据仓库,并通过读取区域搜索块中的信息,搜索得到爬虫数据的索引信息;
根据索引信息和反向索引,读取数据仓库时先读取索引表头和索引表尾,获取所有索引相关的参数和其它信息,再读取区域搜索信息,从而找到索引块信息,最后读取索引块信息,读取过程中开始比较,并找到索引所在块,搜索获取到爬虫数据在编码块中对应的位置,根据位置搜索获得爬虫数据。
对爬虫数据按照预设的编码模式进行编码并生成对应的反向索引,具体包括:
1、MapReduce监控目录对爬虫数据实现编码,获得编码文件块,每个块包含了爬虫数据大小和编码后大小。
2、生成编码块的索引,并记录在第一数据仓库中;
3、设置第二数据仓库,记录原始偏移量和编码后偏移量,并将第二数据仓库定义为反向索引。
具体的,第一数据仓库中具体记录的是当前编码块编码前后的大小,而第二数据仓库记录了相当于文件开始位置的偏移量,是一个累计值。
在生成反向索引后,通过MapReduce对反向索引按照索引类型进行合并,同时可以利用MapReduce的排序过程实现对数据的排序,合并排序后的索引数据能更好地进行分块索引。
将索引信息写入到数据仓库,具体包括:
1、写入数据仓库的索引表头信息,其中,索引表头信息为数据仓库的基本信息;索引表头信息包括版本号、块大小、索引类型和索引名称。
2、将索引信息的索引值和位置信息写入到数据仓库中的索引块;每个单条索引包含索引值、位置数、记录数和单个位置信息,单个位置信息包含文件ID和偏移量;
3、更新文件索引块信息和区域搜索块信息;
4、将索引信息写入的数量信息、区域搜索块偏移量和文件索引块偏移量写入到数据仓库的索引表尾。
解析搜索请求,调用数据仓库并通过读取区域搜索块中的信息,搜索得到爬虫数据的索引信息,具体包括:
1、当接收到索引搜索请求后,解析请求得到搜索索引;
2、读取数据仓库的索引表头和索引表尾,获取数据仓库的区域搜索块偏移量和文件索引块偏移量;具体的,通过索引表尾和索引表头获取所有索引相关的参数和信息。
3、根据区域搜索块偏移量和搜索索引的索引值,找到搜索索引所在的索引块;
4、在索引块中找到与搜索请求对应的索引信息。
在当前次级页面中随机提取最大待采集爬取页面数量的页面,根据预设评价函数,计算获得当前主页面中各个次级页面的页面分值,并选取页面分值大于预设页面分值阈值的各个次级页面,作为候选页面,分别针对各个次级页面获得各个次级页面分别与当前关键词的关联度,包括:针对次级页面的文本进行分词操作,构建该页面文本所对应的分词集;根据该页面文本所对应分词集中的各个分词,采用bayes算法计算获得该次级页面与当前关键词的关联度;
将当前关键词,以及当前关键词所相关的采集页面集合作为训练样本,获得当前关键词所对应的页面近似度爬取进程,通过页面近似度爬取进程实现与当前关键词相关页面的搜索;
针对与当前关键词关联度大于预设关联度阈值的各个页面,构建当前关键词所相关的采集页面集合;
计算页面文本所对应分词集中各个分词的权重,并根据各个分词的权重,针对该页面文本所对应的分词集进行降维,更新该页面文本所对应的分词集。采用空间向量模型算法,计算页面文本所对应分词集中各个分词彼此之间的相似度;针对该页面文本所对应分词集中各个分词,根据各个分词彼此之间的相似度,采用文本聚类算法,针对彼此之间相似度大于预设相似度阈值的各个分词进行聚合,更新该页面文本所对应的分词集。
所述评价函数如下:
Fns(linki)=fi sim+fi link+fi parent+fi label+fi relevant/total
其中Fns(linki)代表第i个页面的页面分值;fsim代表的是第i个页面预测主题相关度;flink表示的是第i个页面URL的链接分析值;fparent代表的是第i个页面的主页面的相关度,flabel代表的是第i个页面URL的标签权重值,fi relevant/total代表的是与当前关键词相关的页面数量与页面总数量的比值;λ是自适应调整的动态值。
相应地,在搜索引擎的爬虫模块中,优选地包括多个爬取器和至少一个归集器。其中,每个爬取器中部署有网页采集进程以及至少一个应用,每个归集器与至少一个爬取器通信连接。爬取器通过网页采集进程实时采集在应用运行过程中产生的网页数据,并通过网页采集进程将采集的网页数据发送给与该爬取器建立通信连接的归集器;归集器对接收的爬取器的网页数据进行整合,并将整合后的网页数据存储到Hadoop框架中。
网页采集进程作为一个后台运行的进程,实时监听并采集应用服务器中应用在运行过程中产生的网页数据。归集器接收爬取器发送的网页数据并存储,该归集器与发送网页数据的应用服务器为不同的服务器。
在搜索引擎云平台中,当有新的主机被创建时,爬取器会被部署在新的主机中,实现云平台中主机的弹性部署。归集器进一步在对网页数据进行整合之前,对多个爬取器的网页数据进行数据过滤;归集器基于网页数据中的用户交互行为,进行用户识别;针对识别的每个用户,根据对应网页数据中该用户的用户交互行为之间的时间顺序,进行交互行为识别。为了便于后续对网页数据的处理,本发明通过MapReduce方法对接收到的网页数据进行处理,如在Map阶段进行数据过滤和用户识别,在Reduce阶段进行交互行为识别。
在Map阶段对网页数据进行数据过滤时,针对接收到的每个网页数据,归集器读取该网页数据中的每一次用户交互行为,如果归集器无法读取到当前的用户交互行为,则从接收到的网页数据中进行清除处理。
对于进行数据过滤后的网页数据,将网页数据转化为<key,value>形式,Map阶段的处理描述如下:Map(key1,value1)->list<key2,value2>形式,其中,Key1为数字标识,标识该网页数据所在的位置;value1表示该位置存储的用户交互行为;Key2是用户当前的关键词;value2是数据过滤后的记录信息。例如:假设Key2被当前为用户名,则value2可以表征从网页数据中识别的具体的用户名信息。
在对用户进行识别时,将网页数据中记录有用户名信息的用户,确定为注册用户,将网页数据中具有IP地址信息,而不具有用户名信息的用户确定为非注册用户。其中,用户名信息相同的用户为同一个注册用户,IP地址信息相同的用户为同一个非注册用户。
针对识别的每个用户,根据以下步骤进行交互行为识别:根据对应网页数据中该用户的用户交互行为对应的操作时间,将各次用户交互行为按照时间顺序排序;在排序后的各次用户交互行为中,将符合预设条件的至少一次用户交互行为确定为一条会话;预设条件包括:该一次用户交互行为对应的操作时间与其相邻前一次用户交互行为以及相邻后一次用户交互行为分别对应的操作时间之间的时间差均大于设定阈值;
进一步地,归集器还将整合后的网页数据划分为多个网页片段,并提取每个网页片段对应的关键词信息;按照预设分配原则将网页片段分别存储到对应的数据仓库;并将每个网页片段的关键词信息与该网页片段存储位置之间的对应关系存储。具体地,每个归集器与至少一个数据仓库通信连接,每个Hadoop存储区中可以部署一个数据仓库或部署多个数据仓库;分配原则可以为负载均衡原则,即均匀的为每个数据仓库分配网页片段,以保证多个数据仓库负载均衡;对应关系可以为网页片段的关键词信息与数据仓库的标识信息的对应关系。
在将整合后的网页数据划分为多个网页片段时,可以基于设定的数据大小,将整合后的网页数据划分为多个网页片段;或者,基于设定的网页关联信息,将整合后的网页数据划分为多个网页片段;或者,基于设定的数据类型,将整合后的网页数据划分为多个网页片段。
完成数据爬取采集后,在Hadoop框架存储节点的调度上,本发明获取存储层Dk<U或Uk<U的各个节点,k∈{1,…,K},K表示存储层中节点的数量,Dk表示第k个节点的下载速度,Uk表示第k个节点的上传速度,U表示预设存储层传输数据最小带宽值;针对各个节点,分别具体执行如下调度:
获取存储层Dk>U'且Uk>U'的各个节点,作为各个备用存储区,其中,O'表示预设存储层待接收数据节点的最小带宽值;
根据公式分别获得各个备用存储区的数据存储代价consumq
consumq=nq*(consum'q+consum”q)+xq*consum”'q
其中,q∈{1,…,Q},Q表示备用存储区的数量,consumq表示各个备用存储区中第q个备用存储区数据存储代价,consum'q表示各个备用存储区中第q个备用存储区存储数据的单位存储代价,consum”q表示各个备用存储区中第q个备用存储区的单位传输成本,consum”'q表示各个备用存储区中第q个备用存储区的数据请求成本,nq表示各个备用存储区中第q个备用存储区所需的数据存储量,xq表示各个备用存储区中第q个备用存储区的请求次数,并进一步获得低于预设节点数据存储代价阈值的各个数据存储代价,针对该各个数据存储代价分别所对应的备用存储区,构建可用存储区集合S。
从集合S中随机取出一个节点,并从可用存储区集合S中删除该节点,并获取该节点的存储数据的大小,以及初始化m为预设迁移量大小,然后进入步骤D。
若m不大于该可用存储区的存储数据的大小,则获取或更新假设由节点中最高优先级数据集中移出m大小的数据至该可用存储区后所对应的搜索时间t1
其中步骤D中,节点中最高优先级数据集,根据如下过程获得:首先分别针对节点中的各个数据集,获得数据集的搜索q,对数据集的搜索次数c,数据集所引起中间数据传输延迟的改善j,数据集移动所引起最大搜索时间的减少t',以及数据集移动所需的成本consum;然后分别针对节点中的各个数据集,获得各个数据集的价值,并根据数据集价值与数据集移动所需成本的比值,获得各个数据集的得分,根据得分由高到低的顺序,排列各个数据集优先级由高至低。
获得或更新基于假设数据移动后所对应的搜索时间t2,判断t2是否小于t1,是则采用预设迁移数据增量对m进行更新;否则将t1作为节点向该可用存储区迁移数据后所对应的最小搜索时间,并记录最小搜索时间所对应的迁移数据大小。
若m大于该可用存储区的存储数据的大小,则判断可用存储区集合S中是否存在节点,如果存在,方法迭代执行,如果不存在,则针对各个最小搜索时间,获得其中最小值所对应的可用存储区和迁移数据大小,将该可用存储区作为目标节点,将该迁移数据大小作为目标迁移数据大小,由节点中最高优先数据集中移出目标迁移数据大小的数据至该目标节点。
上述数据调度策略,在靠近数据的节点存储数据,可以大大减小带宽的消耗,减少数据传输对引起的搜索响应的延迟。
在搜索引擎的内容搜索过程中,统计近期搜索频率较高的过滤项,包括始终保持高搜索频率的过滤项,以及在近期短时间内被大量搜索的过滤项。针对过滤项定义搜索频度FRQ,用于区分不同过滤项间搜索频率的高低。对于搜索过滤项a,a的搜索频度FRQ计算过程为:
根据搜索网页获得分词a第t天被搜索次数。其中t表示网页记录时间距离有效记录起始时间的天数;
设置近期记录比例qrec。对于第t天搜索网页Dt,当t≥qrec×T时,Dt所包含记录作为近期记录;当t<qrec×T时,Dt所包含记录作为历史记录。对于历史记录,设置搜索次数上限阈值Maxhis,当搜索次数高于Maxhis时,搜索次数Countstd(t)取值为Maxhis;对于近期记录,设置搜索次数上限阈值Maxrec,当搜索次数高于Maxrec时,搜索次数Countstd(t)取值为Maxrec。为获得近期短时间内被大量搜索的频繁项,应有Maxrec>Maxhis
根据加权函数W(t),对Countstd(t)进行加权操作。加权函数W(t)满足以下条件:
其中b为大于1的调节参数。
计算属性a的频度:
FRQ=ΣW(t)×Countstd(t)
在FRQ的计算结果基础上,使用一种逐层搜索的迭代方法,找出根据过滤项搜索频度的频繁1项集集合,该集合记作A1。A1用于找频繁2项集的集合A2。通过迭代的方式找到K项集Ak。每个Ak都需要对整个网页数据库进行一次扫描。保证任一频繁项集的所有非空子集也必须是频繁的。直到不存在更大的频繁集。
在返回的属性组集合中包含不同长度的过滤项集,将不同长度的满足频繁定义的过滤项组合对应数据缓存至内存中,并针对搜索较频繁的结果属性建立树索引,处理缓存中属性部分命中的情况。当用户进行搜索操作时,若搜索的数据块在内存中,则直接在内存中进行搜索并返回搜索结果。
对于一次实际数据搜索,存在3种不同命中情况。
(1)未命中:搜索中的过滤项不在内存缓存中。重新从磁盘中加载数据块数据进行搜索操作。(2)部分命中:搜索中的过滤项仅有一部分在内存缓存中。根据内存中已有的属性数据对数据库中的记录进行过滤,减少需进一步在数据库中搜索的数据量。提供相应结果属性的索引值,加速数据的搜索。(3)完全命中:搜索中的过滤项全部在内存缓存中。直接返回搜索结果。
缓存更新操作应在节点访问负荷最小的时间段进行。更新过程包括:
(1)禁用内存缓存数据,出现数据搜索请求时直接搜索存储底层的数据块,此时缓存属性命中率为0;
(2)获得频繁搜索数据块与频繁搜索属性组集。
(3)对频繁搜索数据块加锁,限制数据块内数据的修改操作。
(4)对比待缓存频繁搜索数据与内存中已有缓存数据,保留相同的缓存数据,对于不同的缓存数据,清除旧高频数据,加载新高频数据。
(5)将频繁搜索数据块解锁,恢复数据块内数据的修改权限。
(6)更新缓存数据索引结构,启用内存缓存数据。
综上所述,本发明提出了一种用于海量数据处理的实时数据计算方法,优化了数据搜索引擎技术,在保证搜索引擎对多维数据高性能搜索的同时,降低了数据的更新代价,高效实现了多维搜索。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种用于海量数据处理的实时数据计算方法,用于在搜索引擎中实现多维数据搜索,其特征在于,包括:
在搜索过程中,搜索引擎解析用户输入的多维搜索请求,获取与多维搜索请求对应的分词过滤项;
根据分词过滤项,搜索预先建立的索引结构,获取与分词过滤项对应的命中页面。
2.根据权利要求1所述的方法,其特征在于,所述分词过滤项包括首级分词过滤项,和/或次级分词过滤项。
3.根据权利要求1所述的方法,其特征在于,所述搜索引擎基于MapReduce框架。
4.根据权利要求3所述的方法,其特征在于,所述根据分词过滤项,搜索预先建立的索引结构,获取与分词过滤项对应的命中页面,进一步包括:
首先根据首级分词过滤项,确定对应的主页面ID集合;之后根据次级分词过滤项,确定对应的映射文档集,在该映射文档集中以主页面ID为Key,以与主页面ID对应的次级页面ID集合为对应的Value;
在获取主页面ID集合以及映射文档集之后,通过将主页面ID集合与映射文档集中的Key取交集,可以确定最终满足条件的命中主页面ID集合,之后根据映射文档集中与命中主页面ID集合对应的Value,确定与命中主页面ID对应的命中次级页面ID集合。
5.根据权利要求1所述的方法,其特征在于,还包括:
按照预定义排序规则对与命中主页面ID集合对应的命中主页面进行排序,并将排序结果结合与命中次级页面ID集合对应的命中次级页面进行显示。
CN201810225319.2A 2018-03-19 2018-03-19 用于海量数据处理的实时数据计算方法 Withdrawn CN108427759A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810225319.2A CN108427759A (zh) 2018-03-19 2018-03-19 用于海量数据处理的实时数据计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810225319.2A CN108427759A (zh) 2018-03-19 2018-03-19 用于海量数据处理的实时数据计算方法

Publications (1)

Publication Number Publication Date
CN108427759A true CN108427759A (zh) 2018-08-21

Family

ID=63159022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810225319.2A Withdrawn CN108427759A (zh) 2018-03-19 2018-03-19 用于海量数据处理的实时数据计算方法

Country Status (1)

Country Link
CN (1) CN108427759A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109994A (zh) * 2019-05-10 2019-08-09 厦门铅笔头信息科技有限公司 包含结构化和非结构化数据的汽车金融风控模型
CN112214505A (zh) * 2020-10-21 2021-01-12 北京金堤征信服务有限公司 数据同步方法、装置、计算机可读存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101162472A (zh) * 2007-11-21 2008-04-16 中国科学院合肥物质科学研究院 用于农业复杂自适应搜索引擎系统的控制方法
CN101196898A (zh) * 2007-08-21 2008-06-11 新百丽鞋业(深圳)有限公司 将词组索引技术应用在互联网搜索引擎中的方法
EP2284724A1 (en) * 2003-06-30 2011-02-16 Google, Inc. Serving advertisements using a search of advertiser web information
CN102023989A (zh) * 2009-09-23 2011-04-20 阿里巴巴集团控股有限公司 一种信息检索方法及其系统
CN106294652A (zh) * 2016-08-03 2017-01-04 成都四象联创科技有限公司 web页面信息搜索方法
CN106970962A (zh) * 2017-03-21 2017-07-21 国家计算机网络与信息安全管理中心 一种获取搜索引擎搜索结果的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2284724A1 (en) * 2003-06-30 2011-02-16 Google, Inc. Serving advertisements using a search of advertiser web information
CN101196898A (zh) * 2007-08-21 2008-06-11 新百丽鞋业(深圳)有限公司 将词组索引技术应用在互联网搜索引擎中的方法
CN101162472A (zh) * 2007-11-21 2008-04-16 中国科学院合肥物质科学研究院 用于农业复杂自适应搜索引擎系统的控制方法
CN102023989A (zh) * 2009-09-23 2011-04-20 阿里巴巴集团控股有限公司 一种信息检索方法及其系统
CN106294652A (zh) * 2016-08-03 2017-01-04 成都四象联创科技有限公司 web页面信息搜索方法
CN106970962A (zh) * 2017-03-21 2017-07-21 国家计算机网络与信息安全管理中心 一种获取搜索引擎搜索结果的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FLYSHARKYM: "自行实现Solr重复分词过滤器", 《HTTPS://BLOG.CSDN.NET/PATRICKYOUNG6625/ARTICLE/DETAILS/11655697?》 *
张巍: "基于PageRank算法的搜索引擎优化策略研究", 《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》 *
陈时勇: "Web挖掘中搜索引擎的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109994A (zh) * 2019-05-10 2019-08-09 厦门铅笔头信息科技有限公司 包含结构化和非结构化数据的汽车金融风控模型
CN110109994B (zh) * 2019-05-10 2021-07-30 厦门铅笔头信息科技有限公司 包含结构化和非结构化数据的汽车金融风控系统
CN112214505A (zh) * 2020-10-21 2021-01-12 北京金堤征信服务有限公司 数据同步方法、装置、计算机可读存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN105701216B (zh) 一种信息推送方法及装置
US7502780B2 (en) Information storage and retrieval
US6212526B1 (en) Method for apparatus for efficient mining of classification models from databases
CN104679778B (zh) 一种搜索结果的生成方法及装置
KR100816934B1 (ko) 문서검색 결과를 이용한 군집화 시스템 및 그 방법
US7370033B1 (en) Method for extracting association rules from transactions in a database
US8055666B2 (en) Method and system for optimizing database performance
EP2060982A1 (en) Information storage and retrieval
US20040107221A1 (en) Information storage and retrieval
CN103339624A (zh) 支持地理结构数据的交互式模糊搜索的高效前缀搜索算法
US20110208754A1 (en) Organization of Data Within a Database
US20060026496A1 (en) Methods, apparatus and computer programs for characterizing web resources
US20120233096A1 (en) Optimizing an index of web documents
CN106933511B (zh) 考虑负载均衡与磁盘效率的空间数据存储组织方法及系统
CN107229735A (zh) 基于自然语言处理的舆情信息分析预警方法
CN101251857B (zh) 用于信息存储和检索的系统、设备和方法
CN110543595A (zh) 一种站内搜索系统及方法
CN106557777A (zh) 一种基于SimHash改进的Kmeans聚类方法
CN103761286B (zh) 一种基于用户兴趣的服务资源检索方法
CN110287201A (zh) 数据访问方法、装置、设备及存储介质
CN102855245A (zh) 一种用于确定图片相似度的方法与设备
CN113254630A (zh) 一种面向全球综合观测成果的领域知识图谱推荐方法
CN108427759A (zh) 用于海量数据处理的实时数据计算方法
CN107169020B (zh) 一种基于关键字的定向网页采集方法
CN107133321B (zh) 页面的搜索特性的分析方法和分析装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20180821