一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据查询方法、装置、电子设备和可读介质与流程

2022-07-02 07:04:18 来源:中国专利 TAG:
1.本发明实施例涉及数据处理
技术领域
:,特别是涉及一种数据查询方法、一种数据查询装置、一种电子设备以及一种计算机可读介质。
背景技术
::2.在进行离线模型或算法训练时,需要大量的离线特征数据作为样本,通常的方式是对离线特征数据进行回溯,即根据需求从离线特征库中查询并获取目标离线特征数据。3.具体地,在对离线特征数据进行回溯时,往往会同时存在大量的查询任务,每个查询任务都具有针对离线特征数据配置的特征配置数据,当前离线特征数据回溯系统在执行查询任务时,并不会对特征配置数据进行分析和区分,而是将每个特征配置数据都作为一个单独的任务进行查询,对于特征配置数据中相同的数据会进行重复查询,造成系统资源的浪费,查询效率低下。技术实现要素:4.本发明实施例是提供一种数据查询方法、装置、电子设备以及计算机可读存储介质,以解决现有技术中离线特征数据查询消耗过多资源,以及效率低下的问题。5.为了解决上述问题,本发明实施例公开了一种数据查询方法,所述方法包括:6.接收特征调用方发送的多个查询任务;7.根据所述查询任务从预设的特征配置数据中确定目标特征配置数据;所述目标特征配置数据包括目标语义配置数据和目标查询配置数据;8.根据所述目标语义配置数据计算得到目标特征语义;9.将所述目标特征语义相同的查询任务合并为合并查询任务;10.从预置的离线特征库中获取与所述合并查询任务的目标特征语义匹配离线特征数据,作为匹配离线特征数据;11.根据各个查询任务对应的所述目标查询配置数据,从所述匹配离线特征数据中确定各个所述查询任务对应的目标离线特征数据;12.将所述目标离线特征数据返回至所述查询任务对应的特征调用方。13.可选地,所述离线特征数据具有属性数据,所述属性数据具有对应的属性项,所述属性项包括数据来源、过滤条件、筛选范围、时间范围和数据指标。14.可选地,在所述接收特征调用方发送的查询任务之前,所述方法还包括:15.接收提交的配置请求;所述配置请求中包括特征配置数据;所述特征配置数据包括语义配置数据、查询配置数据和计算方式;16.根据所述语义配置数据,从所述离线特征数据的属性数据中确定目标属性数据;17.采用哈希算法基于目标属性数据计算得到特征语义;18.将所述离线特征数据基于对应的所述特征语义存储于离线特征库中。19.可选地,所述语义配置数据的属性项包括数据来源、过滤条件和筛选范围。20.可选地,所述将所述离线特征数据基于对应的所述特征语义存储于离线特征库中,包括:21.将所述特征语义相同的所述离线特征数据合并后存储于所述离线特征库中。22.可选地,所述将所述特征语义相同的所述离线特征数据合并后存储于所述离线特征库中,包括:23.将所述特征语义相同、且所述时间范围相同的所述离线特征数据合并后存储于所述离线特征库中。24.可选地,所述查询配置数据包括时间范围和数据指标。25.可选地,所述将所述目标离线特征数据返回至所述查询任务对应的特征调用方,包括:26.根据所述目标特征配置数据中的目标计算方式对所述目标离线特征数据进行计算得到聚合指标数据;27.将所述聚合指标数据返回至所述查询任务对应的特征调用方。28.可选地,所述计算方式至少包括总数计算、和值计算、平均值计算和去重计数的其中一种。29.本发明实施例还公开了一种数据查询装置,所述装置包括:30.查询任务接收模块,用于接收特征调用方发送的多个查询任务;31.目标特征配置数据确定模块,用于根据所述查询任务从预设的特征配置数据中确定目标特征配置数据;所述目标特征配置数据包括目标语义配置数据和目标查询配置数据;32.目标特征语义计算模块,用于根据所述目标语义配置数据计算得到目标特征语义;33.查询任务合并模块,用于将所述目标特征语义相同的查询任务合并为合并查询任务;34.匹配离线特征数据获取模块,用于从预置的离线特征库中获取与所述合并查询任务的目标特征语义匹配离线特征数据,作为匹配离线特征数据;35.目标离线特征数据确定模块,用于根据各个查询任务对应的所述目标查询配置数据,从所述匹配离线特征数据中确定各个所述查询任务对应的目标离线特征数据;36.目标离线特征数据返回模块,用于将所述目标离线特征数据返回至所述查询任务对应的特征调用方。37.可选地,所述离线特征数据具有属性数据,所述属性数据具有对应的属性项,所述属性项包括数据来源、过滤条件、筛选范围、时间范围和数据指标。38.可选地,所述装置还包括:配置请求接收模块,用于接收提交的配置请求;所述配置请求中包括特征配置数据;所述特征配置数据包括语义配置数据、查询配置数据和计算方式;目标属性数据确定模块,用于根据所述语义配置数据,从所述离线特征数据的属性数据中确定目标属性数据;特征语义计算模块,用于采用哈希算法基于目标属性数据计算得到特征语义;离线特征数据存储模块,用于将所述离线特征数据基于对应的所述特征语义存储于离线特征库中。39.可选地,所述语义配置数据的属性项包括数据来源、过滤条件和筛选范围。40.可选地,离线特征数据存储模块,还用于将所述特征语义相同的所述离线特征数据合并后存储于所述离线特征库中。41.可选地,离线特征数据存储模块,还用于将所述特征语义相同、且所述时间范围相同的所述离线特征数据合并后存储于所述离线特征库中。42.可选地,所述查询配置数据包括时间范围和数据指标。43.可选地,所述目标离线特征数据返回模块,还用于根据所述目标计算方式对所述目标离线特征数据进行计算得到聚合指标数据;将所述聚合指标数据返回至所述查询任务对应的特征调用方。44.可选地,所述计算方式至少包括总数计算、和值计算、平均值计算和去重计数的其中一种。45.本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;46.所述存储器,用于存放计算机程序;47.所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。48.本发明实施例还公开了一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。49.本发明实施例还公开了一种计算机程序产品,该程序产品被存储在存储介质中,该计算机程序产品被至少一个处理器执行以实现如本发明实施例所述的方法。50.本发明实施例包括以下优点:51.在本发明实施例中,通过接收特征调用方发送的多个查询任务,根据查询任务从预设的特征配置数据中确定目标特征配置数据,其中,目标特征配置数据包括目标语义配置数据和目标查询配置数据,根据目标语义配置数据计算得到目标特征语义,并将目标特征语义相同的查询任务合并为合并查询任务,然后,从预置的离线特征库中获取与合并查询任务的目标特征语义匹配离线特征数据作为匹配离线特征数据,再根据各个查询任务对应的目标查询配置数据,从匹配离线特征数据中确定各个查询任务对应的目标离线特征数据,并返回至各个查询任务对应的特征调用方。本发明实施例在接收到特征调用方的多个查询任务后,计算查询任务的目标特征语义,进而将具有相同目标特征语义的查询任务合并为一个合并查询任务,以在离线特征库中进行离线特征数据的查询,避免了离线特征数据回溯时的重复查询,节省了系统资源,提高了查询效率。附图说明52.图1是本发明的一种数据查询方法实施例的步骤流程图;53.图2是本发明的一种数据查询方法实施例的离线特征数据存储步骤流程图;54.图3是本发明的一种特征配置页面的示意图;55.图4是现有技术中的一种特征配置计算示意图;56.图5是本发明的一种数据查询方法实施例的特征配置计算示意图;57.图6是本发明的一种数据查询方法实施例的离线特征数据存储示意图;58.图7是本发明的一种数据查询方法实施例的流程示意图;59.图8是本发明的一种数据查询装置实施例的结构框图。具体实施方式60.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。61.目前,在进行离线模型或算法训练时,需要大量的离线特征数据作为样本,通常的方式是对离线特征数据进行回溯,而在对离线特征数据进行回溯时,对离线特征数据通常会有维度选择多、特征回溯时间较久的需求特点。62.在使用现有的特征库进行离线模型训练时存在以下问题:63.1、当新增了一个离线特征数据,虽然新增时间点之后的所有离线特征数据都可以自动保存,但新增时间点之前的数据通常都需要人工运行查询任务来回溯,不够自动化。64.2、一般离线特征数据回溯的时长都比较久,需要回溯的离线特征数据也非常多,目前通常使用redis(remotedictionaryserver,远程字典服务)存储的方案,虽然查询耗时可以降低到毫秒级别,但占用存储空间大、存储介质昂贵,会对大大提高存储成本。65.3、由于离线特征数据存在时间窗口的原因,每条离线特征数据都可能存在于不同的时间窗口中,也就是每条离线特征数据都可能具有不同的起始时间和结束时间,因此在对离线特征数据进行存储和查询时,需要计算每条离线特征数据的时间窗口,这种庞杂的计算会消耗大量离线计算资源,在离线计算框架中实现成本大。66.4、当有多个查询任务同时进行查询时,需要对每个查询任务对应的特征配置都创建一个查询任务执行查询步骤,其中,当存在多个特征配置中特征配置数据相同的情况下,会造成系统资源浪费,查询效率低下。67.对此,本发明实施例的核心发明点之一在于,根据特征语义对离线特征数据进行存储和查询,在接收到特征调用方的多个查询任务后,可以计算查询任务的目标特征配置数据对应的目标特征语义,进而将具有相同目标特征语义的查询任务合并为一个合并查询任务后,在离线特征库中进行离线特征数据的查询,从而避免了离线特征数据回溯时的冗余查询,节省了系统资源,提高了查询效率。68.参照图1,示出了本发明的一种数据查询方法实施例的步骤流程图,具体可以包括如下步骤:69.步骤102、接收特征调用方发送的多个查询任务。70.在具体实现中,本发明实施例可以应用于数据查询平台,该数据查询平台可以同时接收特征调用方发送的多个查询任务,并同时处理这些查询任务。具体地,查询任务可以是针对离线特征数据的查询请求,查询请求中可以携带有目标特征配置标识,目标特征配置标识可以是数字、字母、符号或其他自定义标识,如“10001”、“abcd”或“目标特征配置标识1001”等。其中,离线特征数据可以包括平台、app(application,应用程序)和网页等的运营数据,以及用户的历史行为数据等。71.具体地,离线特征数据具有属性数据,属性数据具有对应的属性项,属性项包括数据来源、过滤条件、筛选范围、时间范围和数据指标。72.其中,数据来源用于区分离线特征数据的来源,如平台数据源、app数据源或网页数据源等,过滤条件为用于限定离线特征数据的自定义条件,如场景、性别或等级等,筛选范围用于以类型区分离线特征数据,如用户、ip地址或地域等,时间范围用于以时间段区分离线特征数据,如最近一小时、下午1时至下午2时等,数据指标用于区分离线特征数据的行为或操作,如发帖、评论或点赞等。73.举例而言,离线特征数据a对应的属性数据为用户a最近一小时在app的123场景的发帖次数,离线特征数据b对应的属性数据为用户b最近一小时在app的123场景的发帖次数,离线特征数据c对应的属性数据为用户c最近一小时在app的123场景的评论次数,如果将离线特征数据a对应的属性数据按照属性项进行划分则为:用户a(筛选范围)最近一小时(时间范围)在app(数据源)的123场景(过滤条件)的发帖次数(数据指标);离线特征数据b和c同理。74.步骤104、根据所述查询任务从预设的特征配置数据中确定目标特征配置数据;所述目标特征配置数据包括目标语义配置数据和目标查询配置数据。75.其中,目标特征配置数据包括目标语义配置数据和目标查询配置数据,具体地,目标语义配置数据为用于计算特征语义的配置数据,目标查询配置数据可以为目标特征配置数据中除了目标语义配置数据外的配置数据,可以用于查询目标离线特征数据。具体地,目标语义配置数据可以针对离线特征数据的数据来源、过滤条件、筛选范围进行配置,目标查询配置数据可以针对离线特征数据的时间范围和数据指标进行配置。当多个目标特征配置数据的目标语义配置数据相同时,可以通过目标查询配置数据确定目标离线特征数据。76.举例而言,假设有目标特征配置数据a100和目标特征配置数据a200,a100的目标语义配置数据的为app数据源、123场景和用户,目标查询配置数据为最近一小时和发帖次数;a200的目标语义配置数据的为app数据源、123场景和用户,目标查询配置数据为最近一天和评论次数;则在a100和a200的目标语义配置数据相同的情况下,通过目标查询配置数据可以查询到不同的目标离线特征数据。77.在具体实现中,特征调用方发送的查询任务可以包括目标特征配置标识,在查询任务中,还可以设置需要查询的时间范围;其中,特征配置标识用于唯一标识一个特征配置,根据特征配置标识可以从预设的特征配置数据中确定目标特征配置数据。其中,特征配置为预先设置的用于查询离线特征数据的配置项,具体为针对离线特征数据的属性数据进行配置。78.步骤106、根据所述目标语义配置数据计算得到目标特征语义。79.进一步地,可以基于目标语义配置数据计算目标特征语义。其中,目标特征语义可以是数字、字母、符号或其他自定义标识。目标语义配置数据与目标特征语义为对应关系,相同的目标语义配置数据计算得到的目标特征语义也相同,相反,不同的目标语义配置数据计算得到的目标特征语义是不同的。80.步骤108、将所述目标特征语义相同的查询任务合并为合并查询任务。81.在具体实现中,当存在目标特征语义相同的多个查询任务时,说明该多个查询任务的目标语义配置数据为相同的,对于相同的目标语义配置数据,只需要进行一次查询运算,因此,可以将该多个查询任务合并为合并查询任务。82.步骤110、从预置的离线特征库中获取与所述合并查询任务的目标特征语义匹配离线特征数据,作为匹配离线特征数据。83.在具体实现中,离线特征数据可以根据特征语义存储于离线特征库中,具体可以是以key-value(即键值对)的形式,以特征语义作为key,离线特征数据作为value,将特征语义和离线特征数据对应存储于离线特征库中。一种可能的情况是,不同的离线特征数据具有相同的特征语义,因此,同一特征语义可能对应着多个不同的离线特征数据。84.在具体实现中,在得到目标特征语义后,可以将目标特征语义与离线特征库中的所有离线特征数据的特征语义逐一进行比对,进而获取特征语义与目标特征语义匹配的匹配离线特征数据。85.步骤112、根据各个查询任务对应的所述目标查询配置数据,从所述匹配离线特征数据中确定各个所述查询任务对应的目标离线特征数据。86.在合并查询任务以相同的目标语义配置数据获取到匹配离线特征数据后,由于在离线特征库中,不同的离线特征数据可能具有相同的特征语义,因此,匹配离线特征数据可能包括了多个离线特征数据,可以进一步地,以合并查询任务中各个查询任务对应的目标查询配置数据从匹配离线特征数据中确定出对应的目标离线特征数据。其中,目标离线特征数据为符合查询任务的目标特征配置数据的离线特征数据。87.步骤114、将所述目标离线特征数据返回至所述查询任务对应的特征调用方。88.在具体实现中,在确定了各个查询任务的目标离线特征数据后,会将该目标离线特征数据返回至各个查询任务对应的特征调用方。89.在上述数据查询方法中,通过接收特征调用方发送的多个查询任务,根据查询任务从预设的特征配置数据中确定目标特征配置数据,其中,目标特征配置数据包括目标语义配置数据和目标查询配置数据,根据目标语义配置数据计算得到目标特征语义,并将目标特征语义相同的查询任务合并为合并查询任务,然后,从预置的离线特征库中获取与合并查询任务的目标特征语义匹配离线特征数据作为匹配离线特征数据,再根据各个查询任务对应的目标查询配置数据,从匹配离线特征数据中确定各个查询任务对应的目标离线特征数据,并返回至各个查询任务对应的特征调用方。本发明实施例在接收到特征调用方的多个查询任务后,计算查询任务的目标特征语义,进而将具有相同目标特征语义的查询任务合并为一个合并查询任务,以在离线特征库中进行离线特征数据的查询,避免了离线特征数据回溯时的重复查询,节省了系统资源,提高了查询效率。90.在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。91.在一示例性实施例中,参照图2,在所述步骤102、所述接收特征调用方发送的查询任务之前,所述方法还包括:92.步骤202、接收提交的配置请求;所述配置请求中包括特征配置数据;所述特征配置数据包括语义配置数据、查询配置数据和计算方式;93.在具体实现中,本发明实施例可以应用于数据查询平台,该数据查询平台提供了特征配置页面,如图3所示,该特征配置页面提供了针对上述属性项的配置项,用户可以在各配置项中设置对应的特征配置数据,以及预设用于计算聚合指标值的计算方式。94.其中,特征配置数据包括语义配置数据和查询配置数据。在具体实现中,语义配置数据的属性项包括数据来源、过滤条件和筛选范围;查询配置数据包括时间范围和数据指标。在一示例中,用户可以先配置语义配置数据,例如,将数据来源配置为app数据源,将过滤条件配置为123场景、将筛选范围配置为用户;然后配置查询配置数据,例如,将时间范围设置为最近一小时,将数据指标配置为发帖次数。即可以得到对应的特征配置数据:app数据源中123场景的最近一小时内的用户的发帖次数。还可以配置计算方式,其中,计算方式用于计算目标离线特征数据,从而得到聚合指标值,配置完成并提交后,就可以得到一个特征配置。95.步骤204、根据所述语义配置数据,从所述离线特征数据的属性数据中确定目标属性数据;96.步骤206、采用哈希算法基于目标属性数据计算得到特征语义;97.步骤208、将所述离线特征数据基于对应的所述特征语义存储于离线特征库中。98.进一步地,将符合该特征配置和特征配置数据的离线特征数据的属性数据确定为目标属性数据,即app数据源、123场景和用户;进而可以基于目标属性数据计算特征语义,具体可以是采用哈希算法进行计算,即将目标属性数据通过哈希算法计算出一个唯一的哈希值,此哈希值则为该目标属性数据对应的特征语义,然后可以将符合该目标属性数据的离线特征数据根据该特征语义存储于离线特征库中。99.在具体实现中,可以根据实际需求预先设置多个特征配置,特征配置可以存储在特征配置库中,特征配置库可以为关系型数据库。当特征配置库中的特征配置的语义配置数据发生修改时,可以针对修改后的语义配置数据,重新计算语义特征,并重新将离线特征数据根据新特征语义存储于离线特征库中。举例而言,用户对上例中的特征配置数据进行修改,具体修改语义配置数据中的过滤条件,如将过滤条件配置为456场景,则修改后的特征配置数据为:app数据源中456场景的最近一小时内的用户的发帖次数,由于此特征配置的语义配置数据发生了改变,因此需要重新计算此特征配置的特征语义,并重新将符合新特征配置的离线特征数据根据新特征语义存储于离线特征库中。100.在一示例中,当同时存在多个查询任务时,需要对查询任务中携带的特征配置进行计算,以确定查询任务对应的目标离线特征数据。101.参照图4,示出了一种特征配置计算示意图,如图中所示,特征1、特征2、特征3、特征4,直到特征n为针对离线特征数据的查询任务,都具有目标特征配置数据,对于每个目标特征配置数据,都需要经过离线特征调度系统启动一个查询任务进行计算,分别对应任务1、任务2、任务3、任务4,直到任务n,当存在相似或相同的特征配置数据时,将会造成系统资源的浪费。102.参照图5,示出了本发明的一种数据查询方法实施例的特征配置计算示意图,如图中所示,特征1、特征2、特征3、特征4和特征5为针对离线特征数据的查询任务,分别具有目标特征配置数据,在进行特征配置计算时,首先通过hash(哈希算法)根据筛选范围(dim)、过滤条件(filter)和数据来源(source)这三个目标属性数据计算特征语义,特征1、特征2、特征3、特征4和特征5的特征语义分别为语义1、语义2、语义1、语义3、语义2,进而可以将特征语义相同的特征配置合并为一个查询任务,即特征1和3合并为sql_1任务,特征2和5合并为sql_2任务,特征4为sql_3任务,可以看到,通过将特征语义相同的查询任务进行合并,可以减小对系统资源的占用,提高查询的效率。103.在上述示例性实施例中,通过计算离线特征数据和特征配置的特征语义,可以将离线特征语义根据特征语义存储于离线特征库中,在特征配置中预设语义特征配置,无需手动选取目标属性数据,简化了特征语义的计算步骤,在接收到特征调用方的多个查询任务后,可以计算查询任务对应的目标特征配置数据的目标特征语义,进而将具有相同目标特征语义的查询任务合并为合并查询任务进行离线特征数据的查询;避免了离线特征数据回溯时的冗余查询计算,节省了系统资源,提高了查询效率。104.在一示例性实施例中,所述步骤208、将所述离线特征数据基于对应的所述特征语义存储于离线特征库中,包括:105.将所述特征语义相同的所述离线特征数据合并后存储于所述离线特征库中。106.在具体实现中,如果多个离线特征数据具有相同的特征语义,则可以把这些离线特征数据进行合并,并把合并后的离线特征数据按照该相同的特征语义进行存储。107.在一示例中,假设有离线特征数据d和e,离线特征数据d对应的属性数据为用户d最近一小时在app的123场景的发帖次数,离线特征数据e对应的属性数据为用户e最近一天在app的123场景的评论次数;若以数据来源、过滤条件和筛选范围计算特征语义,则离线特征数据d和e的特征语义是相同的,假设特征语义为“tzyy1”,因此,可以将离线特征数据d和e进行合并存储,具体可以是将离线特征数据d和e的数据指标进行合并,并在数据指标后加上时间范围进行区分,即“发帖次数(最近一小时) 评论次数(最近一天)”;则最终离线特征d和e将以“tzyy1”‑“发帖次数(最近一小时) 评论次数(最近一天)”的形式存储于离线特征库中。当然此处离线特征合并和存储的方式和形式仅作为示例,本发明实施例对此不做限制。108.在上述示例性实施例中,通过将相同特征语义的离线特征数据进行合并处理后存储于离线特征库中,实现了对离线特征数据的压缩,减少了离线特征数据对存储空间的占用率,降低了存储成本。109.在一示例性实施例中,所述将所述特征语义相同的所述离线特征数据合并后存储于所述离线特征库中,包括:110.将所述特征语义相同、且所述时间范围相同的所述离线特征数据合并后存储于所述离线特征库中。111.在具体实现中,如果多个离线特征数据具有相同的特征语义,且时间范围也相同,则可以把这些离线特征数据进行合并,并把合并后的离线特征数据按照该相同的特征语义进行存储。112.在一示例中,假设有离线特征数据f和g,离线特征数据f对应的属性数据为用户f最近两小时小时在app的123场景的发帖次数,离线特征数据g对应的属性数据为用户g最近两小时在app的123场景的评论次数;若以数据来源、过滤条件和筛选范围计算特征语义,则离线特征数据f和g的特征语义是相同的,假设特征语义为“tzyy2”,因此,可以将离线特征数据f和g进行合并存储,具体可以是将离线特征数据f和g的数据指标进行合并,即“发帖次数 评论次数”;则最终离线特征f和g将以“tzyy2”‑“发帖次数 评论次数”的形式存储于离线特征库中。当然此处离线特征合并和存储的方式和形式仅作为示例,本发明实施例对此不做限制。113.参照图6,示出了本发明的一种数据查询方法实施例的离线特征数据存储示意图。如图中所示,fid、dim、filter、source、timestamp分别为离线特征数据对应的属性数据,indicator对应的数据,如cf1:c1:v1等为离线特征数据的数据指标。左图为根据离线特征数据的属性数据进行区分和存储,只要属性数据不同,则单独存储数据指标。而右图为根据特征语义进行区分和存储,将dim、filter、source、timestamp作为计算特征语义的目标属性数据,将特征语义相同的离线特征数据进行合并存储,具体可以是将离线特征数据的数据指标进行合并存储。114.在具体实现中,离线特征数据通常是数量庞大的,而且需要经常进行查询,因此,需要一种可以存储大量数据,且qps(querypersecond,每秒查询率)较高的存储介质。作为一种示例,可以使用hbase作为离线特征数据的存储介质,hbase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,该技术来源于faychang所撰写的google论文“bigtable:一个结构化数据的分布式存储系统”,是apache的hadoop项目的子项目,适合存储非结构化数据。具体地,hbase具有以下优点:hbase数据会按照特征语义的字典顺序进行排序存放,物理位置上放在一起。利用这一点可以实现按照时间顺序和时间范围进行高效的批量查询。hbase的数据是存储在hdfs(hadoopdistributedfilesystem,分布式文件系统)上的,支持海量数据存储,hbase凭借lsm(log-structured-merge-tree)树、数据多分片存放、多服务提供查询等特点,可以达到较高的查询qps。可以使用bulkload(hbase中的数据导入功能)功能,每日从数据仓库中将大量的特征数据高效的批量导入hbase。115.在上述示例性实施例中,可以将特征语义相同以及时间范围相同的离线特征数据合并后存储于离线特征库中,实现了对离线特征数据的进一步压缩存储,减少了离线特征数据对存储空间的占用率,降低了存储成本;此外,使用hbase作为存储介质,提高了离线特征数据的存储可靠性,提高了存储和查询的效率。116.在一示例性实施例中,所述步骤114、所述将所述目标离线特征数据返回至所述查询任务对应的特征调用方,包括:117.根据所述目标特征配置数据中的目标计算方式对所述目标离线特征数据进行计算得到聚合指标数据;118.将所述聚合指标数据返回至所述查询任务对应的特征调用方。119.在具体实现中,在确定了查询任务的目标离线特征数据后,还可以对目标离线特征数据进行计算,其中,计算方式至少包括总数计算、和值计算、平均值计算和去重计数的其中一种。具体地,假设目标离线特征数据为所有用户最近一小时在app的123场景的发帖次数,那么,可以以特征配置数据中的目标计算方式对该离线特征数据进行计算,假设目标计算方式为平均值计算,则聚合指标值为用户最近一小时在app的123场景的发帖次数的平均值,在计算出该聚合指标值后,返回至该查询任务对应的特征调用方。120.在上述示例性实施例中,通过在特征配置数据中预设的计算方式,可以在获得了目标离线特征数据之后,进一步根据预设计算方式计算目标离线特征数据得到聚合指标值,返回至特征调用方,可以使离线特征数据计算更灵活简便,提高离线特征数据计算的效率。121.为了使本领域技术人员更好地理解本发明实施例的技术方案,下面通过一个示例,以及结合图7对本发明实施例进行说明。122.参照图7,示出了本发明的一种数据查询方法实施例的流程示意图。如图中所示,特征配置根据特征语义存储于特征配置库中,hbase为离线特征库,存储有多个离线特征数据。123.1、接收特征调用方的多个查询任务,查询任务中携带了查询参数,查询参数可以包括fid(特征配置标识)、dim(离线特征数据的筛选范围),以及可选的timestamp(时间范围);124.2、根据查询任务中的查询参数,从特征配置库中获取查询任务对应的目标特征配置;125.3、目标特征配置中包括了目标特征配置数据(筛选范围dim、数据来源source、过滤条件fileter、数据指标indicator,时间范围timeslice)和目标计算方式;126.4、根据目标特征配置数据的目标语义配置数据计算目标特征语义;将具有相同目标特征语义的查询任务合并为合并查询任务;127.5、从hbase中查询与合并查询任务的目标特征语义匹配的匹配离线特征数据;128.6、获取到匹配离线特征数据后,根据各个查询任务对应的目标特征配置数据的目标查询配置数据,从匹配离线特征数据中确定各个所述查询任务对应目标离线特征数据;129.7、根据各个所述查询任务对应的目标特征配置数据的目标计算方式计算目标离线特征数据,得到聚合指标值;130.8、将聚合指标值返回给各个查询任务对应的特征调用方。131.在上述示例中,基于特征语义将离线特征数据存储在hbase中,提高了离线特征数据的存储可靠性,可以计算查询任务对应的目标特征配置数据的目标特征语义,进而将具有相同目标特征语义的查询任务合并为合并查询任务进行离线特征数据的查询;并计算得到各个查询任务对应的聚合指标值返回给特征调用方,避免了离线特征数据回溯时的冗余查询计算,节省了系统资源,提高了查询效率。132.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。133.参照图8,示出了本发明的一种数据查询装置实施例的结构框图,具体可以包括如下模块:134.查询任务接收模块802,用于接收特征调用方发送的多个查询任务;135.目标特征配置数据确定模块804,用于根据所述查询任务从预设的特征配置数据中确定目标特征配置数据;所述目标特征配置数据包括目标语义配置数据和目标查询配置数据;136.目标特征语义计算模块806,用于根据所述目标语义配置数据计算得到目标特征语义;137.查询任务合并模块808,用于将所述目标特征语义相同的查询任务合并为合并查询任务;138.匹配离线特征数据获取模块810,用于从预置的离线特征库中获取与所述合并查询任务的目标特征语义匹配离线特征数据,作为匹配离线特征数据;139.目标离线特征数据确定模块812,用于根据各个查询任务对应的所述目标查询配置数据,从所述匹配离线特征数据中确定各个所述查询任务对应的目标离线特征数据;140.目标离线特征数据返回模块814,用于将所述目标离线特征数据返回至所述查询任务对应的特征调用方。141.在一示例性实施例中,所述离线特征数据具有属性数据,所述属性数据具有对应的属性项,所述属性项包括数据来源、过滤条件、筛选范围、时间范围和数据指标。142.在一示例性实施例中,所述装置还包括:配置请求接收模块,用于接收提交的配置请求;所述配置请求中包括特征配置数据;所述特征配置数据包括语义配置数据、查询配置数据和计算方式;目标属性数据确定模块,用于根据所述语义配置数据,从所述离线特征数据的属性数据中确定目标属性数据;特征语义计算模块,用于采用哈希算法基于目标属性数据计算得到特征语义;离线特征数据存储模块,用于将所述离线特征数据基于对应的所述特征语义存储于离线特征库中。143.在一示例性实施例中,所述语义配置数据的属性项包括数据来源、过滤条件和筛选范围。144.在一示例性实施例中,离线特征数据存储模块,还用于将所述特征语义相同的所述离线特征数据合并后存储于所述离线特征库中。145.在一示例性实施例中,离线特征数据存储模块,还用于将所述特征语义相同、且所述时间范围相同的所述离线特征数据合并后存储于所述离线特征库中。146.在一示例性实施例中,所述查询配置数据包括时间范围和数据指标。147.在一示例性实施例中,所述目标离线特征数据返回模块814,还用于根据所述目标计算方式对所述目标离线特征数据进行计算得到聚合指标数据;将所述聚合指标数据返回至所述查询任务对应的特征调用方。148.在一示例性实施例中,所述计算方式至少包括总数计算、和值计算、平均值计算和去重计数的其中一种。149.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。150.优选的,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数据查询方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。151.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述数据查询方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。152.本发明实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述数据查询方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。153.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。154.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。155.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。156.本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。157.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。158.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。159.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。160.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。161.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。162.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献