掌桥专利:专业的专利平台
掌桥专利
首页

数据关联方法、装置、服务器及存储介质

文献发布时间:2023-06-19 09:43:16


数据关联方法、装置、服务器及存储介质

技术领域

本公开涉及数据处理技术领域,特别涉及一种数据关联方法、装置、服务器及存储介质。

背景技术

随着数据处理技术发展,数据的类型越来越多,不仅有结构化数据(例如用户信息等),也有非结构化数据(例如图像或者视频等);在一些场景中,需要将结构化数据和非机构化数据进行关联。例如,在对目标用户进行追踪的场景中,需要将目标用户的用户信息与监控视频中的包括该用户的视频帧进行关联。

相关技术中,通常由技术人员基于目标用户的用户信息、待关联的视频帧的特征信息以及用户信息与视频帧之间的关联逻辑,编写非结构化查询语言(Structured QueryLanguage,SQL)代码,通过该非SQL代码实现用户信息和视频帧的关联。

上述技术中,需要技术人员编写非SQL代码,才能实现用户信息和视频帧的关联,而编写非SQL代码耗时较长,从而导致数据关联的效率低。

发明内容

本公开提供了一种数据关联方法、装置、服务器及存储介质,能够提高数据关联的效率。所述技术方案包括:

根据本公开实施例的一方面,提供了一种数据关联方法,所述方法包括:

确定关联逻辑库的地址信息,以及从所述关联逻辑库中确定第一关联逻辑;

基于所述地址信息和所述第一关联逻辑的标识,生成第一关联函数;

基于所述第一关联函数,从所述关联逻辑库中调用所述第一关联逻辑;

基于所述第一关联逻辑对待关联的第一数据和第二数据进行关联,所述第一数据为非结构化数据,所述第二数据为结构化数据。

在一种可能的实现方式中,所述基于所述第一关联逻辑对待关联的第一数据和第二数据进行关联,包括:

获取所述第一数据;

将所述第一数据与缓存中的每个第二数据进行组合,得到多个数据对;

基于所述第一关联逻辑,从所述多个数据对中选择目标数据对,将所述目标数据对中的所述第一数据与所述第二数据进行关联。

在一种可能的实现方式中,所述方法还包括:

从数据库中获取多个第二数据,将所述多个第二数据存储到所述缓存中;

响应于所述数据库中新增第二数据,从所述数据库中获取所述新增的第二数据,将所述新增的第二数据存储到所述缓存中。

在一种可能的实现方式中,所述基于所述地址信息和所述第一关联逻辑的标识,生成第一关联函数,包括:

获取结构化查询语言SQL语句;

将所述SQL语句中的地址字段修改为所述地址信息,将所述SQL语句中的关联逻辑字段修改为所述第一关联逻辑的标识,得到所述第一关联函数。

在一种可能的实现方式中,所述方法还包括:

响应于修改所述第一关联逻辑,从所述关联逻辑库中确定第二关联逻辑;

将所述第一关联函数中的第一关联逻辑的标识修改为所述第二关联逻辑的标识,得到第二关联函数;

基于所述第二关联函数,从所述关联逻辑库中调用所述第二关联逻辑;

基于所述第二关联逻辑对待关联的第三数据和第四数据进行关联,所述第三数据为非结构化数据,所述第四数据为结构化数据。

在一种可能的实现方式中,所述方法还包括:

获取多个关联逻辑,所述多个关联逻辑为通过非SQL语句编写得到的;

将所述多个关联逻辑存储到所述关联逻辑库中。

在一种可能的实现方式中,所述获取所述第一数据,包括:

接收监控设备发送的视频流;

将所述视频流中的每一帧视频作为所述第一数据。

根据本公开实施例的另一方面,提供了一种数据关联装置,所述装置包括:

第一确定模块,用于确定关联逻辑库的地址信息,以及从所述关联逻辑库中确定第一关联逻辑;

生成模块,用于基于所述地址信息和所述第一关联逻辑的标识,生成第一关联函数;

第一调用模块,用于基于所述第一关联函数,从所述关联逻辑库中调用所述第一关联逻辑;

第一关联模块,用于基于所述第一关联逻辑对待关联的第一数据和第二数据进行关联,所述第一数据为非结构化数据,所述第二数据为结构化数据。

在一种可能的实现方式中,所述第一关联模块,包括:

获取单元,用于获取所述第一数据;

组合单元,用于将所述第一数据与缓存中的每个第二数据进行组合,得到多个数据对;

关联单元,用于基于所述第一关联逻辑,从所述多个数据对中选择目标数据对,将所述目标数据对中的所述第一数据与所述第二数据进行关联。

在一种可能的实现方式中,所述装置还包括:

第一存储模块,用于从数据库中获取多个第二数据,将所述多个第二数据存储到所述缓存中;

第二存储模块,用于响应于所述数据库中新增第二数据,从所述数据库中获取所述新增的第二数据,将所述新增的第二数据存储到所述缓存中。

在一种可能的实现方式中,所述生成模块,用于获取结构化查询语言SQL语句;将所述SQL语句中的地址字段修改为所述地址信息,将所述SQL语句中的关联逻辑字段修改为所述第一关联逻辑的标识,得到所述第一关联函数。

在一种可能的实现方式中,所述装置还包括:

第二确定模块,用于响应于修改所述第一关联逻辑,从所述关联逻辑库中确定第二关联逻辑;

修改模块,用于将所述第一关联函数中的第一关联逻辑的标识修改为所述第二关联逻辑的标识,得到第二关联函数;

第二调用模块,用于基于所述第二关联函数,从所述关联逻辑库中调用所述第二关联逻辑;

第二关联模块,用于基于所述第二关联逻辑对待关联的第三数据和第四数据进行关联,所述第三数据为非结构化数据,所述第四数据为结构化数据。

在一种可能的实现方式中,所述装置还包括:

获取模块,用于获取多个关联逻辑,所述多个关联逻辑为通过非SQL语句编写得到的;

第三存储模块,用于将所述多个关联逻辑存储到所述关联逻辑库中。

在一种可能的实现方式中,所述获取单元,用于接收监控设备发送的视频流;将所述视频流中的每一帧视频作为所述第一数据。

根据本公开实施例的另一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现本公开实施例中所述数据关联方法中所执行的指令。

根据本公开实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现本公开实施例中所述数据关联方法中所执行的指令。

根据本公开实施例的另一方面,提供了一种应用程序,所述应用程序中的程序代码由处理器执行,以实现本公开实施例中所述数据关联方法中所执行的指令。

本公开的实施例提供的技术方案可以包括以下有益效果:

在本公开实施例中,由于将关联逻辑存储在关联逻辑库中,当进行数据关联时,直接基于关联逻辑库的地址信息和待使用的第一关联逻辑的标识,生成第一关联函数,将第一关联函数作为调用第一关联逻辑的依据,就可以直接从关联逻辑库中调用第一关联逻辑,这样无需根据待关联的非结构化数据与结构化数据重新编写非SQL代码,直接通过第一关联函数就可以调用第一关联逻辑,从而实现待关联的非结构化数据与结构化数据的关联,进而缩短了编写非SQL代码的时间,提高了数据关联的效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种实施环境的示意图;

图2是根据一示例性实施例示出的一种数据关联方法的流程图;

图3是根据一示例性实施例示出的另一种数据关联方法的流程图;

图4是根据一示例性实施例示出的一种生成关联函数的示意图;

图5是根据一示例性实施例示出的一种获取结构化数据的示意图;

图6是根据一示例性实施例示出的一种生成数据对的示意图;

图7是根据一示例性实施例示出的一种数据关联方法的示意图;

图8是根据一示例性实施例示出的另一种数据关联方法的流程图;

图9是根据一示例性实施例示出的一种数据关联装置的框图;

图10是根据一示例性实施例示出的一种服务器的框图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种实施环境的示意图。参见图1,该实施环境中包括设备101和服务器102。

设备101和服务器102通过无线或者有线网络连接。

设备101为数据采集设备,如手机、电脑、监控设备等。设备101可以采集数据,例如,采集音频流数据、视频流数据等,在本公开实施例中,以设备101为监控设备为例进行说明。

服务器102可以是一台服务器,或者若干台服务器组成的服务器集群,或者一个云计算服务中心。服务器102用于为设备101提供后台服务。

在本公开实施例中,数据采集设备将采集到的非结构化数据上传至消息队列,服务器从消息队列中获取该非结构化数据,基于关联逻辑,将该非结构化数据与结构化数据关联,例如,结构化数据包括用户信息,可选地,用户信息为目标用户的姓名、出生日期等信息,非结构化数据包括视频流数据,在本公开实施例中,将视频流数据中包含该目标用户的图像的视频帧数据与该目标用户的姓名等用户信息关联。

图2是根据一示例性实施例示出的一种数据关联方法的流程图。参见图2,该实施例包括:

步骤201:确定关联逻辑库的地址信息,以及从该关联逻辑库中确定第一关联逻辑。

步骤202:基于该地址信息和该第一关联逻辑的标识,生成第一关联函数。

步骤203:基于该第一关联函数,从该关联逻辑库中调用该第一关联逻辑。

步骤204:基于该第一关联逻辑对待关联的第一数据和第二数据进行关联,该第一数据为非结构化数据,该第二数据为结构化数据。

在一种可能的实现方式中,该基于该第一关联逻辑对待关联的第一数据和第二数据进行关联,包括:

获取该第一数据;

将该第一数据与缓存中的每个第二数据进行组合,得到多个数据对;

基于该第一关联逻辑,从该多个数据对中选择目标数据对,将该目标数据对中的该第一数据与该第二数据进行关联。

在一种可能的实现方式中,该方法还包括:

从数据库中获取多个第二数据,将该多个第二数据存储到该缓存中;

响应于该数据库中新增第二数据,从该数据库中获取该新增的第二数据,将该新增的第二数据存储到该缓存中。

在一种可能的实现方式中,该基于该地址信息和该第一关联逻辑的标识,生成第一关联函数,包括:

获取结构化查询语言SQL语句;

将该SQL语句中的地址字段修改为该地址信息,将该SQL语句中的关联逻辑字段修改为该第一关联逻辑的标识,得到该第一关联函数。

在一种可能的实现方式中,该方法还包括:

响应于修改该第一关联逻辑,从该关联逻辑库中确定第二关联逻辑;

将该第一关联函数中的第一关联逻辑的标识修改为该第二关联逻辑的标识,得到第二关联函数;

基于该第二关联函数,从该关联逻辑库中调用该第二关联逻辑;

基于该第二关联逻辑对待关联的第三数据和第四数据进行关联,该第三数据为非结构化数据,该第四数据为结构化数据。

在一种可能的实现方式中,该方法还包括:

获取多个关联逻辑,该多个关联逻辑为通过非SQL语句编写得到的;

将该多个关联逻辑存储到该关联逻辑库中。

在一种可能的实现方式中,该获取该第一数据,包括:

接收监控设备发送的视频流;

将该视频流中的每一帧视频作为该第一数据。

在本公开实施例中,由于将关联逻辑存储在关联逻辑库中,当进行数据关联时,直接基于关联逻辑库的地址信息和待使用的第一关联逻辑的标识,生成第一关联函数,将第一关联函数作为调用第一关联逻辑的依据,就可以直接从关联逻辑库中调用第一关联逻辑,这样无需根据待关联的非结构化数据与结构化数据重新编写非SQL代码,直接通过第一关联函数就可以调用第一关联逻辑,从而实现待关联的非结构化数据与结构化数据的关联,进而缩短了编写非SQL代码的时间,提高了数据关联的效率。

图3是根据一示例性实施例示出的另一种数据关联方法的流程图。在本公开实施例中,以基于第一关联逻辑为例进行说明。如图3所示,该数据关联方法包括如下步骤:

步骤301:服务器确定关联逻辑库的地址信息,以及从该关联逻辑库中确定第一关联逻辑。

其中,关联逻辑库的地址信息为关联逻辑库的逻辑地址,也就是关联逻辑库所在的存储区域的位置信息。关联逻辑库中存储了多个关联逻辑,该多个关联逻辑包括非结构化数据与结构化数据的多个关联方式。该第一关联逻辑包括待关联的非结构化数据的标识、待关联的结构化数据的标识以及待关联的非结构数据与结构化数据的关联方式。非结构化数据为结构无法统一的数据,如音频流数据、视频流数据等流数据。结构化数据为具有统一结构的数据,即关系型数据,如姓名、电话号码等静态数据。例如,关联方式1为视频流数据中某一帧视频图像与目标用户A的姓名关联,关联方式2为音频流数据中某一段音频的音色信息与目标用户B的电话号码关联。

在一种可能的实现方式中,服务器根据非结构化数据的类型,确定关联逻辑库的类型。如,关联逻辑库1中存储关于音频流数据与结构化数据的关联逻辑,关联逻辑库2中存储关于视频流数据与结构化数据的关联逻辑。其中,关联逻辑库的类型可根据用户需求设置,本公开对此不做限定。

在一种可能的实现方式中,服务器获取多个关联逻辑,该多个关联逻辑为通过非SQL语句编写得到的,将多个关联逻辑存储到关联逻辑库中。其中,服务器获取多个关联逻辑的方式包括:

第一,服务器根据预设存储周期,获取多个关联逻辑。其中,预设周期可以根据用户需求设置,本公开对此不做限定。例如,该预设周期为5分钟、10分钟或30分钟等。

第二,响应于更新关联逻辑,服务器获取更新的多个关联逻辑。其中,用户通过其他终端或电子设备,根据需要关联的非结构化数据和结构化数据,确定多个关联逻辑,触发更新关联逻辑指令,响应于更新关联逻辑指令,服务器获取更新的多个关联逻辑。

在本公开实施例中,通获取非结构化数据与结构化数据的多个关联逻辑,将该多个关联逻辑存储到关联逻辑库中,即,集成多个关联逻辑到关联逻辑库中,当用户需要基于关联逻辑将非结构化数据和结构化数据关联时,只需服务器从关联逻辑库中调用所需的关联逻辑,提高了数据关联的效率。

其中,每个关联逻辑库的地址信息不同。服务器根据该地址信息,调用该地址信息对应的关联逻辑库,从该关联逻辑库中确定第一关联逻辑。其中,服务器从该关联逻辑库中确定第一关联逻辑的过程为:服务器根据接收其他电子设备发送的选择指令,该选择指令中携带目标关联方式,服务器接收该选择指令,根据该选择指令中携带的目标关联方式从该关联逻辑库中确定该目标关联方式对应的第一关联逻辑。

步骤302,服务器基于该地址信息和该第一关联逻辑的标识,生成第一关联函数。

其中,该第一关联函数包括第一关联逻辑的标识、待关联的非结构化数据的标识以及待关联的结构化数据的标识。该第一关联逻辑的标识用于指示该第一关联逻辑,其中,第一关联逻辑的标识包括第一关联逻辑的名称、编号中的至少一个。待关联的非结构化数据的标识包括待关联的非结构化数据的特征信息,例如,非结构化数据为视频流数据的视频帧图像,则标识包括该视频帧图像的的特征信息,其中,特征信息为视频帧图像中的人脸信息等。待关联的结构化数据的标识包括目标用户的用户信息,例如,用户身份证号码、编号等。其中,标识的内容可根据用户需求设置,本公开对此不做限定。

服务器从关联逻辑库中确定第一关联逻辑后,基于关联逻辑库的地址信息以及该第一关联逻辑的标识,生成第一关联函数。例如,参见图4,服务器从关联逻辑库中确定第一关联逻辑,执行创建函数语句生成第一关联函数。在一种可能的实现方式中,服务器获取结构化查询语言SQL语句,将该SQL语句中的地址字段修改为该地址信息,将该SQL语句中的关联逻辑字段修改为该第一关联逻辑的标识,得到该第一关联函数。如,非结构化数据的标识可以为非结构化数据的特征信息。

在一种可能的实现方式中,服务器获取的结构化查询语言SQL语句的代码块1如下所示:

CREATE FUNCTION function_name AS identifier

其中,CREATE FUNCTION为创建函数语句,function_name为关联逻辑字段,identifier为标识符,标识符是用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。在本公开实施例中,identifier为地址字段。

例如,第一关联逻辑的标识为match_filter,关联逻辑库的地址信息为com.X.bigdata.hlink.MatchFilter,则服务器将function_name修改为match_filter,match_filter为第一关联逻辑的标识,将identifier修改为com.X.bigdata.hlink.MatchFilter,则代码块2如下所示:

CREATE FUNCTION match_filter AS“com.X.bigdata.hlink.MatchFilter”

其中,com.X.bigdata.hlink.MatchFilter为关联逻辑库的地址信息。X为关联逻辑库的名称。

在本公开实施例中,通过修改SQL语句中的地址字段和关联逻辑字段的信息,生成第一关联函数,使得服务器直接根据该第一关联函数从关联逻辑库中调用所需的关联逻辑,减少了执行非SQL代码的时间。

步骤303,服务器基于该第一关联函数,从该关联逻辑库中调用该第一关联逻辑。

其中,用户期望使用的关联逻辑存储在关联逻辑库中,服务器基于第一关联函数,从该关联逻辑库中调用第一关联逻辑。在一种可能的实现方式中,服务器根据第一关联数中的该第一关联逻辑的标识,从该关联逻辑库中调用该第一关联逻辑。在另一种可能的实现方式中,服务器根据第一关联函数中的待关联的非结构化数据的标识与结构化数据的标识,从该关联逻辑库中调用该第一关联逻辑。

步骤304:服务器获取该第一数据。

其中,第一数据为非结构化数据。第一数据存在于消息队列中,消息队列为在消息的传输过程中保存消息的容器。在一种可能的实现方式中,服务器接收监控设备发送的视频流数据,将该视频流数据中的每一帧视频图像作为该第一数据。例如,监控设备将采集到的视频流数据存储在消息队列中,服务器从消息队列中获取监控设备的视频流,将该视频流中的每一帧视频作为该第一数据。

步骤305:服务器将该第一数据与缓存中的每个第二数据进行组合,得到多个数据对。

其中,第二数据为结构化数据。参见图5,服务器获取第二数据的过程通过以下步骤(1)-(2),包括:

(1)服务器从数据库中获取多个第二数据,将该多个第二数据存储到该缓存中。

其中,服务器根据Flink API(Flink Application Programming Interface,开源流处理框架应用程序接口TableFunction(表函数)的open()函数(一种打开函数),从数据库中获取全量数据,将该全量数据存储到缓存中。其中,全量数据为数据库中的全部数据。

(2)响应于该数据库中新增第二数据,服务器从该数据库中获取该新增的第二数据,将该新增的第二数据存储到该缓存中。

其中,服务器根据TableFunction的eval()函数(一种获取返回值函数),从该数据库中获取该新增的第二数据,将该新增的第二数据存储到该缓存中。

参见图6,服务器获取第一数据,将该第一数据与缓存中的每个第二数据进行组合,得到了多个数据对。响应于第一数据的个数为至少一个,每个第一数据调用TableFunction,与缓存中的每个第二数据进行组合,得到多条数据对。

在一种可能的实现方式中,第一数据为视频流数据,服务器获取视频流数据与缓存中的第二数据,将该视频流数据与缓存中的每个第二数据进行组合,得到多个数据对,则代码块3如下所示:

SELECT

x,y

FROM TableX,LATERAL TABLE(fetch())TableY as y

其中,SELECT语句用于从表中选取数据。FROM为SELECT语句的子语句,用于表示数据的来源。TableX为表X,TABLE(fetch())TableY as y表示从表Y中选取数据y。LATERAL表示将表X中的数据x与表Y中的数据y组合。因此,该代码块3表示从表中选取数据x、y,将表X中的数据x与表Y中的数据y组合,生成多条数据对。

例如,继续参见图6,第一数据为视频流数据X1,X2,第二数据为静态数据Y1,Y2,Y3,Y4,在本步骤中,服务器将视频流数据X1分别与静态数据Y1,Y2,Y3,Y4进行组合,得到(X1,Y1),(X1,Y2),(X1,Y3),(X1,Y4);以及,将视频流数据X1分别与静态数据Y1,Y2,Y3,Y4进行组合,得到(X2,Y1),(X2,Y2),(X2,Y3),(X2,Y4)。

在本公开实施例中,通过将数据库中的结构化数据与新增的结构化数据存储到缓存中,使得待关联的第一数据可以和缓存中的全量数据进行组合,无需技术人员编写从全量数据中获取待关联的第二数据的代码,减少了代码量,进而减少了代码执行的时间。

步骤306:服务器基于该第一关联逻辑,从该多个数据对中选择目标数据对,将该目标数据对中的该第一数据与该第二数据进行关联。

其中,目标数据对包含待关联的非结构化数据的标识与待关联的结构化数据的标识。在一种可能的实现方式中,服务器根据该第一关联逻辑中的待关联的非结构化数据的标识与待关联的结构化数据的标识,从该多个数据对中选择出符合标识信息的目标数据对,将该目标数据对中的该非结构化数据与该结构化数据进行关联。

例如,参见图7,第一数据为X1和X2,第二数据为Y1,Y2,……,Yn,得到的两组数据对分别为(X1,Y1),(X1,Y2),……,(X1,Yn);以及,(X2,Y1),(X2,Y2),……,(X2,Yn)。服务器根据第一关联逻辑分别确定目标数据对为(X1,Y2)和(X2,Y1)。

在一种可能的实现方式中,服务器基于该第一关联逻辑,从该多个数据对中选择目标数据对,将该目标数据对中的该第一数据与该第二数据进行关联的代码块4如下所示:

WHERE mactch_filter(x,y)=true

其中,WHERE为SELECT语句的子语句,用于表示选择数据的标准。该代码块4表示从x与y组合成的多条数据对中选择出符合该第一关联逻辑的目标数据对。

在本公开实施例中,由于将关联逻辑存储在关联逻辑库中,当进行数据关联时,直接基于关联逻辑库的地址信息和待使用的第一关联逻辑的标识,生成第一关联函数,将第一关联函数作为调用第一关联逻辑的依据,就可以直接从关联逻辑库中调用第一关联逻辑,这样无需根据待关联的非结构化数据与结构化数据重新编写非SQL代码,直接通过第一关联函数就可以调用第一关联逻辑,从而实现待关联的非结构化数据与结构化数据的关联,进而缩短了编写非SQL代码的时间,提高了数据关联的效率。

图8为根据一示例性实施例示出的另一种数据关联方法的流程图。在本公开实施例中,以基于第二关联逻辑为例进行说明。如图8所示,该数据关联方法包括如下步骤:

步骤801:服务器响应于修改该第一关联逻辑,从该关联逻辑库中确定第二关联逻辑。

当用户期望切换关联逻辑时,如,第一关联逻辑为图像1与目标用户的用户信息关联,第二关联逻辑为图像2与目标用户的用户信息关联。其他电子设备发送修改指令到服务器,响应于修改该第一关联逻辑,服务器根据关联逻辑库与关联逻辑的对应关系,根据第二关联逻辑的标识确定关联逻辑库的地址信息。服务器根据该地址信息,从关联逻辑库中确定第二关联逻辑。其中,其他电子设备接收用户输入的修改操作,基于该修改操作生成修改指令。

步骤802:服务器将该第一关联函数中的第一关联逻辑的标识修改为该第二关联逻辑的标识,得到第二关联函数。

其中,服务器获取结构化查询语言SQL语句,将该SQL语句中的地址字段修改为关联逻辑库的地址信息,将该SQL语句中的关联逻辑字段修改为该第二关联逻辑的标识,得到该第二关联函数。

在一种可能的实现方式中,服务器获取的结构化查询语言SQL语句的代码块5如下所示:

CREATE FUNCTION match_filter AS“com.X.bigdata.hlink.MatchFilter”

其中,该代码块5与步骤302中的代码块2相似,在此不再赘述。

服务器将match_filter修改为第二关联逻辑的标识,将com.X.bigdata.hlink.MatchFilter修改为第二关联逻辑对应的关联逻辑库的地址信息。

步骤803:服务器基于该第二关联函数,从该关联逻辑库中调用该第二关联逻辑。

该步骤与步骤303相似,在此不再赘述。

步骤804:服务器获取该第一数据。

该步骤与步骤304相似,在此不再赘述。

步骤805:服务器将该第三数据与缓存中的每个第四数据进行组合,得到多个数据对。

该步骤与步骤305相似,在此不再赘述。

步骤806:服务器基于该第一关联逻辑,从该多个数据对中选择目标数据对,将该目标数据对中的该第三数据与该第四数据进行关联。

该步骤与步骤306相似,在此不再赘述。

在本公开实施例中,由于将关联逻辑存储在关联逻辑库中,当进行数据关联时,直接基于关联逻辑库的地址信息和待使用的第一关联逻辑的标识,生成第一关联函数,将第一关联函数作为调用第一关联逻辑的依据,就可以直接从关联逻辑库中调用第一关联逻辑,这样无需根据待关联的非结构化数据与结构化数据重新编写非SQL代码,直接通过第一关联函数就可以调用第一关联逻辑,从而实现待关联的非结构化数据与结构化数据的关联,进而缩短了编写非SQL代码的时间,提高了数据关联的效率。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

图9是根据一示例性实施例示出的一种数据关联装置的框图。该数据关联装置用于执行上述方法时执行的步骤,参见图9,装置包括:

第一确定模块901,用于确定关联逻辑库的地址信息,以及从该关联逻辑库中确定第一关联逻辑;

生成模块902,用于基于该地址信息和该第一关联逻辑的标识,生成第一关联函数;

第一调用模块903,用于基于该第一关联函数,从该关联逻辑库中调用该第一关联逻辑;

第一关联模块904,用于基于该第一关联逻辑对待关联的第一数据和第二数据进行关联,该第一数据为非结构化数据,该第二数据为结构化数据。

在一种可能的实现方式中,该第一关联模块904,包括:

获取单元,用于获取该第一数据;

组合单元,用于将该第一数据与缓存中的每个第二数据进行组合,得到多个数据对;

关联单元,用于基于该第一关联逻辑,从该多个数据对中选择目标数据对,将该目标数据对中的该第一数据与该第二数据进行关联。

在一种可能的实现方式中,该装置还包括:

第一存储模块,用于从数据库中获取多个第二数据,将该多个第二数据存储到该缓存中;

第二存储模块,用于响应于该数据库中新增第二数据,从该数据库中获取该新增的第二数据,将该新增的第二数据存储到该缓存中。

在一种可能的实现方式中,该生成模块902,用于获取结构化查询语言SQL语句;将该SQL语句中的地址字段修改为该地址信息,将该SQL语句中的关联逻辑字段修改为该第一关联逻辑的标识,得到该第一关联函数。

在一种可能的实现方式中,该装置还包括:

第二确定模块,用于响应于修改该第一关联逻辑,从该关联逻辑库中确定第二关联逻辑;

修改模块,用于将该第一关联函数中的第一关联逻辑的标识修改为该第二关联逻辑的标识,得到第二关联函数;

第二调用模块,用于基于该第二关联函数,从该关联逻辑库中调用该第二关联逻辑;

第二关联模块,用于基于该第二关联逻辑对待关联的第三数据和第四数据进行关联,该第三数据为非结构化数据,该第四数据为结构化数据。

在一种可能的实现方式中,该装置还包括:

获取模块,用于获取多个关联逻辑,该多个关联逻辑为通过非SQL语句编写得到的;

第三存储模块,用于将该多个关联逻辑存储到该关联逻辑库中。

在一种可能的实现方式中,该获取单元,用于接收监控设备发送的视频流;将该视频流中的每一帧视频作为该第一数据。

在本公开实施例中,由于将关联逻辑存储在关联逻辑库中,当进行数据关联时,直接基于关联逻辑库的地址信息和待使用的第一关联逻辑的标识,生成第一关联函数,将第一关联函数作为调用第一关联逻辑的依据,就可以直接从关联逻辑库中调用第一关联逻辑,这样无需根据待关联的非结构化数据与结构化数据重新编写非SQL代码,直接通过第一关联函数就可以调用第一关联逻辑,从而实现待关联的非结构化数据与结构化数据的关联,进而缩短了编写非SQL代码的时间,提高了数据关联的效率。

需要说明的是:上述实施例提供的数据关联装置在进行数据关联时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据关联装置与数据关联方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图10是根据一示例性实施例示出的一种服务器的框图,该服务器102可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central ProcessingUnits,CPU)1021和一个或一个以上的存储器1022,其中,存储器1022中存储有至少一条指令,所述至少一条指令由所述处理器1021加载并执行以实现上述各个方法实施例提供的数据关联方法。当然,该服务器102还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器102还可以包括其他用于实现设备功能的部件,在此不做赘述。

在本公开实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储至少一条程序代码,至少一条程序代码令由处理器加载并执行,以实现上述实施例中所述的数据关联方法。该计算机可读存储介质可以是存储器。例如,该计算机可读存储介质可以是ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,紧凑型光盘只读储存器)、磁带、软盘和光数据存储设备等。

在本公开实施例中,还提供了一种计算机程序产品,该计算机程序产品中存储至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述实施例中所述的数据关联方法。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中执行了详细描述,此处将不做详细阐述说明。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

相关技术
  • 一种数据关联方法、装置、服务器及存储介质
  • 数据关联方法、装置、服务器及存储介质
技术分类

06120112276846