CN111782688A - 基于大数据分析的请求处理方法、装置、设备及存储介质 - Google Patents
基于大数据分析的请求处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111782688A CN111782688A CN202010607524.2A CN202010607524A CN111782688A CN 111782688 A CN111782688 A CN 111782688A CN 202010607524 A CN202010607524 A CN 202010607524A CN 111782688 A CN111782688 A CN 111782688A
- Authority
- CN
- China
- Prior art keywords
- request
- query
- data
- query request
- processing
- 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.)
- Granted
Links
- 238000007405 data analysis Methods 0.000 title claims abstract description 50
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000013500 data storage Methods 0.000 title description 3
- 238000012545 processing Methods 0.000 claims abstract description 109
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000004931 aggregating effect Effects 0.000 claims abstract description 17
- 230000002776 aggregation Effects 0.000 claims abstract description 15
- 238000004220 aggregation Methods 0.000 claims abstract description 15
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 9
- 239000000306 component Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
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/245—Query processing
- G06F16/2453—Query optimisation
-
- 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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- 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/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能,提供一种基于大数据分析的请求处理方法、装置、设备及存储介质。该方法包括:获取请求任务中所有查询请求的请求类型;根据请求类型对请求进行分流获得分流后的查询请求;再获取分流请求对应的数据查询维度,并根据数据查询维度从分流后的请求中提取多维数据查询请求;根据多维数据查询请求对应的后端数据源对多维数据查询请求进行拆分聚合处理并进行分配,本发明采用请求分流的方式提取请求中包含的多维数据查询请求能够避免请求处理的单点故障问题,通过后端数据源的异同来对请求进行拆分聚合,再发送至对应的执行后端进行请求处理,相较于现有的人工拆分聚合请求任务的方式,效率高也不易引起后端数据源的性能故障。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于大数据分析的请求处理方法、装置、设备及存储介质。
背景技术
在大数据多维分析和商业智能(Business Intelligence,BI)报表展示领域,目前存在几大痛点:个性需求多,不能使用少量的拆分和聚合满足大部分的业务需求;单个业务需求,业务场景复杂,查询维度多,消耗大量资源;查询延迟高,系统敏捷性低;问题定位困难,单个请求、多个请求、前端、中台、后端各数据源等都存在技术瓶颈。
针对上述问题,目前业内的解决方案大概包括以下几种方式:
由业务程序在中台对请求任务进行分流,易造成单点故障。
由后端数据源在数据入库前人工拆分请求任务,成本高,易造成数据源性能瓶颈。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种基于大数据分析的请求处理方法、装置、设备及存储介质,旨在解决现有技术在对大批量请求任务进行处理时,容易造成单点故障、且人工处理成本高昂的技术问题。
为实现上述目的,本发明提供了一种基于大数据分析的请求处理方法,所述方法包括以下步骤:
在接收到请求任务时,获取所述请求任务中所有查询请求的请求类型;
根据所述请求类型对所述查询请求进行分流,获得分流后的查询请求;
获取所述分流后的查询请求对应的数据查询维度,并根据所述数据查询维度从所述分流后的查询请求中提取多维数据查询请求;
确定所述多维数据查询请求对应的后端数据源,并根据所述后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求;
将所述待调度查询请求发送至对应的执行后端进行请求处理。
优选地,所述分流后的查询请求包括数据查询请求和非数据查询请求;
所述获取所述分流后的查询请求对应的数据查询维度,并根据所述数据查询维度从所述分流后的查询请求中提取多维数据查询请求的步骤,包括:
从所述分流后的查询请求中获取所述数据查询请求;根据所述数据查询请求的请求报文确定所述数据查询请求对应的数据查询维度;
根据所述数据查询维度判断所述数据查询请求是否存在多维度数据查询请求;
若存在,则提取所述多维数据查询请求。
优选地,所述根据所述请求类型对所述查询请求进行分流,获得分流后的查询请求的步骤之后,所述方法还包括:
从所述分流后的查询请求中提取所述非数据查询请求;
对所述非数据查询请求进行解析,从请求解析结果中确定待访问服务器;
查找当前正在对所述待访问服务器进行访问的候选执行后端,并将所述非数据查询请求分配至所述候选执行后端进行处理。
优选地,所述确定所述多维数据查询请求对应的后端数据源,并根据所述后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求的步骤,包括:
获取所述多维数据查询请求中所包含查询任务对应的URL地址;
根据所述URL地址确定各查询任务所要访问的后端数据源;
根据所述后端数据源的异同对所述查询任务进行分类,并根据分类结果确定所述多维数据查询请求中的待聚合任务和待拆分任务;
对所述待聚合任务和所述待拆分任务进行拆分聚合处理,获得待调度查询请求。
优选地,所述将所述待调度查询请求发送至对应的执行后端进行请求处理的步骤,包括:
获取所述待调度查询请求被执行时所需的资源大小;
查找所述待调度查询请求对应的可执行后端,并获取所述可执行后端的当前状态参数;
根据所述当前状态参数和所述资源大小从所述可执行后端中选取目标执行后端;
将所述待调度查询请求发送至所述目标执行后端进行请求处理。
优选地,所述根据所述当前状态参数和所述资源大小从所述可执行后端中选取目标执行后端的步骤,包括:
根据所述当前状态参数和所述资源大小从所述可执行后端中选取预设数量的待选执行后端;
获取所述待选执行后端的历史任务处理数据,根据所述历史任务处理数据确定所述待选执行后端的平均任务处理时长;
根据所述平均任务处理时长从所述待选执行后端中选取目标执行后端。
优选地,所述将所述待调度查询请求发送至所述目标执行后端进行请求处理的步骤之后,所述方法还包括:
在预设时间周期内未接收到所述目标执行后端反馈的请求执行结果时,获取所述待调度查询请求对应的请求执行数据;
根据所述请求执行数据判断所述目标执行后端是否出现异常;
在所述目标执行后端出现异常时,重新选取执行后端执行所述待调度查询请求。
此外,为实现上述目的,本发明还提出一种基于大数据分析的请求处理装置,所述装置包括:
请求接收模块,用于在接收到请求任务时,获取所述请求任务中所有查询请求的请求类型;
请求分流模块,用于根据所述请求类型对所述查询请求进行分流,获得分流后的查询请求;
请求提取模块,用于获取所述分流后的查询请求对应的数据查询维度,并根据所述数据查询维度从所述分流后的查询请求中提取多维数据查询请求;
拆分聚合模块,用于确定所述多维数据查询请求对应的后端数据源,并根据所述后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求;
请求调度模块,用于将所述待调度查询请求发送至对应的执行后端进行请求处理。
此外,为实现上述目的,本发明还提出一种基于大数据分析的请求处理设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于大数据分析的请求处理程序,所述基于大数据分析的请求处理程序配置为实现如上文所述的基于大数据分析的请求处理方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于大数据分析的请求处理程序,所述基于大数据分析的请求处理程序被处理器执行时实现如上文所述的基于大数据分析的请求处理方法的步骤。
本发明通过在接收到请求任务时,获取请求任务中所有查询请求的请求类型;然后根据请求类型对所述查询请求进行分流,获得分流后的查询请求;再获取分流后的查询请求对应的数据查询维度,并根据数据查询维度从分流后的查询请求中提取多维数据查询请求;确定多维数据查询请求对应的后端数据源,并根据后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求;最后将待调度查询请求发送至对应的执行后端进行请求处理,本发明采用请求分流的方式单独提取请求任务中包含的多维数据查询请求能够避免请求处理的单点故障问题,提高了请求任务的整体处理效率,同时通过请求所要访问的后端数据源的异同来对请求进行拆分聚合,然后再将拆分聚合后的待调度查询请求发送至对应的执行后端进行请求处理,相较于现有的人工拆分聚合请求任务的方式,效率高也不易引起后端数据源的性能故障。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的基于大数据分析的请求处理设备的结构示意图;
图2为本发明基于大数据分析的请求处理方法第一实施例的流程示意图;
图3为本发明基于大数据分析的请求处理方法实施例中分布式任务处理系统示意图。
图4为本发明基于大数据分析的请求处理方法第二实施例的流程示意图;
图5为本发明基于大数据分析的请求处理方法第三实施例的流程示意图;
图6为本发明基于大数据分析的请求处理装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的基于大数据分析的请求处理设备结构示意图。
如图1所示,该基于大数据分析的请求处理设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对基于大数据分析的请求处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及基于大数据分析的请求处理程序。
在图1所示的基于大数据分析的请求处理设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明基于大数据分析的请求处理设备中的处理器1001、存储器1005可以设置在基于大数据分析的请求处理设备中,所述基于大数据分析的请求处理设备通过处理器1001调用存储器1005中存储的基于大数据分析的请求处理程序,并执行本发明实施例提供的基于大数据分析的请求处理方法。
本发明实施例提供了一种基于大数据分析的请求处理方法,参照图2,图2为本发明基于大数据分析的请求处理方法第一实施例的流程示意图。
需要说明的是,本实施例方法的执行主体可以是一种分布式任务处理系统(以下简称系统)。参照图3,图3为本发明基于大数据分析的请求处理方法实施例中分布式任务处理系统示意图。
如图3所示,所述分布式任务处理系统包括前端10、智能调度层20以及多个后端(301、302…30n)。其中,所示前端10用于接收外部系统发送的请求任务,然后对请求任务进行初次分流后发送至智能调度层20或后端(301、302…30n)进行处理。所述智能调度层20为分布式任务处理系统的核心组件,具有路由分发、数据统计、数据匹配、数据计算、人工智能AI等功能。所述后端(301、302…30n),即执行后端(主机),用于对接收的请求或任务进行处理,并反馈处理结果至前端10或智能调度层20。
本实施例中,所述智能调度层20用于实时获取后端(301、302…30n)的性能数据并进行其历史性能数据统计,然后按照各请求任务对应的历史数据来对查询请求的聚合和拆分进行趋势预估,以及根据预估的趋势判断后端数据源、后端等是否达到性能瓶颈、请求量是否已经是波峰,是否需要扩容等风险进行预估。
此外,本实施例中所述智能调度层20可集成有人工智能AI模块,AI模块能够根据智能调度层20统计的数据以及查询请求的执行结果(通过智能调度层20处理的逻辑拆分和逻辑聚合的次数、大小、时效、查询的数据源或者表单、执行时间等数据统计结果等)进行机器学习、建模,从而形成多个趋势数据,用以对拆分后的数据查询请求进行预估、资源预分配、风险预判等。
本实施例中,对于前端10接收到的所有多维数据查询请求都由智能调度层20进行数据统计、逻辑拆分和/或逻辑聚合。同时还进行数据统计结果预展示,查询耗时预估,查询资源使用情况展示等。
本实施例中,上述数据统计是根据前端10的来源请求统计需要进行多维数据查询的请求数量、查询类型数量等信息。数据统计结果预展示是根据读取AI模块中多维数据查询请求的数据统计建模,对每天/每周/每月的查询情况进行预展示;查询耗时预估是根据读取AI中的多维数据查询请求的耗时数据建模,同时根据系统繁忙程度/性能/历史查询耗时,预估多维查询的耗时。查询资源使用情况展示是查看实时系统主机性能/数据查询能效/业务系统繁忙度等。此外,智能调度层20还可以将任务聚合的结果反馈至前端10,同时将结果存入数据库和AI模块用于数据统计和模型的自学习等。
基于上述分布式任务系统,本实施例所述基于大数据分析的请求处理方法包括以下步骤:
步骤S10:在接收到请求任务时,获取所述请求任务中所有查询请求的请求类型;
需要说明的是,本实施例中所述请求类型可以是根据请求是否需要访问数据库/数据源或者进行数据查询而划分的请求种类,具体的可将需要访问数据库/数据源或需要进行数据查询的请求作为数据查询请求,反之则作为非数据查询请求。
步骤S20:根据所述请求类型对所述查询请求进行分流,获得分流后的查询请求;
本实施例中前端10对请求任务进行初次分流的方式可以是根据请求类型来实现,对于非数据查询请求直接转发至后端(301、302…30n)进行处理;对于数据查询请求则先发送至智能调度层20,由智能调度层20进行智能路由后再发送至后端(301、302…30n)进行处理。这种分流方式相比于直接将请求任务交由业务程序进行分流的方式,能够有效避免单点故障的问题。
步骤S30:获取所述分流后的查询请求对应的数据查询维度,并根据所述数据查询维度从所述分流后的查询请求中提取多维数据查询请求;
本实施例中,所述分流后的查询请求可包括数据查询请求和非数据查询请求。
可理解的是,属于数据查询的请求中,也可能存在单一维度的数据查询请求,因而需要从请求类型为数据查询的目标查询请求中根据请求对应的数据查询维度提取多维数据查询请求。本步骤中,所述多维数据查询请求可以是根据业务需要通过对大数据/海量数据从多个维度和层次进行组合分析的查询请求,这类请求中往往携带有多个查询任务。
在具体实现中,可从所述分流后的查询请求中获取数据查询请求;然后根据数据查询请求的请求报文确定数据查询请求对应的数据查询维度;再根据数据查询维度判断所述数据查询请求是否存在多维度数据查询请求;若存在,则提取多维数据查询请求。
步骤S40:确定所述多维数据查询请求对应的后端数据源,并根据所述后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求;
需要说明的是,所述后端数据源可以是多维数据查询请求所要访问的后端数据库,这些后端数据库可由对应的后端主机,即图3中的后端(301、302…30n)进行管控。
本实施例中所述拆分聚合处理可以是对多维数据查询请求进行逻辑拆分和/或逻辑聚合。所谓逻辑拆分就是将后端数据源不同的查询任务从多维数据查询请求中拆分出来,而逻辑聚合即对不同多维数据查询请求中拆分出来的(后端数据源相同的)查询任务进行聚合获得待调度的查询请求,也可以是将同一个多维数据查询请求中后端数据源相同的查询任务进行聚合获得待调度的查询请求。例如,系统在某一时刻接收到了两个多维数据查询请求A和B,请求A中携带查询任务{1,2,3,4},请求B中携带查询任务{5,6},其中后端数据源为C的查询任务为:1、2、4、6,后端数据源为D的查询任务为3、后端数据源为E的查询任务为5,此时系统可将请求A中的任务3拆分出去并保留任务1、2和4,将请求B中的任务6拆分出去并保留任务5,然后再将请求A保留的任务1、2、4和请求B中拆分的任务6进行聚合,获得新的包含查询任务{1,2,4,6}的待调度查询请求。
在具体实现中,系统在获取到多维数据查询请求后,可根据请求报文确定其所要访问的所有后端数据源,然后根据所述后端数据源对多维数据查询请求进行拆分聚合处理,获得待调度查询请求。
步骤S50:将所述待调度查询请求发送至对应的执行后端进行请求处理。
应理解的是,系统在获取到待调度查询请求后,即可根据这些请求各自对应的后端数据源确定相应的执行后端,然后将这些待调度查询请求发送至对应的执行后端进行请求处理。
考虑到在实际应用中,待调度查询请求所要访问的后端数据源可能统一存放在某一个或几个数据库中,而具备这些数据库访问权限的执行后端也可能有多个。为提高任务的处理效率,此时就需要从众多可选的执行后端中选择最优或较优的执行后端来对这些请求进行处理,从而提高用户的网络访问体验。
在具体实现中,系统可先确定待调度查询请求所要访问的后端数据源,然后查询拥有这些后端数据源访问权限的可执行后端,再从这些可执行后端中选取对应的执行后端进行请求处理。
进一步地,为便于系统快速查询出上述可执行后端,可在系统中建立一个映射关系以加快查询效率和准确率,该映射关系中存放有后端数据源和允许访问该后端数据源的可执行后端之间的对应关系,系统管理员可根据实际需求对该映射关系进行维护,以更新后端数据源的访问权限。
本实施例中系统在选取对应的执行后端时,可从上述可执行后端中随机选取,也可根据可执行后端的空闲情况进行选取,还可根据其他的选取策略进行选取,本实施例对此不加以限制。
为保证请求任务的处理效率,作为一种实施方式,本实施例中上述根据执行后端的空闲情况进行执行后端的选取,可具体包括:获取可执行后端的忙闲度;对所述忙闲度进行排序并获取排序结果;获取待调度查询请求被执行时所需的资源大小;根据所述排序结果和所述资源大小选取执行后端。本实施例中所述忙闲度可根据执行后端的CPU、内存和磁盘输入输出量(Input/Output,IO)来确定,所述资源大小可包括对执行后端CPU、内存、磁盘IO的性能需求,以及对网络带宽的占用情况等。
本实施例通过在接收到请求任务时,获取请求任务中所有查询请求的请求类型;然后根据请求类型对所述查询请求进行分流,获得分流后的查询请求;再获取分流后的查询请求对应的数据查询维度,并根据数据查询维度从分流后的查询请求中提取多维数据查询请求;确定多维数据查询请求对应的后端数据源,并根据后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求;最后将待调度查询请求发送至对应的执行后端进行请求处理,本实施例采用请求分流的方式单独提取请求任务中包含的多维数据查询请求能够避免请求处理的单点故障问题,提高了请求任务的整体处理效率,同时通过请求所要访问的后端数据源的异同来对请求进行拆分聚合,然后再将拆分聚合后的待调度查询请求发送至对应的执行后端进行请求处理,相较于现有的人工拆分聚合请求任务的方式,效率高也不易引起后端数据源的性能故障。
参考图4,图4为本发明基于大数据分析的请求处理方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S50可具体包括以下步骤:
步骤S501:获取所述待调度查询请求被执行时所需的资源大小;
需要说明的是,本实施例中所述资源大小可以是执行后端在执行待调度查询请求中的查询任务时所需要的CPU占用、内存占用、磁盘占用以及网络带宽占用等资源的大小。
在具体实现中,系统可根据历史任务处理数据来预估当前的待调度请求被执行时所需的资源大小,也可以先判断待调度查询请求中的查询任务是否已经被执行过,若是则直接根据对应的历史任务处理数据来确定上述资源大小。
步骤S502:查找所述待调度查询请求对应的可执行后端,并获取所述可执行后端的当前状态参数;
需要说明的是,所述可执行后端为拥有对待调度查询请求所要访问的后端数据源的访问权限的执行后端。所述当前状态参数可以是CPU、内存、磁盘IO以及网络带宽等维度的状态数据。
在具体实现中,系统可查找待调度查询请求对应的可执行后端,然后实时获取这些可执行后端的CPU、内存、磁盘IO以及网络带宽等参数数据。
步骤S503:根据所述当前状态参数和所述资源大小从所述可执行后端中选取目标执行后端;
在具体实现中,系统在获取到可执行后端的当前状态参数和待调度查询请求被执行时所需的资源大小,即可将二者进行匹配,然后根据匹配结果来选取最终用于执行待调度请求的执行后端。
具体的,系统可根据所述当前状态参数和所述资源大小从所述可执行后端中选取预设数量(大于等于待调度查询请求的数量)的待选执行后端(例如,根据二者的匹配结果选取匹配程度较高的1~10个待选执行后端);然后获取所述待选执行后端的历史任务处理数据,再根据所述历史任务处理数据确定所述待选执行后端的平均任务处理时长;最后根据所述平均任务处理时长从所述待选执行后端中选取最终执行请求的目标执行后端。
步骤S504:将所述待调度查询请求发送至所述目标执行后端进行请求处理。
在具体实现中,系统在确定出目标执行后端后,即可将所述待调度查询请求发送至所述目标执行后端进行请求处理。同时本实施例中系统还会记录请求处理过程中的请求执行数据,例如执行时长、链接时长、数据大小等。
进一步地,为了避免执行后端出现故障或宕机导致请求处理无法正常完成的情况。本实施例中系统还将在执行后端未正常反馈请求执行结果时,根据预先统计的请求处理历史趋势和记录的请求执行数据来判断执行后端是否出现异常。
具体的,系统可在预设时间周期内未接收到所述目标执行后端反馈的请求执行结果时,获取所述待调度查询请求对应的请求执行数据;然后根据所述请求执行数据判断所述目标执行后端是否出现异常;在所述目标执行后端出现异常时,重新选取执行后端执行所述待调度查询请求。
进一步地,为提高请求重新分配后的处理效率,本实施例中系统可根据所有执行后端的历史任务处理数据选取执行时间最短的最优执行后端来处理被重新分配的请求。
本实施例通过获取待调度查询请求被执行时所需的资源大小;查找待调度查询请求对应的可执行后端,并获取可执行后端的当前状态参数;根据当前状态参数和资源大小从可执行后端中选取目标执行后端;将待调度查询请求发送至目标执行后端进行请求处理,从而能够结合每个待调度查询请求和执行后端的实际情况合理分配执行后端进行请求处理,智能化的解决了请求任务的处理问题,提高了请求处理的效率,也降低了执行后端的故障率。
参考图5,图5为本发明基于大数据分析的请求处理方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S40包括:
步骤S401:获取所述多维数据查询请求中所包含查询任务对应的URL地址;
应理解的是,多维数据查询请求中可能包含多个查询任务,这些查询任务所要访问的后端数据源也可能并不相同。为了能够快速准确地确定每个查询任务所要访问的后端数据源是否一致,本实施例优选通过查询任务对应的URL地址来进行判断。
在具体实现中,系统可先对多维数据查询请求进行解析,然后获取所包含查询任务对应的URL地址。
步骤S402:根据所述URL地址确定各查询任务所要访问的后端数据源;
应理解的是,通常情况下完整的URL地址包括:协议部分、域名部分、端口部分、虚拟目录部分、文件名部分、参数部分、锚部分。其中,域名、虚拟目录部分、文件名部分和/或参数部分对应的数据都可以用来确定所要访问的后端数据源。
考虑到虚拟目录部分和文件名部分对应的数据并不一定包含在每一个URL地址中,本实施例可采用域名部分、或域名部分+参数部分的数据来确定各查询任务所要访问的后端数据源。
步骤S403:根据所述后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求。
在具体实现中,系统确定出每个查询任务对应的后端数据源后,即可根据所述后端数据源的异同对所述查询任务进行分类,然后根据分类结果确定所述多维数据查询请求中的待聚合任务和待拆分任务;再对所述待聚合任务和所述待拆分任务进行拆分聚合处理,获得待调度查询请求,即将后端数据源相同的任务进行聚合,将后端数据源不同的任务拆分出去。
本实施例通过获取多维数据查询请求中所包含查询任务对应的URL地址;然后根据URL地址确定各查询任务所要访问的后端数据源;再根据后端数据源对多维数据查询请求进行拆分聚合处理,获得待调度查询请求,能够准确地确定出请求中的哪些查询任务需要被聚合或拆分,然后再对请求进行拆分聚合处理,相比于现有的人工确定和人工拆分聚合的方式,准确度大大提升,也极大地降低了人工成本。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于大数据分析的请求处理程序,所述基于大数据分析的请求处理程序被处理器执行时实现如上文所述的基于大数据分析的请求处理方法的步骤。
参照图6,图6为本发明基于大数据分析的请求处理装置第一实施例的结构框图。
如图6所示,本发明实施例提出的基于大数据分析的请求处理装置包括:
请求接收模块601,用于在接收到请求任务时,获取所述请求任务中所有查询请求的请求类型;
请求分流模块602,用于根据所述请求类型对所述查询请求进行分流,获得分流后的查询请求;
请求提取模块603,用于获取所述分流后的查询请求对应的数据查询维度,并根据所述数据查询维度从所述分流后的查询请求中提取多维数据查询请求;
拆分聚合模块604,用于确定所述多维数据查询请求对应的后端数据源,并根据所述后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求;
请求调度模块605,用于将所述待调度查询请求发送至对应的执行后端进行请求处理。
本实施例通过在接收到请求任务时,获取请求任务中所有查询请求的请求类型;然后根据请求类型对所述查询请求进行分流,获得分流后的查询请求;再获取分流后的查询请求对应的数据查询维度,并根据数据查询维度从分流后的查询请求中提取多维数据查询请求;确定多维数据查询请求对应的后端数据源,并根据后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求;最后将待调度查询请求发送至对应的执行后端进行请求处理,本实施例采用请求分流的方式单独提取请求任务中包含的多维数据查询请求能够避免请求处理的单点故障问题,提高了请求任务的整体处理效率,同时通过请求所要访问的后端数据源的异同来对请求进行拆分聚合,然后再将拆分聚合后的待调度查询请求发送至对应的执行后端进行请求处理,相较于现有的人工拆分聚合请求任务的方式,效率高也不易引起后端数据源的性能故障。
基于本发明上述基于大数据分析的请求处理装置第一实施例,提出本发明基于大数据分析的请求处理装置的第二实施例。
在本实施例中,所述请求提取模块603,还用于从所述分流后的查询请求中获取所述数据查询请求;根据所述数据查询请求的请求报文确定所述数据查询请求对应的数据查询维度;根据所述数据查询维度判断所述数据查询请求是否存在多维度数据查询请求;若存在,则提取所述多维数据查询请求。
进一步地,所述请求提取模块603,还用于从所述分流后的查询请求中提取所述非数据查询请求;对所述非数据查询请求进行解析,从请求解析结果中确定待访问服务器;查找当前正在对所述待访问服务器进行访问的候选执行后端,并将所述非数据查询请求分配至所述候选执行后端进行处理。
进一步地,所述拆分聚合模块602,还用于获取所述多维数据查询请求中所包含查询任务对应的URL地址;根据所述URL地址确定各查询任务所要访问的后端数据源;根据所述后端数据源的异同对所述查询任务进行分类,并根据分类结果确定所述多维数据查询请求中的待聚合任务和待拆分任务;对所述待聚合任务和所述待拆分任务进行拆分聚合处理,获得待调度查询请求。
进一步地,所述请求调度模块603,还用于获取所述待调度查询请求被执行时所需的资源大小;查找所述待调度查询请求对应的可执行后端,并获取所述可执行后端的当前状态参数;根据所述当前状态参数和所述资源大小从所述可执行后端中选取目标执行后端;将所述待调度查询请求发送至所述目标执行后端进行请求处理。
进一步地,所述请求调度模块603,还用于根据所述当前状态参数和所述资源大小从所述可执行后端中选取预设数量的待选执行后端;获取所述待选执行后端的历史任务处理数据,根据所述历史任务处理数据确定所述待选执行后端的平均任务处理时长;根据所述平均任务处理时长从所述待选执行后端中选取目标执行后端。
进一步地,所述请求调度模块603,还用于在预设时间周期内未接收到所述目标执行后端反馈的请求执行结果时,获取所述待调度查询请求对应的请求执行数据;根据所述请求执行数据判断所述目标执行后端是否出现异常;在所述目标执行后端出现异常时,重新选取执行后端执行所述待调度查询请求。
本发明基于大数据分析的请求处理装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于大数据分析的请求处理方法,其特征在于,所述方法包括:
在接收到请求任务时,获取所述请求任务中所有查询请求的请求类型;
根据所述请求类型对所述查询请求进行分流,获得分流后的查询请求;
获取所述分流后的查询请求对应的数据查询维度,并根据所述数据查询维度从所述分流后的查询请求中提取多维数据查询请求;
确定所述多维数据查询请求对应的后端数据源,并根据所述后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求;
将所述待调度查询请求发送至对应的执行后端进行请求处理。
2.如权利要求1所述的方法,其特征在于,所述分流后的查询请求包括数据查询请求和非数据查询请求;
所述获取所述分流后的查询请求对应的数据查询维度,并根据所述数据查询维度从所述分流后的查询请求中提取多维数据查询请求的步骤,包括:
从所述分流后的查询请求中获取所述数据查询请求;根据所述数据查询请求的请求报文确定所述数据查询请求对应的数据查询维度;
根据所述数据查询维度判断所述数据查询请求是否存在多维度数据查询请求;
若存在,则提取所述多维数据查询请求。
3.如权利要求2所述的方法,其特征在于,所述根据所述请求类型对所述查询请求进行分流,获得分流后的查询请求的步骤之后,所述方法还包括:
从所述分流后的查询请求中提取所述非数据查询请求;
对所述非数据查询请求进行解析,从请求解析结果中确定待访问服务器;
查找当前正在对所述待访问服务器进行访问的候选执行后端,并将所述非数据查询请求分配至所述候选执行后端进行处理。
4.如权利要求1所述的方法,其特征在于,所述确定所述多维数据查询请求对应的后端数据源,并根据所述后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求的步骤,包括:
获取所述多维数据查询请求中所包含查询任务对应的URL地址;
根据所述URL地址确定各查询任务所要访问的后端数据源;
根据所述后端数据源的异同对所述查询任务进行分类,并根据分类结果确定所述多维数据查询请求中的待聚合任务和待拆分任务;
对所述待聚合任务和所述待拆分任务进行拆分聚合处理,获得待调度查询请求。
5.如权利要求1至4任一项所述的方法,其特征在于,所述将所述待调度查询请求发送至对应的执行后端进行请求处理的步骤,包括:
获取所述待调度查询请求被执行时所需的资源大小;
查找所述待调度查询请求对应的可执行后端,并获取所述可执行后端的当前状态参数;
根据所述当前状态参数和所述资源大小从所述可执行后端中选取目标执行后端;
将所述待调度查询请求发送至所述目标执行后端进行请求处理。
6.如权利要求5所述的方法,其特征在于,所述根据所述当前状态参数和所述资源大小从所述可执行后端中选取目标执行后端的步骤,包括:
根据所述当前状态参数和所述资源大小从所述可执行后端中选取预设数量的待选执行后端;
获取所述待选执行后端的历史任务处理数据,根据所述历史任务处理数据确定所述待选执行后端的平均任务处理时长;
根据所述平均任务处理时长从所述待选执行后端中选取目标执行后端。
7.如权利要求5所述的方法,其特征在于,所述将所述待调度查询请求发送至所述目标执行后端进行请求处理的步骤之后,所述方法还包括:
在预设时间周期内未接收到所述目标执行后端反馈的请求执行结果时,获取所述待调度查询请求对应的请求执行数据;
根据所述请求执行数据判断所述目标执行后端是否出现异常;
在所述目标执行后端出现异常时,重新选取执行后端执行所述待调度查询请求。
8.一种基于大数据分析的请求处理装置,其特征在于,所述装置包括:
请求接收模块,用于在接收到请求任务时,获取所述请求任务中所有查询请求的请求类型;
请求分流模块,用于根据所述请求类型对所述查询请求进行分流,获得分流后的查询请求;
请求提取模块,用于获取所述分流后的查询请求对应的数据查询维度,并根据所述数据查询维度从所述分流后的查询请求中提取多维数据查询请求;拆分聚合模块,用于确定所述多维数据查询请求对应的后端数据源,并根据所述后端数据源对所述多维数据查询请求进行拆分聚合处理,获得待调度查询请求;
请求调度模块,用于将所述待调度查询请求发送至对应的执行后端进行请求处理。
9.一种基于大数据分析的请求处理设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于大数据分析的请求处理程序,所述基于大数据分析的请求处理程序配置为实现如权利要求1至7中任一项所述的基于大数据分析的请求处理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有基于大数据分析的请求处理程序,所述基于大数据分析的请求处理程序被处理器执行时实现如权利要求1至7任一项所述的基于大数据分析的请求处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010607524.2A CN111782688B (zh) | 2020-06-29 | 2020-06-29 | 基于大数据分析的请求处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010607524.2A CN111782688B (zh) | 2020-06-29 | 2020-06-29 | 基于大数据分析的请求处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782688A true CN111782688A (zh) | 2020-10-16 |
CN111782688B CN111782688B (zh) | 2024-02-06 |
Family
ID=72759912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010607524.2A Active CN111782688B (zh) | 2020-06-29 | 2020-06-29 | 基于大数据分析的请求处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782688B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656473A (zh) * | 2021-07-30 | 2021-11-16 | 平安消费金融有限公司 | 接口访问方法、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020029207A1 (en) * | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
CN105357674A (zh) * | 2015-10-26 | 2016-02-24 | 青岛海尔智能家电科技有限公司 | 一种数据分流方法、装置和系统 |
CN107395663A (zh) * | 2017-05-17 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 数据获取方法及装置 |
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、系统、计算机及存储介质 |
CN108268524A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 数据库聚合处理方法及装置 |
CN108449375A (zh) * | 2018-01-30 | 2018-08-24 | 上海天旦网络科技发展有限公司 | 网络互联数据抓取分发的系统和方法 |
CN109213829A (zh) * | 2017-06-30 | 2019-01-15 | 北京国双科技有限公司 | 数据查询方法及装置 |
CN111061766A (zh) * | 2019-11-27 | 2020-04-24 | 上海钧正网络科技有限公司 | 一种业务数据的处理方法、装置、计算机设备及存储介质 |
-
2020
- 2020-06-29 CN CN202010607524.2A patent/CN111782688B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020029207A1 (en) * | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
CN105357674A (zh) * | 2015-10-26 | 2016-02-24 | 青岛海尔智能家电科技有限公司 | 一种数据分流方法、装置和系统 |
CN108268524A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 数据库聚合处理方法及装置 |
CN107395663A (zh) * | 2017-05-17 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 数据获取方法及装置 |
CN109213829A (zh) * | 2017-06-30 | 2019-01-15 | 北京国双科技有限公司 | 数据查询方法及装置 |
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、系统、计算机及存储介质 |
CN108449375A (zh) * | 2018-01-30 | 2018-08-24 | 上海天旦网络科技发展有限公司 | 网络互联数据抓取分发的系统和方法 |
CN111061766A (zh) * | 2019-11-27 | 2020-04-24 | 上海钧正网络科技有限公司 | 一种业务数据的处理方法、装置、计算机设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656473A (zh) * | 2021-07-30 | 2021-11-16 | 平安消费金融有限公司 | 接口访问方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111782688B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113243005B (zh) | 按需网络代码执行系统中的基于性能的硬件仿真 | |
US11240117B2 (en) | Intelligent analytic cloud provisioning | |
US10841241B2 (en) | Intelligent placement within a data center | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN108268372B (zh) | Mock测试处理方法、装置、存储介质和计算机设备 | |
US9535751B2 (en) | Resource selection advisor mechanism | |
US8572621B2 (en) | Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN111274256A (zh) | 基于时序数据库的资源管控方法、装置、设备及存储介质 | |
CN105812175B (zh) | 一种资源管理方法及资源管理设备 | |
CN113672500B (zh) | 深度学习算法的测试方法、装置、电子装置和存储介质 | |
CN115292014A (zh) | 图像渲染方法、装置和服务器 | |
CN109582445A (zh) | 消息处理方法、装置、电子设备及计算机可读存储介质 | |
CN105872082B (zh) | 基于容器集群负载均衡算法的细粒度资源响应系统 | |
CN111782688B (zh) | 基于大数据分析的请求处理方法、装置、设备及存储介质 | |
CN110839061B (zh) | 数据分发方法、装置及存储介质 | |
CN114201306B (zh) | 基于负载均衡技术的多维地理空间实体分布方法及系统 | |
US20200210307A1 (en) | Method for automatically analyzing bottleneck in real time and an apparatus for performing the method | |
CN113297358A (zh) | 数据处理方法、装置、服务器和计算机可读存储介质 | |
CN115396319B (zh) | 数据流分片方法、装置、设备及存储介质 | |
CN115361281B (zh) | 一种多个云集群节点扩容的处理方法、装置、设备及介质 | |
Pucher et al. | EXFed: Efficient Cross-Federation with Availability SLAs on Preemptible IaaS Instances | |
CN113835852B (zh) | 任务数据的调度方法及装置 | |
CN117093350A (zh) | 分布式批处理任务调度方法、装置和计算机设备 | |
CN113204602A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |