基于搜索框架的数据处理方法、装置、设备及存储介质与流程

文档序号:26004763发布日期:2021-07-23 21:22阅读:70来源:国知局
本发明涉及数据处理
技术领域
:,尤其涉及一种基于搜索框架的数据处理方法、装置、设备及存储介质。
背景技术
::在大数据处理场景,需对海量数据进行存储以及高效准确的搜索。传统数据存储采用关系型数据库进行存储,其存储结构为relationaldb→databases→tables→rows→columns,即所有数据分布在不同的关系型数据库的不同数据表中,其数据存储过程操作复杂,存储效率较低,且在进行多条件或者复杂查询时,搜索效率较低,容易出现因系统资源无法匹配而导致的卡顿现象。技术实现要素:本发明实施例提供一种基于搜索框架的数据处理方法、装置、设备及存储介质,以解决采用关系型数据库中的多个数据表存储海量数据存储效率较低且容易出现卡顿现象的问题。一种基于搜索框架的数据处理方法,包括:执行与基于elasticsearch搜索框架创建的配置主题宽表相对应的数据监听任务,对与所述配置主题宽表相对应的源数据库进行监听,获取当前更新数据,所述当前更新数据包括更新字段和所述更新字段对应的字段数据;根据所述更新字段查询所述配置主题宽表,确定所述更新字段对应的字段属性;若所述更新字段对应的字段属性为实时属性,则将所述当前更新数据传输到实时更新组件,利用所述实时更新组件将所述当前更新数据实时更新到所述配置主题宽表中,获取更新后的目标主题宽表;若所述更新字段对应的字段属性为延时属性,则将所述当前更新数据缓存到hive数据仓库,利用所述hive数据仓库将所述当前更新数据延时更新到所述配置主题宽表中,获取更新后的目标主题宽表。一种基于搜索框架的数据处理装置,包括:更新数据获取模块,用于执行与基于elasticsearch搜索框架创建的配置主题宽表相对应的数据监听任务,对与所述配置主题宽表相对应的源数据库进行监听,获取当前更新数据,所述当前更新数据包括更新字段和所述更新字段对应的字段数据;字段属性确定模块,用于根据所述更新字段查询所述配置主题宽表,确定所述更新字段对应的字段属性;实时更新处理模块,用于若所述更新字段对应的字段属性为实时属性,则将所述当前更新数据传输到实时更新组件,利用所述实时更新组件将所述当前更新数据实时更新到所述配置主题宽表中,获取更新后的目标主题宽表;延时更新处理模块,用于若所述更新字段对应的字段属性为延时属性,则将所述当前更新数据缓存到hive数据仓库,利用所述hive数据仓库将所述当前更新数据延时更新到所述配置主题宽表中,获取更新后的目标主题宽表。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于搜索框架的数据处理方法。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于搜索框架的数据处理方法。上述基于搜索框架的数据处理方法、装置、设备及存储介质,预先基于elasticsearch搜索框架创建的配置主题宽表,可通过所述配置主题宽表进行数据快速高效搜索,提高数据搜索效率。执行与基于elasticsearch搜索框架创建的配置主题宽表相对应的数据监听任务,对源数据库进行监听,以确定需要更新到配置主题宽表中的当前更新数据,有助于保障配置主题宽表中数据的时效性。在根据更新字段和配置主题宽表确定更新字段的字段属性为实时属性时,将当前更新数据实时更新到配置主题宽表中,获取目标主题宽表,从而保障目标主题宽表中数据更新的时效性。在根据更新字段和配置主题宽表确定更新字段的字段属性为延时属性时,将当前更新数据延时更新到配置主题宽表中,获取目标主题宽表,从而保障目标主题宽表中数据更新过程可兼顾系统资源利用率,避免因实时更新而导致卡顿现象。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明一实施例中基于搜索框架的数据处理方法的一应用环境示意图;图2是本发明一实施例中基于搜索框架的数据处理方法的一流程图;图3是本发明一实施例中基于搜索框架的数据处理方法的另一流程图;图4是本发明一实施例中基于搜索框架的数据处理方法的另一流程图;图5是本发明一实施例中基于搜索框架的数据处理方法的另一流程图;图6是本发明一实施例中基于搜索框架的数据处理装置的一示意图;图7是本发明一实施例中计算机设备的一示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供的基于搜索框架的数据处理方法,该基于搜索框架的数据处理方法可应用如图1所示的应用环境中。具体地,该基于搜索框架的数据处理方法应用在数据处理系统中,该数据处理系统包括如图1所示的客户端和服务器,客户端与服务器通过网络进行通信,用于实现对海量数据进行快速高效存储,有助于保障存储后的数据可以被高效准确地搜索到,以提高其搜索效率。其中,客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一实施例中,如图2所示,提供一种基于搜索框架的数据处理方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:s201:执行与基于elasticsearch搜索框架创建的配置主题宽表相对应的数据监听任务,对与配置主题宽表相对应的源数据库进行监听,获取当前更新数据,当前更新数据包括更新字段和更新字段对应的字段数据。其中,elasticsearch是一个智能搜索,具体为分布式的搜索引擎,具体数据高可用、集群高可用、接口简单和支持语言较多等优点。本示例所提供的数据处理系统为基于elasticsearch搜索框架创建的数据处理系统,具有elasticsearch搜索框架固有的优点,其数据搜索效率较高。配置主题宽表是预先配置的与系统标识和主题标识相对应的宽表,用于存储系统标识对应的源数据库中提取出的、与主题标识相对应的主题相对应的数据。该配置主题宽表包含配置字段和配置字段对应的字段数据。配置字段对应的字段数据为存储在源数据库中与配置字段相对应的数据。其中,数据监听任务是用于监听配置主题宽表中每一配置字段对应的字段数据是否有更新的任务。作为一示例,服务器可调用elasticsearch搜索框架中的object.defineproperty,创建配置主题宽表中每一配置字段对应的数据监听任务,用于监听每一配置字段对应的字段数据是否存在更新。其中,当前更新数据是指数据监听任务当前监听到的存在更新的数据。更新字段为当前更新数据中的字段名称,更新字段对应的字段数据是指与更新字段相对应的数据。作为一示例,服务器预先基于elasticsearch搜索框架创建的配置主题宽表,并生成与配置主题宽表相对应的数据监听任务,该配置主题宽表与系统标识和主题标识相关联,通过执行该数据监听任务,实时监听系统标识对应的源数据库,以确定系统当前时间存在更新的当前更新数据,从当前更新数据中确定更新字段和更新字段对应的字段数据。s202:根据更新字段查询配置主题宽表,确定更新字段对应的字段属性。本示例中,系统预先生成的配置主题宽表不仅包括配置字段和配置字段对应的字段数据,还包括配置字段对应的字段属性,字段属性用于反映配置字段对应的字段数据的属性,包括实时属性和延时属性。其中,实时属性是指配置字段对应的字段数据需要实时更新。延时属性是指配置字段对应的字段数据不需要实时更新,可以延时处理。作为一示例,服务器可根据当前更新数据中的更新字段查询配置主题宽表,将与更新字段相同的配置字段的字段属性,确定为更新字段对应的字段属性,以便基于更新字段对应的字段属性确定是否需要将当前更新数据实时更新到配置主题宽表中,以达到兼顾数据更新的时效性和数据处理的资源利用率。s203:若更新字段对应的字段属性为实时属性,则将当前更新数据传输到实时更新组件,利用实时更新组件将当前更新数据实时更新到配置主题宽表中,获取更新后的目标主题宽表。其中,实时更新组件是指实时更新配置主题宽表中的数据的组件。可理解地,该实时更新组件预先配置有用于实现对配置主题宽表中的数据进行实时更新的处理程序。作为一示例,在数据监听任务监听到的当前更新数据中更新字段对应的字段属性为实时属性时,说明该当前更新数据需要实时更新到配置主题宽表中,此时,服务器需将当前更新数据传输到实时更新组件,利用实时更新组件将当前更新数据实时更新到配置主题宽表中,具体可以理解为将更新字段对应的字段数据实时替换配置字段对应的字段数据,获取更新后的目标主题宽表,有助于保障目标主题宽表中数据更新的时效性,以保障数据处理系统的正常运行。该目标主题宽表可以理解为对配置字段对应的字段数据进行更新后的配置主题宽表。例如,在基于搜索框架的数据处理系统为涉及金融交易的数据处理系统时,若当前更新数据为涉及金钱交易的具体数据,如当前交易金额为xx,帐户余额为yy时,在确定当前交易金额和帐户余额等更新字段对应的字段属性为实时属性时,则需要将当前交易金额为xx和帐户余额为yy,实时更新到配置主题宽表中,替换配置主题宽表中的配置字段对应的字段数据,以获取更新后的目标主题宽表,从而保障目标主题宽表中数据更新的时效性。在一实施例中,步骤s203,即将当前更新数据传输到实时更新组件,利用实时更新组件将当前更新数据实时更新到配置主题宽表中,获取更新后的目标主题宽表,包括:s2031:将当前更新数据传输到rocketmq组件进行解耦,获取解耦更新数据,将解耦更新数据传输给flink组件。s2032:在flink组件中执行与更新字段对应的数据转换程序,对解耦更新数据进行数据转换,获取标准更新数据,将标准更新数据实时更新到配置主题宽表中,获取更新后的目标主题宽表。本示例中,实时更新组件包括rocketmq组件和flink组件。其中,rocketmq为消息队列中的一种,作为高并发系统的核心组件之一,可以帮助系统构架提升开发效率和系统稳定性。本示例中,在数据处理系统中采用rocketmq组件,相比于其他消息队列,其具有可支持事务型消息、支持结合多个系统之间数据一致性、支持更多级别的延迟消息、支持指定次数和时间间隔的失败消息重发、支持客户端过滤,减少不必要的网络传输以及支持重复消费等特性。其中,flink组件是针对流数据和批数据的分布式处理引擎,flink组件将所有任务当成流数据处理,可支持本地的快速迭代,有助于提高数据的处理效率。其中,该解耦更新数据为对当前更新数据进行解耦后形成的数据。其中,与更新字段对应的数据转换程序是指预先配置的用于对更新字段对应的字段数据进行数据转换的程序。本示例中,数据转换程序包括但不限于格式转换程序和逻辑运算程序。该格式转换程序是预先配置的用于对更新字段对应的字段数据进行格式转换的程序,有助于保障目标主题宽表中数据格式的标准化,例如,对涉及日期的更新字段对应的字段数据需要进行格式转换,需转换成xxxx-xx-xx这种标准格式。逻辑运算程序是预先配置的用于对更新字段对应的字段数据进行运算的程序,例如,对涉及金钱交易的更新字段对应的字段数据需要进行运算,如余额计算等。其中,标准更新数据是指对解耦更新数据进行数据转换后形成的数据。作为一示例,步骤s2031中,服务器在确定更新字段对应的字段属性为实时属性时,需将当前更新数据传输到rocketmq组件,利用rocketmq组件对当前更新数据进行解耦,以获取解耦更新数据,避免数据处理的多个环节耦合而影响数据更新处理的时效性,有助于保障字段属性为实时属性的当前更新数据进行更新的时效性。接着,服务器还将解耦更新数据传输给flink组件,以使flink组件将所接收到解耦更新数据作为流数据进行分布式处理,有助于提高其处理效率。作为一示例,步骤s2032中,在将解耦更新数据传输给flink组件之后,可在flink组件中执行与更新字段相对应的数据转换程序,利用数据转换程序对更新字段对应的字段数据进行数据转换,获取标准更新数据,再将标准更新数据更新到配置主题宽表中,获取更新后的目标主题宽表。本示例中,利用flink组件对更新字段对应的字段数据进行数据转换,有助于保障当前更新数据实时更新过程的处理效率。s204:若更新字段对应的字段属性为延时属性,则将当前更新数据缓存到hive数据仓库,利用hive数据仓库将当前更新数据延时更新到配置主题宽表中,获取更新后的目标主题宽表。其中,hive数据仓库是用于缓存数据的数据仓库。其中,hive数据仓库是基于hadoop的一个数据仓库工具,用来进行数据提取、转化和加载,是一种可以存储、查询和分析存储在hadoop中的大规模数据的机制。hive数据仓库能将结构化的数据文件映射为一张数据库表,并提供sql查询功能,能将sql语句转变成mapreduce任务来执行。延时更新条件是系统预先配置的用于对延时属性对应的当前更新数据进行延时更新的条件。作为一示例,在数据监听任务监听到的当前更新数据中更新字段对应的字段属性为延时属性时,说明该当前更新数据不需要实时更新到配置主题宽表中,即当前更新数据不实时更新到配置主题宽表中也不会影响数据处理系统的正常运行,此时,服务器先将当前更新数据缓存到hive数据仓库,利用hive数据仓库将当前更新数据延时更新到配置主题宽表中,即先将当前更新数据缓存到hive数据仓库,在满足更新条件时,再将当前更新数据从hive数据仓库更新到配置主题宽表中。例如,先将当前更新数据缓存到hive数据仓库,在满足更新条件时,将更新字段对应的字段数据延时更新到配置主题宽表中,具体可以理解为将更新字段对应的字段数据延时替换配置字段对应的字段数据,以获取更新后的目标主题宽表,使得数据更新过程可兼顾系统资源利用率,避免在系统资源运行繁忙时段将时效性要求较低的当前更新数据更新到配置主题宽表,导致系统当前时间的系统资源繁忙,出现系统运行卡顿现象。例如,在基于搜索框架的数据处理系统为涉及金融交易的数据处理系统时,若当前更新数据为涉及客户个人信息更新,如当前居住地址变更为zz时,在确定当前居住地址应的字段属性为延时属性时,则将当前居住地址为zz这一当前更新数据先缓存到hive数据仓库,在系统资源较空闲时再更新到配置主题宽表中,替换配置主题宽表中的配置字段对应的字段数据,以获取更新后的目标主题宽表,从而保障目标主题宽表中数据更新的资源利用率,避免实时更新过程中出现卡顿现象。在一实施例中,步骤s204,即将当前更新数据缓存到hive数据仓库,利用hive数据仓库将当前更新数据延时更新到配置主题宽表中,获取更新后的目标主题宽表,包括:s2041:将当前更新数据缓存到hive数据仓库,对hive数据仓库进行监控,判断是否满足延时更新条件。s2042:若满足延时更新条件,则获取基于elasticsearch搜索框架创建的配置主题宽表相对应的当前映射宽表和历史映射宽表。s2043:利用当前映射宽表和历史映射宽表,对当前更新数据进行更新,获取更新后的目标主题宽表。作为一示例,服务器将当前更新数据缓存到hive数据仓库,具体可依据特定的分区规则,将当前更新数据分区存储器到不同hive分区表中,基于不同hive分区表,利用hive分区表进行分区管理。本示例中,可基于不同主题进行分区,以形成与不同主题相对应的hive分区表,并基于hive分区表对应的表名进行映射,形成映射分区表,以便利用映射分区表对不同主题对应的当前更新数据进行管理,有助于提高后续流程的处理效率。作为一示例,延时更新条件可以设置为定时更新时间,即服务器在将当前更新数据缓存到hive数据仓库,对hive数据仓库进行监控,在监控到系统当前时间达到定时更新时间时,认定满足延时更新条件。作为另一示例,延时更新条件也可以设置为增量阈值,即服务器在将当前更新数据缓存到hive数据仓库,对hive数据仓库进行监控,具体监控hive数据仓库中新增存储的当前更新数据的数据增量,在数据增量达到系统预先设置的增量阈值时,认定满足延时更新条件。其中,当前映射宽表和历史映射宽表为基于特定时间标签划分的映射宽表。当前映射宽表为特定时间标签之后的映射宽表,用于存储特定时间标签之后的更新数据。而历史映射宽表为特定时间标签之前的映射宽表,用于特定时间标签之前的更新数据。此处的映射宽表是与配置主题宽表相对应的宽表,即映射宽表中的字段与配置主题宽表中的字段相同。例如,当前映射宽表和历史映射宽表可以基于每天1:00这一特定时间标签进行划分,使当前映射宽表存储每天1:00之后的当前更新数据,而历史映射宽表存储每天1:00之前的历史更新数据,该历史更新数据为特定时间标签之前的更新数据。作为一示例,服务器在hive数据仓库满足延时更新条件时,获取基于elasticsearch搜索框架创建的与配置主题宽表相对应的当前映射宽表和历史映射宽表,该当前映射宽表和历史映射宽表的字段均与配置主题宽表的字段相同,用于存储不同时间获取到的更新数据。本示例中,当前映射宽表可以理解为用于存储在特定时间标签至满足延时更新条件的系统当前时间之间获取的当前更新数据的映射宽表,而历史映射宽表可以理解为用于存储在特定时间标签之前已经更新完成的历史更新数据的映射宽表。作为一示例,服务器利用获取到的当前映射宽表和历史映射宽表进行数据更新处理,具体可先将hive数据仓库中存储的当前更新数据缓存在当前映射宽表中,基于历史映射宽表中记录的历史更新数据对当前映射宽表中的每一条当前更新数据进行更新处理,在当前映射宽表中的每一条当前更新数据均更新成功时,即将当前映射宽表中所有当前更新数据均更新到配置主题宽表时,获取更新后的目标主题宽表。本示例中,服务器利用elasticsearch搜索框架创建的与配置主题宽表相对应的当前映射宽表和历史映射宽表,对hive数据仓库中存储的当前更新数据进行数据更新,有助于提高系统数据和服务的高可用性,即利用elasticsearch搜索框架自带的分区设计和表名映射方式,与hive数据仓库中采用分区设计和表名映射方式对当前更新数据进行缓存的方式相匹配,可以实现elasticsearch搜索框架下的配置主题宽表与hive数据仓库的无缝切换,从而提高系统数据和服务的高可用性,进而提高当前更新数据存储和更新的效率。在一实施例中,服务器获取基于elasticsearch搜索框架创建的配置主题宽表对应的当前映射宽表和历史映射宽表,可理解为获取预先基于elasticsearch搜索框架创建的配置主题宽表,基于配置主题宽表进行表名映射,创建当前映射宽表和历史映射宽表,将当前映射宽表和历史映射宽表对应的特定时间标签存储在预先设置的时间分区表中,以便根据时间分区表中记录的特定时间标签进行切换。例如,服务器在对当前映射宽表中的每一条当前更新数据进行更新处理,若当前映射宽表中所有当前更新数据均更新成功时,会形成更新成功标识,将更新成功标识与当前映射宽表关联,即将当前映射宽表的当前状态确定为更新成功状态。服务器实时监控当前映射宽表的当前状态,若当前状态为更新成功状态,则切换时间分区表中的特定时间标签,以切换当前映射宽表和历史映射宽表,即将携带更新成功标识的当前映射宽表更新为新的历史映射宽表,并使新的当前映射宽表中记录的当前更新数据为空,以便下一次利用新的当前映射宽表和历史映射宽表进行数据更新处理,通过对时间分区表中的特定时间标签进行切换,以实现对在特定时间标签至满足延时更新条件的系统当前时间之间缓存到hive数据仓库的全量当前更新数据进行更新,有助于提高当前更新数据进行延时更新的效率。本实施例所提供的基于搜索框架的数据处理方法中,预先基于elasticsearch搜索框架创建的配置主题宽表,可通过配置主题宽表进行数据快速高效搜索,提高数据搜索效率。执行与基于elasticsearch搜索框架创建的配置主题宽表相对应的数据监听任务,对源数据库进行监听,以确定需要更新到配置主题宽表中的当前更新数据,有助于保障配置主题宽表中数据的时效性。在根据更新字段和配置主题宽表确定更新字段的字段属性为实时属性时,将当前更新数据实时更新到配置主题宽表中,获取目标主题宽表,从而保障目标主题宽表中数据更新的时效性。在根据更新字段和配置主题宽表确定更新字段的字段属性为延时属性时,将当前更新数据延时更新到配置主题宽表中,获取目标主题宽表,从而保障目标主题宽表中数据更新过程可兼顾系统资源利用率,避免因实时更新而导致卡顿现象。在一实施例中,如图3所示,在步骤s201之前,即在执行与基于elasticsearch搜索框架创建的配置主题宽表相对应的数据监听任务之前,基于搜索框架的数据处理方法还包括:s301:获取基于elasticsearch搜索框架构建的接口配置请求,接口配置请求包括系统标识、主题标识、接口标识、搜索字段和详情字段。其中,接口配置请求是指需要在数据处理系统的某一前端页面上配置访问接口的请求。系统标识是接口配置请求所针对的系统的唯一标识。主题标识是用于唯一识别所配置的数据对应的主题,例如,客户信息、业务信息或者其他主题。搜索字段是指用于限定所配置接口中用于反映搜索词的字段。详情字段是指用于限定所配置接口中用于反映搜索内容的字段。作为一示例,服务器可获取基于elasticsearch搜索框架构建的接口配置请求,该接口配置请求可以理解为在某一前端页面配置访问接口的请求,以便用户可通过前端页面的访问接口进行数据访问。s302:从系统标识对应的源数据库中,获取包含搜索字段和详情字段对应的至少两个源数据表。其中,源数据库是用于存储数据的数据库,该源数据库可以为但不限于关系型数据库。源数据表是用于存储数据的数据表。作为一示例,服务器在接收到接口配置请求之后,需从系统标识对应的源数据库中,确定包含接口配置请求中的搜索字段和详情字段对应的至少两个源数据表,以保障所确定的至少两个源数据表中记录接口配置请求中涉及的所有字段(即搜索字段和详情字段)的数据。一般来说,源数据库中的源数据表一般为窄表,即字段数量较少的数据表。s303:基于搜索字段和详情字段,对至少两个源数据表进行窄表转宽表处理,获取与系统标识和主题标识相对应的配置主题宽表。作为一示例,服务器可根据搜索字段和详情字段,对至少两个源数据表进行窄表转宽表处理,例如,可以采用mysql中窄表转宽表的转换语句,对至少两个源数据表进行窄表转宽表处理,获取与系统标识和主题标识相对应的配置主题宽表。本示例中,配置主题宽表是指系统标识和主题标识相对应的宽表,该配置主题宽表包含配置字段和配置字段对应的字段数据,配置字段包含搜索字段和详情字段。配置字段对应的字段数据为存储在源数据表中与配置字段相对应的数据。作为一示例,服务器基于搜索字段和详情字段,对至少两个源数据表进行窄表转宽表处理,获取与系统标识和主题标识相对应的配置主题宽表之后,还需要设置每一配置字段对应的字段属性,以便后续根据字段属性进行数据更新处理。字段属性用于反映配置字段对应的字段数据的属性,包括实时属性和延时属性。其中,实时属性是指配置字段对应的字段数据需要实时更新。延时属性是指配置字段对应的字段数据不需要实时更新,可以延时处理。s304:将配置主题宽表存储在系统数据库,构建接口标识对应的访问接口与配置主题宽表对应的接口访问通道,生成与配置主题宽表相对应的数据监听任务。作为一示例,服务器在生成配置主题宽表之后,需将配置主题宽表存储在系统数据库中,以便后续基于配置主题宽表进行数据,以便后续通过配置主题宽表进行数据快速高效搜索,提高数据搜索效率。作为一示例,服务器在还需构建接口标识对应的访问接口与配置主题宽表对应的接口访问通道,以便用户可通过前端页面设置的接口标识对应的访问接口,基于接口访问通道快速访问到配置主题宽表,可通过配置主题宽表进行数据快速高效搜索,提高数据搜索效率。作为一示例,服务器还需生成与配置主题宽表相对应的数据监听任务,数据监听任务是用于监听配置主题宽表中每一配置字段对应的字段数据是否有更新的任务。例如,服务器可调用elasticsearch搜索框架中的object.defineproperty,创建每一配置字段对应的数据监听任务,用于监听每一配置字段对应的字段数据是否存在更新,以便基于监听结果对配置主题宽表进行更新,有助于保障配置主题宽表中数据更新的时效性。本实施例中所提供的基于搜索框架的数据处理方法,可基于接口配置请求中的系统标识、搜索字段和详情字段快速确定至少两个源数据表,再对至少两个源数据表进行窄表转宽表处理,确定配置主题宽表,使得配置主题宽表映射存储有所有搜索字段和详情字段对应的字段数据,创建访问接口与配置主题宽表对应的接口访问通道,以便利用配置主题宽表实现数据快速高效搜索,提高数据搜索效率;生成与配置主题宽表相对应的数据监听任务,有助于保障配置主题宽表中数据更新的时效性。在一实施例中,如图4所示,在获取更新后的目标主题宽表之后,基于搜索框架的数据处理方法还包括:s401:接收客户端基于elasticsearch搜索框架下的访问接口触发的数据访问请求,数据访问请求包括接口标识和目标搜索语句。其中,数据访问请求是用于触发访问后台数据的请求。目标搜索语句是指用户通过客户端输入的需要搜索内容的语句。作为一示例,用户在通过客户端登录访问基于搜索框架的数据处理系统时,在客户端的显示界面可显示用于供用户输入目标搜索语句的输入框,该输入框与接口标识相关联,用户在该输入框上输入目标搜索语句并点击确认之后,即可获取携带接口标识和目标搜索语句的数据访问请求。s402:基于接口标识对应的接口访问通道,确定目标主题宽表。作为一示例,服务器可基于数据访问请求中的接口标识,可根据接口标识对应的接口访问通道,可快速确定与访问接口通过接口访问通道相连的目标主题宽表,提高目标主题宽表的确定效率,以便利用目标主题宽表进行数据查询,有助于提高数据查询效率,尤其是海量数据的查询效率。s403:采用n个分词器对目标搜索语句进行分词,获取每一分词器输出的m个搜索分词,n≧2,m≧2。作为一示例,服务器调用系统预先配置的n个分词器,分别对目标搜索语句进行分词,每一分词器可将目标搜索语句划分为m个搜索分词。例如,采用分词器t1对目标搜索语句进行分词,获取m1个搜索分词;采用分词器t2对目标搜索语句进行分词,获取m2个搜索分词……采用分词器tn对目标搜索语句进行分词,获取mn个搜索分词。s404:将每一分词器输出的m个搜索分词查询目标主题宽表,获取每一分词器对应的原始访问数据。作为一示例,服务器可基于每个分词器输出的m个搜索分词分别搜索目标主题宽表,以确定每个分词器对应的原始访问数据,该原始访问数据是指基于每个分词器形成的m个搜索分词查询目标主题宽表的结果数据。例如,分词器t1分词获取的m1个搜索分词查询目标主题宽表,以获取该对应的原始访问数据d1;分词器t2分词获取的m2个搜索分词查询目标主题宽表,以获取该对应的原始访问数据d2……分词器tn分词获取的mn个搜索分词查询目标主题宽表,以获取该对应的原始访问数据dn。s405:对n个分词器对应的原始访问数据进行综合评估,获取每一原始访问数据对应的搜索结果评分。其中,分词器是基于搜索框架的数据处理系统预先配置的用于进行分词的工具。作为一示例,服务器采用预先配置的结果评分工具,对n个分词器查询到的n个原始访问数据进行综合评估,以确定原始访问数据对应的搜索结果评分,该搜索结果评分可以理解为用于评估原始访问数据是否准确的评分值。本示例中,服务器可以采用但不限于基于tf-idf(词频/逆向文本频率)算法确定的结果评分工具,对n个原始访问数据进行综合评估,以确定每个原始访问数据对应的搜索结果评分,评分过程简单方便。s406:将搜索结果评分最高的原始访问数据确定为目标访问数据,将目标访问数据发送给客户端。作为一示例,服务器在获取n个原始访问数据的搜索结果评分之后,需对所有原始访问数据的搜索结果评分进行排序,将搜索结果评分最高的原始访问数据确定为目标访问数据,并将目标访问数据发送给客户端。可理解地,将搜索结果评分最高的原始访问数据确定为目标访问数据,以保障目标访问数据的准确性。本实施例所提供的基于搜索框架的数据处理方法,可根据数据访问请求中的接口标识快速确定目标主题宽表,利用该目标主题宽表可快速查询确定每个分词器确定的m个搜索分词对应的原始访问数据,有助于提高数据搜索效率;对n个原始访问数据进行综合评分,将搜索结果评分最高的原始访问数据确定为目标访问数据,以保障目标访问数据的准确性。在一实施例中,数据访问请求还包括用户标识;如图5所示,在步骤s403之后,即在采用n个分词器对目标搜索语句进行分词,获取每一分词器输出的m个搜索分词之后,基于搜索框架的数据处理方法还包括:s501:获取每一搜索分词对应的词属性;s502:若存在至少一个搜索分词对应的词属性为敏感属性,则根据用户标识查询系统数据库,获取用户标识对应的用户权限,判断用户权限是否为目标权限;s503:若用户权限为目标权限,则执行将每一分词器输出的m个搜索分词查询目标主题宽表,获取每一分词器对应的原始访问数据。s504:若用户权限不为目标权限,则向客户端发送无权访问提醒消息。作为一示例,步骤s501中,服务器可将每一搜索分词查询系统数据库预先配置的敏感词库中的敏感词,若搜索分词与敏感词相匹配,则将搜索分词的词属性确定为敏感属性;反之,若搜索分词与所有敏感词均不匹配,则将搜索分词的词属性确定为非敏感属性。其中,用户标识是用于唯一识别用户身份的标识,可以为用户在系统预先注册的用户帐号。用户权限是系统预先根据用户的注册信息确定其访问权限。目标权限是指系统预先配置的可以访问某些敏感数据的权限。作为一示例,服务器在至少一个搜索分词的词属性为敏感属性时,说明该用户标识对应的用户想访问系统中的敏感数据,此时,可根据数据访问请求中的用户标识查询系统数据库,以获取该用户标识对应的用户权限,再判断用户权限是否满足系统预先设置的访问敏感数据的目标权限。若用户权限为目标权限,则说明用户标识对应的用户有权访问敏感数据,因此,可执行将每一分词器输出的m个搜索分词查询目标主题宽表,获取每一分词器对应的原始访问数据。反之,若用户权限不为目标权限,则说明用户标识对应的用户无权访问敏感数据,此时,可向客户端发送无权访问提醒消息,以达到提醒用户的目的。可理解地,在采用n个分词器分别对目标搜索语句进行分词,每一分词器会形成m个搜索分词,在所有搜索分词中,只要存在至少一个搜索分词的词属性为敏感属性,则需要基于用户标识对应的用户权限进行权限匹配,有助于保障系统中敏感数据的安全性。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。在一实施例中,提供一种基于搜索框架的数据处理装置,该基于搜索框架的数据处理装置与上述实施例中基于搜索框架的数据处理方法一一对应。如图6所示,该基于搜索框架的数据处理装置包括更新数据获取模块601、字段属性确定模块602、实时更新处理模块603和延时更新处理模块604。各功能模块详细说明如下:更新数据获取模块601,用于执行与基于elasticsearch搜索框架创建的配置主题宽表相对应的数据监听任务,对与配置主题宽表相对应的源数据库进行监听,获取当前更新数据,当前更新数据包括更新字段和更新字段对应的字段数据。字段属性确定模块602,用于根据更新字段查询配置主题宽表,确定更新字段对应的字段属性。实时更新处理模块603,用于若更新字段对应的字段属性为实时属性,则将当前更新数据传输到实时更新组件,利用实时更新组件将当前更新数据实时更新到配置主题宽表中,获取更新后的目标主题宽表。延时更新处理模块604,用于若更新字段对应的字段属性为延时属性,则将当前更新数据缓存到hive数据仓库,利用hive数据仓库将当前更新数据延时更新到配置主题宽表中,获取更新后的目标主题宽表。优选地,实时更新处理模块603包括:数据解耦单元,用于将当前更新数据传输到rocketmq组件进行解耦,获取解耦更新数据,将解耦更新数据传输给flink组件。数据转换单元,用于在flink组件中执行与更新字段对应的数据转换程序,对解耦更新数据进行数据转换,获取标准更新数据,将标准更新数据实时更新到配置主题宽表中,获取更新后的目标主题宽表。优选地,延时更新处理模块604包括:数据缓存判断单元,用于将当前更新数据缓存到hive数据仓库,对hive数据仓库进行监控,判断是否满足延时更新条件。映射宽表获取单元,用于若满足延时更新条件,则获取基于elasticsearch搜索框架创建的配置主题宽表相对应的当前映射宽表和历史映射宽表。数据更新处理单元,用于利用当前映射宽表和历史映射宽表,对当前更新数据进行更新,获取更新后的目标主题宽表。优选地,基于搜索框架的数据处理装置还包括:接口配置请求获取模块,用于获取基于elasticsearch搜索框架构建的接口配置请求,接口配置请求包括系统标识、主题标识、接口标识、搜索字段和详情字段。源数据表获取模块,用于从系统标识对应的源数据库中,获取包含搜索字段和详情字段对应的至少两个源数据表。配置主题宽表获取模块,用于基于搜索字段和详情字段,对至少两个源数据表进行窄表转宽表处理,获取与系统标识和主题标识相对应的配置主题宽表。通道构建任务生成模块,用于将配置主题宽表存储在系统数据库,构建接口标识对应的访问接口与配置主题宽表对应的接口访问通道,生成与配置主题宽表相对应的数据监听任务。优选地,基于搜索框架的数据处理装置还包括:数据访问请求获取模块,用于接收客户端基于elasticsearch搜索框架下的访问接口触发的数据访问请求,数据访问请求包括接口标识和目标搜索语句。目标主题宽表确定模块,用于基于接口标识对应的接口访问通道,确定目标主题宽表。搜索分词获取模块,用于采用n个分词器对目标搜索语句进行分词,获取每一分词器输出的m个搜索分词,n≧2,m≧2。原始访问数据获取模块,用于将每一分词器输出的m个搜索分词查询目标主题宽表,获取每一分词器对应的原始访问数据。搜索结果评分获取模块,用于对n个分词器对应的原始访问数据进行综合评估,获取每一原始访问数据对应的搜索结果评分。目标访问数据获取模块,用于将搜索结果评分最高的原始访问数据确定为目标访问数据,将目标访问数据发送给客户端。优选地,数据访问请求还包括用户标识。基于搜索框架的数据处理装置还包括:词属性获取模块,用于获取每一搜索分词对应的词属性。权限判断模块,用于若存在至少一个搜索分词对应的词属性为敏感属性,则根据用户标识查询系统数据库,获取用户标识对应的用户权限,判断用户权限是否为目标权限。第一处理模块,用于若用户权限为目标权限,则执行将每一分词器输出的m个搜索分词查询目标主题宽表,获取每一分词器对应的原始访问数据。第二处理模块,用于若用户权限不为目标权限,则向客户端发送无权访问提醒消息。关于基于搜索框架的数据处理装置的具体限定可以参见上文中对于基于搜索框架的数据处理方法的限定,在此不再赘述。上述基于搜索框架的数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行基于搜索框架的数据处理方法过程中采用或生成的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于搜索框架的数据处理方法。在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中基于搜索框架的数据处理方法,例如图2所示s201-s204,或者图3至图5中所示,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现基于搜索框架的数据处理装置这一实施例中的各模块/单元的功能,例如图6所示的更新数据获取模块601、字段属性确定模块602、实时更新处理模块603和延时更新处理模块604的功能,为避免重复,这里不再赘述。在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中基于搜索框架的数据处理方法,例如图2所示s201-s204,或者图3至图5中所示,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述基于搜索框架的数据处理装置这一实施例中的各模块/单元的功能,例如图6所示的更新数据获取模块601、字段属性确定模块602、实时更新处理模块603和延时更新处理模块604的功能,为避免重复,这里不再赘述。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1