CN118193581B - 一种海量数据检索任务处理方法、系统及存储介质 - Google Patents
一种海量数据检索任务处理方法、系统及存储介质 Download PDFInfo
- Publication number
- CN118193581B CN118193581B CN202410608976.0A CN202410608976A CN118193581B CN 118193581 B CN118193581 B CN 118193581B CN 202410608976 A CN202410608976 A CN 202410608976A CN 118193581 B CN118193581 B CN 118193581B
- Authority
- CN
- China
- Prior art keywords
- data
- classification
- user
- data element
- stage
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000005192 partition Methods 0.000 claims abstract description 42
- 230000004044 response Effects 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 24
- 239000011159 matrix material Substances 0.000 claims description 26
- 238000013500 data storage Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000005215 recombination Methods 0.000 claims 1
- 230000006798 recombination Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000586 desensitisation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种海量数据检索任务处理方法、系统及存储介质,涉及数据检索技术领域。本发明包括,持续获取并记录用户发送的检索指令的请求时刻和响应数据;对数据资源进行多级分类得到每个数据元素在每一级分类上的类别;根据每个用户在每个请求时刻的响应数据在每一级分类上的类别获取每个用户的数据需求范围;获取每个用户预设的身份重要性系数;获取每个服务分区内的多个用户;在每个服务分区内根据每个用户的身份重要性系数以及在对应数据需求范围内每个数据元素的请求时刻得到每个服务分区的前置预存数据元素。本发明提高数据检索的响应速度和效率。
Description
技术领域
本发明属于数据检索技术领域,特别是涉及一种海量数据检索任务处理方法、系统及存储介质。
背景技术
在信息技术飞速发展的今天,数据量的增长已达到海量级别。伴随着大数据时代的到来,如何高效、准确地从海量数据中检索出用户所需的信息,成为了计算机科学领域面临的重大挑战。尽管现有技术已经提供了多种数据检索方法和系统,但仍存在一些不足之处。
传统的数据检索任务处理方法通常依赖于关系型数据库管理系统(RDBMS),通过标准的查询语言如SQL进行数据检索。然而,当数据量增长到海量级别时,传统的RDBMS在处理复杂查询、特别是跨多个数据库或非结构化数据查询时的性能会显著下降。
发明内容
本发明的目的在于提供一种海量数据检索任务处理方法、系统及存储介质,通过调度服务器分析用户的信息检索行为,从而在前置服务器内预先存储适合用户需求的数据,提高数据检索的响应速度和效率。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供一种海量数据检索任务处理方法,包括,
持续获取并记录用户发送的检索指令的请求时刻和响应数据;
对数据资源进行多级分类得到每个数据元素在每一级分类上的类别;
根据每个用户在每个请求时刻的响应数据在每一级分类上的类别获取每个用户的数据需求范围;
获取每个用户预设的身份重要性系数,其中,所述身份重要性系数包括充值的额度、会员等级或积累的经验值;
获取每个服务分区内的多个用户;
在每个服务分区内根据每个用户的所述身份重要性系数以及在对应所述数据需求范围内每个数据元素的请求时刻得到每个服务分区的前置预存数据元素。
本发明还公开了一种海量数据检索任务处理方法,包括,
接收并存储前置预存数据元素;
接收服务分区范围内用户发送的检索指令;
解析所述检索指令得到筛选条件并在用户对应的所述服务分区的前置预存数据元素内进行检索;
判断是否检索到;
若是,则得到并向用户发送响应数据;
若否,则将所述检索指令转发至后台服务器。
本发明还公开了一种海量数据检索任务处理方法,包括,
发送检索指令;
接收响应数据。
本发明还公开了一种海量数据检索任务处理系统,包括,
用户端,发送检索指令;
接收响应数据;
调度服务器,用于持续获取并记录用户发送的检索指令的请求时刻和响应数据;
对数据资源进行多级分类得到每个数据元素在每一级分类上的类别;
根据每个用户在每个请求时刻的响应数据在每一级分类上的类别获取每个用户的数据需求范围;
获取每个用户预设的身份重要性系数,其中,所述身份重要性系数包括充值的额度、会员等级或积累的经验值;
获取每个服务分区内的多个用户;
在每个服务分区内根据每个用户的所述身份重要性系数以及在对应所述数据需求范围内每个数据元素的请求时刻得到每个服务分区的前置预存数据元素;
前置服务器,用于接收并存储前置预存数据元素;
接收服务分区范围内用户发送的检索指令;
解析所述检索指令得到筛选条件并在用户对应的所述服务分区的前置预存数据元素内进行检索;
判断是否检索到;
若是,则得到并向用户发送响应数据;
若否,则将所述检索指令转发至后台服务器;
后台服务器,用于接收所述前置服务器转发的所述检索指令并进行响应。
本发明还公开了一种存储介质,其特征在于,所述存储介质中存储有至少一条命令、至少一段程序、代码集或指令集,所述至少一条命令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述的一种海量数据检索任务处理方法。
本发明通过调度服务器收集并分析位于不同服务分区的用户的信息检索行为,从而得出服务分区范围内用户的数据需求范围,再将范围内的数据元素存储在对应的前置服务器内。对于用户而言,发出的检索指令能够就近被前置服务器处理,而且前置服务器内的数据量较少,这样能够提高检索服务的效率和速度,提高用户的检索服务使用体验。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述一种海量数据检索任务处理系统于一实施例的各个交互端的信息交互示意图;
图2为本发明所述调度服务器于一实施例的步骤流程示意图;
图3为本发明所述前置服务器于一实施例的步骤流程示意图;
图4为本发明所述用户端于一实施例的步骤流程示意图;
图5为本发明所述步骤S2于一实施例的步骤流程示意图;
图6为本发明所述步骤S3于一实施例的步骤流程示意图;
图7为本发明所述步骤S31于一实施例的步骤流程示意图;
图8为本发明所述步骤S34于一实施例的步骤流程示意图;
图9为本发明所述步骤S6于一实施例的步骤流程示意图。
附图中,各标号所代表的部件列表如下:
1-用户端,2-前置服务器,3-调度服务器,4-后台服务器。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在处理海量数据的过程中,传统的业务流程处理方法效率较低。通常情况下,海量数据的处理需要使用脚本文件进行硬编码,这种方式不仅效率低下,而且需要协调程序员对脚本文件进行修改、调试和执行等繁琐过程。因此,需要一种更高效的海量数据处理方法,以提高对海量数据进行业务流程处理的效率。为了应对用户对海量数据的快速检索需求,本发明提供以下方案。
请参阅图1至4所示,本发明公开了一种海量数据检索任务处理系统,从交互功能上划分包括用户端1、调度服务器3、前置服务器2以及后台服务器4。在信息交互的过程中用户通过用户端向前置服务器2发出检索指令,之后由前置服务器2进行检索处理,如若无法处理则由后台服务器4继续处理。前置服务器2中存储的数据元素由调度服务器3根据用户的需求进行调配,从而提高信息检索的效率。
在本系统使用之前需要先依靠调度服务器3对每个前置服务器2预存的数据进行分配调整。处理的过程中首先需要调度服务器3执行步骤S1持续获取并记录用户发送的检索指令的请求时刻和响应数据,这些可以通过访问用户的服务日志文件获取。接下来可以执行步骤S2对数据资源进行多级分类得到每个数据元素在每一级分类上的类别,这些可以通过数据分类获取。接下来可以执行步骤S3根据每个用户在每个请求时刻的响应数据在每一级分类上的类别获取每个用户的数据需求范围,也就是在全部的数据资源中选取用户最需要的部分数据元素。接下来可以执行步骤S4获取每个用户预设的身份重要性系数,可以是用户的等级,也可以是用户的充值金额,当然如果平等待之也可以将身份重要性系数设置为相同值,这些数值可以是管理人员进行设置,也可以是通过其它算法生成的。接下来可以执行步骤S5获取每个服务分区内的多个用户,也就是每个前置服务器2的服务范围。最后可以执行步骤S6在每个服务分区内根据每个用户的身份重要性系数以及在对应数据需求范围内每个数据元素的请求时刻得到每个服务分区的前置预存数据元素,从而完成对每个前置服务器2的数据元素的存储调配工作。为了降低网络带宽需求,同时也是为了降低数据吞吐量,每次调配数据元素的时候可以采用增量存储的方式对前置服务器2的存储内容进行控制。
对于每个前置服务器2而言,其在运行的过层中首先需要执行步骤S011接收并存储前置预存数据元素,完成上述的数据准备之后可以执行步骤S012接收服务分区范围内用户发送的检索指令。接下来可以执行步骤S013解析检索指令得到筛选条件并在用户对应的服务分区的前置预存数据元素内进行检索。当然由于前置服务器2内的数据是有限的,因此接下来可以执行步骤S014判断是否检索到,若是说明检索到目标数据元素,则接下来可以执行步骤S015得到并向用户发送响应数据,若否则说明前置服务器2内不具有目标数据元素,则接下来可以执行步骤S016将检索指令转发至后台服务器。
后台服务器4可以是一台具有超级存储功能的计算集群,也可以是全部具有存储功能的数据服务器的代称,其中存储全部海量数据。在前置服务器2检索不到目标数据的时候可以用于接收前置服务器转发的检索指令并进行响应。
用户在使用用户端1的过程中首先可以执行步骤S021发送检索指令,之后就可以执行步骤S022接收响应数据。由于很大概率上数据服务由前置服务器2提供,因此检索响应的速度更快。
请参阅图5所示,为了分析每个用户的需求范围,需要对每个数据元素进行分类,这个分类可以先由工作人员划分出多个分类的等级,再对每个等级内进行具体的类型划分。在具体的分类过程中,首先可以执行步骤S21对每个数据资源分别进行多级分类得到每个数据元素在每一级分类上的类别。例如对于以下数据元素“近战武器”、“远程武器”、“魔法武器”、“采集技能”、“制作技能”、“贸易”、“跳跃”、“魔法武器”、“护甲”、“挖掘工具”。可以从“游戏要素分类”上进行第一级别的分类,分别为“游戏技能”和“游戏道具”。对于“游戏技能”这一类别则可以进行第二级别的分类,分为“战斗技能”、“生存技能”、“交互技能”、“运动技能”等。接下来可以执行步骤S22对每一级分类进行编号,例如将“游戏要素分类”这一级分类编号为1。接下来可以执行步骤S23对每一级分类的类别进行编号,例如将“游戏技能”编号为1,“游戏道具”编号为2。接下来可以执行步骤S24根据每个数据元素在每一级分类上的类别得到每个数据元素在每一级分类的编号和对应的类别编号。从而实现对每个数据元素的分类进行量化,具体见下表。
游戏要素分类(1) | 二级分类(2) | 三级分类(3) |
游戏技能(1) | 战斗技能(1) | 近战武器(1) |
远程武器(2) | ||
魔法武器(3) | ||
生存技能(2) | 采集技能(1) | |
制作技能(2) | ||
交互技能(3) | 贸易(1) | |
运动技能(4) | 跳跃(1) | |
游戏道具(2) | 武器类(1) | 魔法武器(1) |
防具类(2) | 护甲(1) | |
工具类(3) | 挖掘工具(1) |
请参阅图6至8所示,用户的数据需求通常是具有连贯性的,因此可以通过对同一个用户的多次响应数据进行分类相似性分析得到用户常用的数据范围。但是不同级分类的编号的重要性是不同的,为了对每一级分类的重要性进行量化,需要执行步骤S31根据每一级分类上的类别的数量得到每一级分类的权重,这首先需要对每一级分类的顺序进行梳理,之后再顺序评估其重要性。首先可以执行步骤S311按照由粗分类至细分类的顺序获取每一级分类的全部后续的每一级分类。在具体赋值重要性程度的时候,对于每一级分类首先可以执行步骤S312获取其后续的全部的每一级分类的类别的数量,这是因为后续每一级分类的数量影响到当前这一级分类的重要性。接下来可以执行步骤S313将后续的全部的每一级分类的类别的数量累乘得到分类重要性指标,这是为了具体量化计算每一级分类的重要性,由于后续的每一级分类之间等效于多了若干种选择,因此需要将后续的全部的每一级分类的类别的数量累乘。最后为了便于后续计算可以执行步骤S314计算获取每一级分类的分类重要性指标的比例系数作为每一级分类的权重,从而实现对每一级分类的重要程度进行量化,便于后续的计算。以上过程中通过累积计算后续分支数量的方式量化每一级分类的重要性。
在对每个用户的响应数据进行常用范围划定的过程中,首先需要进行数据准备,也就是处理成便于进行相似性分析的状态,这需要执行步骤S32按照每一级分类的编号顺序,将数据元素在每一级分类的类别编号顺序排列得到每个数据元素的分类特征矩阵,矩阵形式的数据结构能够便于后续的比对计算。
之后便可以先确定一个相似性分析的参照值,也就是基准数据元素,再持续迭代并判断这个参照值是否合适。具体而言首先可以执行步骤S33抽取出若干个数据元素作为基准数据元素,接下来可以执行步骤S34根据每一级分类的权重以及每个基准数据元素与其它数据元素的分类特征矩阵计算获取每个基准数据元素与其它数据元素的差异指数,由于差异指数的每个维度代表一级分类,而每一级分类的重要性是不同的。
为了让差异指数充分体现每一级分类的重要性,首先可以执行步骤S341比较每个基准数据元素与其它数据元素的分类特征矩阵的每个维度数值是否相同。若是则接下来可以执行步骤S342将该维度记为1,若否则接下来可以执行步骤S343将该维度记为0。当然也可以使用其它数字进行量化标记,不影响后续的计算。接下来可以执行步骤S344按照分类特征矩阵中每个维度的顺序重组得到每个基准数据元素与其它数据元素的差异矩阵,也就是将矩阵相减得到新的多维矩阵,以上的差异矩阵能够衡量参与相减的两个矩阵之间的差异。但是差异矩阵是多维向量,不同的差异矩阵之间不能直接进行一维量化比较,因此接下来可以执行步骤S345将差异矩阵内每个维度的数值按照对应的每一级分类的权重计算加权和作为每个基准数据元素与其它数据元素的差异指数,也就是通过权重调整的方式将差异矩阵之间的差别转化为一维的差异指数。在此过程中将每一级分类的权重计算加权对差异矩阵中每个维度进行权重调整,从而得出具有参考比对价值的差异指数。
在后续的迭代分析过程中首先可以执行步骤S35将其它每个数据元素与差异指数最小的基准数据元素划入同一个元素分组内,也就是进行临时分组。之后需要确定元素分组内位于核心位置的数据元素作为更新后的基准数据元素,但是数据元素的分类特征矩阵之间无法直接计算处于核心位置的矩阵,而且矩阵的不同维度的权重也不同,因此需要将元素分组内的每个数据元素之间差异指数进行计算比较,从而分析得出位于核心位置的数据元素作为更新后的基准数据元素。具体而言首先可以执行步骤S36在元素分组内任意选择一个数据元素作为临时基准数据元素,这一步可以是随机抽取。接下来可以执行步骤S37计算获取元素分组内每个数据元素与临时基准数据元素之间的差异指数中的中位数,也可以是距离均值的差值最小,这都不影响之后挑选出位于核心位置的数据元素作为更新后的基准数据元素。接下来可以执行步骤S38将中位数对应的数据元素作为元素分组内更新后的基准数据元素。接下来可以执行步骤S39判断更新前后的基准数据元素是否发生变化,也就是验证挑选出来的基准数据元素是否合适。若是则说明新挑选的基准数据元素不合适需要继续迭代生成新的基准数据元素,因此接下来可以执行步骤S34至步骤S39持续更新元素分组和基准数据元素。若否则说明新挑选的基准数据元素合适,因此接下来可以执行步骤S310将请求时刻最近的检索指令对应的响应数据所在的元素分组内全部的数据元素作为用户的数据请求范围,这是因为用户的数据检索需求通常是变迁的,最贴近当前使用习惯的数据元素最可能在下一次使用中被检索命中并调用。以上过程中通过迭代比对的方式判断迭代更新的参照值,也就是基准数据元素是否合适,一旦基准数据元素合适则代表可以输出符合用户常规搜索习惯的数据需求范围。
为了对上述的步骤S31至步骤S310的实施过程进行补充说明,提供部分功能模块的源代码,并在注释部分进行对照解释说明。为了避免涉及商业秘密的数据泄露,对不影响方案实施的部分数据进行脱敏处理,下同。
#include
#include
#include
#include
#include
// 用户的响应数据结构
struct ResponseData {
int user_id; // 用户ID
std::vector
};
// 计算每一级分类的权重
std::vector
std::vector
double total = std::accumulate(categoryCounts.begin(),categoryCounts.end(), 0);
for (int count : categoryCounts) {
weights.push_back(count / total); // 权重是类别数量占总数的比例
}
return weights;
}
// 计算差异指数
double calculateDifferenceIndex(const std::vector
double differenceIndex = 0.0;
for (size_t i = 0; i<base.size(); ++i) {
differenceIndex += (base[i] == other[i]? 0 : 1) * weights[i];
}
return differenceIndex;
}
// 对比数据元素,获取差异矩阵
std::vector
std::vector
for (size_t i = 0; i<base.size(); ++i) {
differenceMatrix[i] = (base[i]== other[i]) ? 1 : 0;
}
return differenceMatrix;
}
// 更新基准数据元素
bool updateBaselineElement(std::vector
std::vector
for (const auto&element : elementGroup) {
if (element.user_id != baseline.user_id) {
differenceIndices.push_back(calculateDifferenceIndex(baseline.categories, element.categories, weights));
}
}
auto median_it = differenceIndices.begin() +differenceIndices.size() / 2;
std::nth_element(differenceIndices.begin(), median_it,differenceIndices.end());
double medianDifferenceIndex = *median_it;
// 寻找中位数对应的数据元素
for (const auto&element : elementGroup) {
if (calculateDifferenceIndex(baseline.categories,element.categories, weights) == medianDifferenceIndex) {
if (baseline.user_id != element.user_id) {
baseline = element;
return true; // 更新了基准数据元素
}
}
}
return false; // 没有更新基准数据元素
}
int main() {
// 示例数据和权重计算
std::vector
std::vector
// 示例响应数据
std::vector
{1, {0, 1, 1}},
{2, {2, 3, 0}},
};
// 示例选择第一个数据元素作为基准
ResponseData baselineElement = responses[0];
// 创建元素分组并初始化
std::vector
// 更新基准数据元素直到它不再变化
bool changed;
do {
changed = updateBaselineElement(elementGroup, categoryWeights,baselineElement);
} while (changed);
// 输出用户的数据请求范围(即最终的基准数据元素)
std::cout<<"用户的数据请求范围基准数据元素: 用户ID"<<baselineElement.user_id<<" 分类特征";
for (int cat : baselineElement.categories) {
std::cout<<cat<<"";
}
std::cout<<std::endl;
return 0;
}
该程序首先计算了每一级分类的权重,然后通过比较不同数据元素的分类特征来构建差异矩阵和差异指数。程序选择一个基准数据元素,并将其他元素与之进行比较,以便根据差异指数对数据元素进行分组。通过计算中位数差异指数来更新基准元素,并根据是否有变化来决定是否继续更新元素分组。最终程序确定了用户的数据请求范围,这是一个包含响应数据的元素分组,该分组通过与基准数据元素的差异指数来定义。
请参阅图9所示,由于服务于每个服务分区的前置服务器2的存储内容是有限的,为了更好地为用户提供快速检索响应的服务,对于每个服务分区而言,首先可以执行步骤S61获取服务分区的可用数据存储容量,通常是由管理人员预设输入,当然也可以根据实际状况对其进行动态调整。接下来可以执行步骤S62获取服务分区在对应数据需求范围内每个数据元素作为入围数据元素,也就是准备将后台服务器4中存储的数据元素存入对应的前置服务器2内。需要说明的是,此处的可用数据存储容量不仅仅是受限于硬盘容量,也可能是受限于服务带宽、检索计算能力导致的存储容量有限。
由于前置服务器2的存储容量有限,导致可能无法存储全部的入围数据元素,因此需要结合用户的具体情况进行取舍。在此过程中首先可以执行步骤S63将每个入围数据元素对应的用户的身份重要性系数作为入围数据元素的第一调整系数,这里的身份重要性系数可以是充值的额度,也可能是会员等级,也可能是积累的经验值,会这是管理员自行设置的数值。接下来可以执行步骤S64根据每个入围数据元素的每次请求时刻得到每个入围数据元素的历次平均距今时长以及检索命中次数。接下来可以执行步骤S65将每个入围数据元素的历次平均距今时长之间比例系数的倒数作为入围数据元素的第二调整系数,此处的第二调整系数充分考虑不同入围数据的检索命中时效状况,如果长时间未被检索命中,说明其已经变为冷门数据,后续再次被检索命中的概率也降低,被前置服务器2存储的价值也随之降低。接下来可以执行步骤S66将每个入围数据元素的检索命中次数之间比例系数作为入围数据元素的第三调整系数,此处的第三调整系数充分考虑不同入围数据的使用状况,如果被检索命中的次数较多,则后续被检索命中的概率也会提高,被前置服务器2存储的价值也随之提升。接下来可以执行步骤S67将入围数据元素的第一调整系数、第二调整系数以及第三调整系数累乘得到每个入围数据元素的存储重要性系数。最后可以执行步骤S68按照存储重要性系数由大至小在可用数据存储容量的限制内进行存储得到服务分区的前置预存数据元素,旨在于综合三个调整系数的调节修正作用。通过以上方式能够在前置服务器2存储能力不足的情况下不大幅度降低用户的检索服务使用体验,并且平衡服务分区内每个用户的数据服务质量。
本方案还提供一种存储介质,存储介质中存储有至少一条命令、至少一段程序、代码集或指令集,至少一条命令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述的一种海量数据检索任务处理方法。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件,例如电路或ASIC(专用集成电路,Application Specific Integrated Circuit)来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (8)
1.一种海量数据检索任务处理方法,其特征在于,包括,
持续获取并记录用户发送的检索指令的请求时刻和响应数据;
对数据资源进行多级分类得到每个数据元素在每一级分类上的类别;
根据每个用户在每个请求时刻的响应数据在每一级分类上的类别获取每个用户的数据需求范围;
获取每个用户预设的身份重要性系数,其中,所述身份重要性系数包括充值的额度、会员等级或积累的经验值;
获取每个服务分区内的多个用户;
在每个服务分区内根据每个用户的所述身份重要性系数以及在对应所述数据需求范围内每个数据元素的请求时刻得到每个服务分区的前置预存数据元素;
其中,所述对数据资源进行多级分类得到每个数据元素在每一级分类上的类别的步骤,包括,
对每个数据资源分别进行多级分类得到每个数据元素在每一级分类上的类别;
对每一级分类进行编号;
对每一级分类的类别进行编号;
根据每个数据元素在每一级分类上的类别得到每个所述数据元素在每一级分类的编号和对应的类别编号;
其中,所述根据每个用户在每个请求时刻的响应数据在每一级分类上的类别获取每个用户的数据需求范围的步骤,包括,
根据每一级分类上的类别的数量得到每一级分类的权重;
对于每个用户,
按照每一级分类的编号顺序,将所述数据元素在每一级分类的类别编号顺序排列得到每个数据元素的分类特征矩阵,
抽取出若干个数据元素作为基准数据元素,
根据每一级分类的权重以及每个基准数据元素与其它数据元素的分类特征矩阵计算获取每个基准数据元素与其它数据元素的差异指数,
将其它每个所述数据元素与差异指数最小的基准数据元素划入同一个元素分组内,
在所述元素分组内任意选择一个所述数据元素作为临时基准数据元素,
计算获取所述元素分组内每个所述数据元素与临时基准数据元素之间的所述差异指数中的中位数,
将中位数对应的数据元素作为所述元素分组内更新后的基准数据元素,
判断更新前后的基准数据元素是否发生变化,
若是,则持续更新所述元素分组和基准数据元素,
若否,则将请求时刻最近的所述检索指令对应的响应数据所在的所述元素分组内全部的所述数据元素作为用户的数据请求范围。
2.根据权利要求1所述的方法,其特征在于,所述根据每一级分类上的类别的数量得到每一级分类的权重的步骤,包括,
按照由粗分类至细分类的顺序获取每一级分类的全部后续的每一级分类;
对于每一级分类,
获取其后续的全部的每一级分类的类别的数量,
将后续的全部的每一级分类的类别的数量累乘得到分类重要性指标;
计算获取每一级分类的分类重要性指标的比例系数作为每一级分类的权重。
3.根据权利要求1所述的方法,其特征在于,所述根据每一级分类的权重以及每个基准数据元素与其它数据元素的分类特征矩阵计算获取每个基准数据元素与其它数据元素的差异指数的步骤,包括,
比较每个基准数据元素与其它数据元素的分类特征矩阵的每个维度数值是否相同,
若是,则该维度记为1,
若否,则该维度记为0,
按照所述分类特征矩阵中每个维度的顺序重组得到每个基准数据元素与其它数据元素的差异矩阵,
将所述差异矩阵内每个维度的数值按照对应的每一级分类的权重计算加权和作为每个基准数据元素与其它数据元素的差异指数。
4.根据权利要求1所述的方法,其特征在于,所述在每个服务分区内根据每个用户的所述身份重要性系数以及在对应所述数据需求范围内每个数据元素的请求时刻得到每个服务分区的前置预存数据元素的步骤,包括,
对于每个所述服务分区,
获取所述服务分区的可用数据存储容量,
获取所述服务分区在对应所述数据需求范围内每个数据元素作为入围数据元素,
将每个入围数据元素对应的用户的所述身份重要性系数作为入围数据元素的第一调整系数,
根据每个入围数据元素的每次所述请求时刻得到每个入围数据元素的历次平均距今时长以及检索命中次数,
将每个入围数据元素的历次平均距今时长之间比例系数的倒数作为入围数据元素的第二调整系数,
将每个入围数据元素的检索命中次数之间比例系数作为入围数据元素的第三调整系数,
将入围数据元素的第一调整系数、第二调整系数以及第三调整系数累乘得到每个入围数据元素的存储重要性系数,
按照所述存储重要性系数由大至小在所述可用数据存储容量的限制内进行存储得到所述服务分区的前置预存数据元素。
5.一种海量数据检索任务处理方法,其特征在于,包括,
接收并存储权利要求1至4任一项所述的一种海量数据检索任务处理方法中的前置预存数据元素;
接收服务分区范围内用户发送的检索指令;
解析所述检索指令得到筛选条件并在用户对应的所述服务分区的前置预存数据元素内进行检索;
判断是否检索到;
若是,则得到并向用户发送响应数据;
若否,则将所述检索指令转发至后台服务器。
6.一种海量数据检索任务处理方法,其特征在于,包括,
发送检索指令;
接收权利要求5所述的一种海量数据检索任务处理方法中的响应数据。
7.一种海量数据检索任务处理系统,其特征在于,包括,
用户端,发送检索指令;
接收响应数据;
调度服务器,用于持续获取并记录用户发送的检索指令的请求时刻和响应数据;
对数据资源进行多级分类得到每个数据元素在每一级分类上的类别;
根据每个用户在每个请求时刻的响应数据在每一级分类上的类别获取每个用户的数据需求范围;
获取每个用户预设的身份重要性系数,其中,所述身份重要性系数包括充值的额度、会员等级或积累的经验值;
获取每个服务分区内的多个用户;
在每个服务分区内根据每个用户的所述身份重要性系数以及在对应所述数据需求范围内每个数据元素的请求时刻得到每个服务分区的前置预存数据元素;
前置服务器,用于接收并存储前置预存数据元素;
接收服务分区范围内用户发送的检索指令;
解析所述检索指令得到筛选条件并在用户对应的所述服务分区的前置预存数据元素内进行检索;
判断是否检索到;
若是,则得到并向用户发送响应数据;
若否,则将所述检索指令转发至后台服务器;
后台服务器,用于接收所述前置服务器转发的所述检索指令并进行响应;
其中,所述对数据资源进行多级分类得到每个数据元素在每一级分类上的类别的步骤,包括,
对每个数据资源分别进行多级分类得到每个数据元素在每一级分类上的类别;
对每一级分类进行编号;
对每一级分类的类别进行编号;
根据每个数据元素在每一级分类上的类别得到每个所述数据元素在每一级分类的编号和对应的类别编号;
其中,所述根据每个用户在每个请求时刻的响应数据在每一级分类上的类别获取每个用户的数据需求范围的步骤,包括,
根据每一级分类上的类别的数量得到每一级分类的权重;
对于每个用户,
按照每一级分类的编号顺序,将所述数据元素在每一级分类的类别编号顺序排列得到每个数据元素的分类特征矩阵,
抽取出若干个数据元素作为基准数据元素,
根据每一级分类的权重以及每个基准数据元素与其它数据元素的分类特征矩阵计算获取每个基准数据元素与其它数据元素的差异指数,
将其它每个所述数据元素与差异指数最小的基准数据元素划入同一个元素分组内,
在所述元素分组内任意选择一个所述数据元素作为临时基准数据元素,
计算获取所述元素分组内每个所述数据元素与临时基准数据元素之间的所述差异指数中的中位数,
将中位数对应的数据元素作为所述元素分组内更新后的基准数据元素,
判断更新前后的基准数据元素是否发生变化,
若是,则持续更新所述元素分组和基准数据元素,
若否,则将请求时刻最近的所述检索指令对应的响应数据所在的所述元素分组内全部的所述数据元素作为用户的数据请求范围。
8.一种存储介质,其特征在于,所述存储介质中存储有至少一条命令、至少一段程序、代码集或指令集,所述至少一条命令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至4任一项所述的一种海量数据检索任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410608976.0A CN118193581B (zh) | 2024-05-16 | 2024-05-16 | 一种海量数据检索任务处理方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410608976.0A CN118193581B (zh) | 2024-05-16 | 2024-05-16 | 一种海量数据检索任务处理方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118193581A CN118193581A (zh) | 2024-06-14 |
CN118193581B true CN118193581B (zh) | 2024-07-23 |
Family
ID=91405548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410608976.0A Active CN118193581B (zh) | 2024-05-16 | 2024-05-16 | 一种海量数据检索任务处理方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118193581B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323935A (zh) * | 2011-08-31 | 2012-01-18 | 中兴通讯股份有限公司 | 中间服务器、移动浏览方法及系统 |
CN106294573A (zh) * | 2016-07-28 | 2017-01-04 | Tcl集团股份有限公司 | 一种海量数据实时查询方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6329778B2 (ja) * | 2014-02-12 | 2018-05-23 | 株式会社エヌ・ティ・ティ・データ | ストレージシステム、インデクシング方法、インデクシングプログラム |
CN113486131B (zh) * | 2021-07-06 | 2023-08-08 | 兰州领新网络信息科技有限公司 | 一种创新创业地图信息服务系统 |
CN115225663B (zh) * | 2022-06-23 | 2024-03-08 | 中国工商银行股份有限公司 | 数据推送方法、装置及电子设备 |
CN116823767B (zh) * | 2023-06-27 | 2024-03-01 | 无锡市人民医院 | 一种基于图像分析的肺移植活性等级判断方法 |
-
2024
- 2024-05-16 CN CN202410608976.0A patent/CN118193581B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323935A (zh) * | 2011-08-31 | 2012-01-18 | 中兴通讯股份有限公司 | 中间服务器、移动浏览方法及系统 |
CN106294573A (zh) * | 2016-07-28 | 2017-01-04 | Tcl集团股份有限公司 | 一种海量数据实时查询方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN118193581A (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6212526B1 (en) | Method for apparatus for efficient mining of classification models from databases | |
US8266147B2 (en) | Methods and systems for database organization | |
US7069264B2 (en) | Stratified sampling of data in a database system | |
US20060100969A1 (en) | Learning-based method for estimating cost and statistics of complex operators in continuous queries | |
EP1302871A2 (en) | Collecting statistics in a database system | |
US20040186846A1 (en) | Method of partitioning data records | |
CN109614510B (zh) | 一种图像检索方法、装置、图形处理器和存储介质 | |
US9110949B2 (en) | Generating estimates for query optimization | |
US20110161280A1 (en) | System, method, and computer-readable medium that facilitate in-database analytics with supervised data discretization | |
CN107515899B (zh) | 数据库联合分片方法、装置以及存储介质 | |
US20040002956A1 (en) | Approximate query processing using multiple samples | |
CN116830097A (zh) | 数据库区域地图的自动线性聚类推荐 | |
CN115858168A (zh) | 一种基于重要性排序的地球应用模型编排系统及其方法 | |
Zhu et al. | Developing cost models with qualitative variables for dynamic multidatabase environments | |
CN115687304A (zh) | 一种Flink状态存储优化方法及装置 | |
CN118193581B (zh) | 一种海量数据检索任务处理方法、系统及存储介质 | |
US7028054B2 (en) | Random sampling as a built-in function for database administration and replication | |
Tang et al. | Parallel query service for object-centric data management systems | |
CN112182031A (zh) | 数据查询方法及装置、存储介质、电子装置 | |
CN116340468A (zh) | 主题文献检索预测方法 | |
CN116226468A (zh) | 基于网格化终端业务数据存储管理方法 | |
US9158815B2 (en) | Estimating a number of unique values in a list | |
CN113360551B (zh) | 一种靶场中时序数据的存储与快速统计方法及系统 | |
Colosi et al. | Time series data management optimized for smart city policy decision | |
CN114611719A (zh) | 一种新的基于布谷鸟搜索算法的XGBoost训练方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |