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

一种数据查询方法、装置、设备及存储介质

文献发布时间:2024-04-18 19:58:21


一种数据查询方法、装置、设备及存储介质

技术领域

本说明书涉及计算机技术领域,尤其涉及一种数据查询方法、装置、设备及存储介质。

背景技术

元数据(Metadata)通常是指描述内容的数据,当对内容进行操作、更改或更新时,相应的元数据也会发生变化,从而形成多个不同版本的内容和元数据,即元数据和内容的不同版本中记录了修改历史,存在不同的内容和元数据。如果内容没有版本概念,则无法追溯内容的变更过程;而如果元数据没有版本概念,会导致元数据变更之后,内容在本身没有改动的情况下随元数据变更在展示层直接变化。

目前,很多低代码平台在存储元数据和内容时,虽然可以通过日志记录内容的变化,但是变化后的内容数据会覆盖变化前的数据,并不能实现多个版本的内容的保存。并且低代码平台不会记录随着内容变化而一起产生的元数据的变化,也无法实现多个版本的元数据的保存,从而无法查询从前的多个版本的元数据和多个版本的内容。

发明内容

为克服相关技术中存在的问题,本说明书提供了一种数据查询方法、装置、设备及存储介质。

根据本说明书实施例的第一方面,提供一种数据查询方法,所述方法包括:

接收针对存储空间的数据查询请求,所述存储空间中存储有至少一个对象对应的多个元数据版本的元数据和多个内容版本的内容;其中,所述多个元数据版本的元数据分别对应于不同的元数据生效日期,所述多个内容版本的内容分别对应于不同的内容生效日期;

根据所述数据查询请求所指示的查询条件,从所述存储空间中查询匹配于所述查询条件的目标元数据版本的元数据和目标内容版本的内容;

将所述目标元数据版本的元数据和所述目标内容版本的内容进行组合并返回。

根据本说明书实施例的第二方面,提供一种数据查询装置,所述装置包括:

查询单元,用于接收针对存储空间的数据查询请求,所述存储空间中存储有至少一个对象对应的多个元数据版本的元数据和多个内容版本的内容;其中,所述多个元数据版本的元数据分别对应于不同的元数据生效日期,所述多个内容版本的内容分别对应于不同的内容生效日期;

匹配单元,用于根据所述数据查询请求所指示的查询条件,从所述存储空间中查询匹配于所述查询条件的目标元数据版本的元数据和目标内容版本的内容;

组合单元,用于将所述目标元数据版本的元数据和所述目标内容版本的内容进行组合并返回。

根据本说明书实施例的第三方面,提供一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器通过运行所述可执行指令以实现如上述第一方面的实施例中所述的方法。

根据本说明书实施例的第四方面,提供一种机器可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述第一方面的实施例中所述方法的步骤。

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

在本说明书实施例中,存储空间中存储有至少一个对象对应的多个元数据版本的元数据和多个内容版本的内容,所述多个元数据版本的元数据分别对应于不同的元数据生效日期,且所述多个内容版本的内容分别对应于不同的内容生效日期,通过接收针对于存储空间的数据查询请求,在所述存储空间中查询匹配于所述查询条件的目标元数据版本的元数据和目标内容版本的内容,组合后返回查询结果,将元数据和内容的版本化精确到生效日期,实现了对元数据和内容的历史版本的并存,以及对目标元数据版本的元数据和目标内容版本的内容的准确查询。

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

附图说明

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

图1是本说明书根据一示例性实施例示出的一种数据查询方法的流程图。

图2是本说明书根据一示例性实施例示出的元数据和内容的存储示意图。

图3A是本说明书根据一示例性实施例示出的元数据版本的示意图。

图3B是本说明书根据一示例性实施例示出的内容版本的示意图。

图4为本说明书根据一示例性实施例示出的组合数据的示意图。

图5为本说明书根据一示例性实施例示出的一种二级内容展示的示意图。

图6是本说明书根据一示例性实施例示出的一种数据查询装置的框图。

图7是本说明书根据一示例性实施例示出的一种电子设备的结构示意图。

具体实施方式

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

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

首先,对本说明书一个或多个实施例涉及的名词术语进行具体解释。

元数据:是指描述内容的数据。

对象:可以为任何格式类别的数据(例如:文档、应用、音频、视频或图像文件等)。

多版本元数据和多版本内容是指元数据和内容在进行操作、更改或更新后,存在多个不同版本的元数据和内容。

举例而言,假设现有一张图像,若该图像的尺寸为100*200,则“100*200”为该图像的内容,“图像的尺寸”为描述内容“100*200”的元数据,该图像本身即为对象。

若将该图像的尺寸从“100*200”改为“10*20”,则该图像的内容存在两个版本,第一版本的内容为变化前的“100*200”,第二版本的内容为变化后的“10*20”,其变化的时间称为生效时间。如果内容没有版本概念,则无法追溯内容的变更过程,即在内容修改后,变化后的内容数据会覆盖变化前的数据,变化前的数据将无法再进行还原。

同理,若对图像的元数据进行变化,例如增加“图像的像素”这一元数据,与之对应地增加元数据所描述的内容,则该图像的元数据存在两个版本,第一版本的内容为变化前的“图像的尺寸”,第二版本的内容为变化后的“图像的尺寸”和“图像的像素”。如果元数据没有版本概念,会导致元数据变更之后,内容在本身没有改动的情况下随元数据变更在展示层直接变化。

沿用上述举例,对于第一版本的对象的元数据和内容而言,存在元数据“图像的尺寸”和“图像的像素”,其中“图像的尺寸”这一元数据存在内容,但“图像的像素”这一元数据不存在描述的内容。也就是在还原对象第一版本的元数据和内容时,只有内容进行了回溯,而元数据在变化后,该变化会保留在对象的每一个版本的数据中。

目前,很多低代码平台都可以实现存储元数据和内容,但是只能够通过日志记录内容的变化,如“某年某月某日,将‘100*200’改为‘10*20’。”而不能回溯变化前的内容,并且不会记录随着内容变化而一起产生的元数据的变化,无法实现同时保存多个版本的内容和多个版本的元数据,从而无法查询从前的多个版本的元数据和多个版本的内容。

因此,本说明书提供了一种数据查询方法,可以解决相关技术中存在的技术问题。

接下来对本说明书实施例进行详细说明。

如图1所示,图1是本说明书根据一示例性实施例示出的一种数据查询方法的流程图,具体包括以下步骤:

S101,接收针对存储空间的数据查询请求,所述存储空间中存储有至少一个对象对应的多个元数据版本的元数据和多个内容版本的内容;其中,所述多个元数据版本的元数据分别对应于不同的元数据生效日期,所述多个内容版本的内容分别对应于不同的内容生效日期。

在一示例性实施例中,所述存储空间包括相互独立的元数据存储空间和内容存储空间,所述元数据存储空间用于存储各个版本的元数据,所述内容存储空间用于存储各个版本的内容。具体的,可以将各个版本的元数据和各个版本的内容分别独立存储在两个数据库中。通过将各个版本的元数据和各个版本的内容各自独立更新存储,准确地记录版本变化,

在本说明书实施例中,所述存储空间中存储有至少一个对象,所述对象用于表示没有具体的实际数据的某种概念,如“员工”、“部门”等。相对的,本说明书实施例还提出对象实例的概念,所述对象实例为某一对象下的拥有具体的个体数据的实例,如“员工A”、“员工B”或是“部门1”、“部门2”等。

在存储空间中,会分别记录每个对象的元数据或内容在变化后生成的每一个新的版本的元数据和新的版本的内容,其中,元数据和内容不进行关联存储,而是分别存储为元数据版本的元数据和内容版本的内容。

其中,每一个版本的元数据和每一个版本的内容都与其各自变化生效时的生效日期相关联,具体的,每一个版本的元数据与其元数据生效日期对应存储,多个元数据版本的元数据分别对应于不同的元数据生效日期;每一个内容版本的内容与其内容生效日期对应存储,多个内容版本的内容分别对应于不同的内容生效日期。

图2是本说明书根据一示例性实施例示出的元数据和内容的存储示意图,在本说明书实施例中,由于在元数据生效日期相同的情况下,同一对象下不同的对象实例的元数据是相同的,因此,可将其视为同一个元数据版本的元数据,以节约存储空间。如图2中元数据存储空间部分所示,存储空间中存储的是不同元数据生效日期下对象A和对象B对应的多个元数据版本的元数据,而不是具体的不同对象实例对应的多个元数据版本的元数据。

在本说明书实施例中,对不同对象所包含的内容进行独立的存储记录,不同的对象对应有内容记录,具体可通过内存表等方式记录,用于存储所述对象对应的所有对象实例的所有内容版本的内容。如图2中内容存储空间部分所示,存储空间中分别对对象A和对象B进行独立的内容存储,其中,对象A内容记录和对象B内容记录中分别对应存储有对象实例A1、A2和B1、B2对应的多个内容版本的内容。所述对象A内容记录和对象B内容记录可以为一张表格、一个文件夹等可集中存储多个内容版本的存储空间,本说明书对此不作限制。

图3A是本说明书根据一示例性实施例示出的元数据版本的示意图,一个元数据版本中存储有一个对象在某一生效日期下的数据描述信息和与数据描述信息对应的属性信息、内容还原公式和类型信息,其中,每一个元数据版本中都存储有所述元数据版本对应的生效日期。举例而言,如图3A所示的元数据版本,其具体为对象为员工,生效日期为2023-07-07的员工元数据版本1,由图3A可知,对象“员工”具有六项数据描述信息,分别对应了不同的属性信息、内容还原公式和类型信息。其中,数据描述信息用于描述目标内容版本的内容中的数据取值,属性信息用于将目标元数据版本的元数据和目标内容版本的内容进行对应组合,内容还原公式用于计算最终的数据取值,所述类型信息用于区分数据取值种类和进行数据格式转化。

图3B是本说明书根据一示例性实施例示出的内容版本的示意图,在本说明书实施例中,同一对象对应多个不同的对象实例,所述对象实例对应的不同内容版本都集中存储在该对象对应的内容记录中。一个内容版本中存储有一个对象实例在某一生效日期下的数据取值和与所述数据取值对应的属性信息,其中,每个对象实例对应有唯一标识,即ID。同时,每一个内容版本中都存储有所述内容版本对应的内容生效日期。举例而言,如图3B所示,图3B中存储有三个不同的内容版本,具体的,其中包括对象“员工”对应的两个对象实例:“员工A”和“员工B”,其中“员工A”存储有两个版本的内容数据,分别对应了不同的生效日期。所述对象实例“员工A”和“员工B”分别为对应有唯一标识“员工_AAA”和“员工_BBB”,所述唯一标识中的前缀用于指向该对象实例对应的对象。在本说明书实施例中,部分数据取值需要组合后通过内容还原公式计算获得,因此在内容版本中存在部分数据取值不显示的情况,例如属性B由于数据待计算导致对应的数据取值不显示;以及仅显示初始数据取值的情况,例如属性F由于内容未被还原导致对应的数据取值显示原始的对象实例ID。

由前述内容可知,存储空间中存有不同生效日期对应的多个元数据版本的元数据和多个内容版本的内容,具体而言,当用户对原有的某一对象的某一元数据版本的元数据或内容版本的内容进行了修改,则当修改生效时,在存储空间中会相应地新增一个对应于所述生效日期的版本的元数据或内容,将每一次元数据或是内容的修改都记录在存储空间中,从而实现多个元数据版本的元数据和多个内容版本的内容的共存。

在一示例性实施例中,元数据版本和内容版本对应的生效日期的粒度可以精确到某一天,若用户在同一天对某一元数据版本的元数据或内容版本的内容连续进行两次修改,则存储空间中会存储新增的前述的两次修改对应的新的元数据版本的元数据或内容版本的内容,并将生效日期记录为同一天,即同一对象在同一个生效日期下也可存储多个版本的元数据或内容。

在一示例性实施例中,以元数据版本新增为例,在用户进行编辑前,对用户选择的想要进行编辑的元数据版本中的元数据进行复制,然后,由用户在复制得到的元数据版本的元数据上进行修改,修改后得到新的元数据版本的元数据,由用户设置新的元数据版本的元数据的生效日期,在到达所述生效日期时,所述存入新的元数据版本的元数据存入存储空间中,与生效日期对应,所述生效日期可根据用户需求自行设置。

当用户对某一内容版本进行修改,如图3B所示,假设用户在2023-07-08这一日期,将员工A内容版本1中的属性D的数据取值由“2000”改为“2001”,则会在员工这一对象的内容记录中,新增数据取值修改后的员工A内容版本2,由于内容版本新增的具体过程与元数据版本新增过程步骤相同,故在此不作赘述。

需要指出的是,在本说明书书实施例中,由于且元数据和内容并不进行关联存储,元数据和内容在编辑后新增版本时不会互相影响,即,若只对元数据进行了编辑,则元数据增加新的版本,而内容的版本不会发生变化。

通过上述方案,本说明书实施例实现了多个版本的元数据和多个版本的内容的并存,其中,版本化后得到数据可以精确到具体的生效日期,使得存储的元数据和内容更加全面。

S102,根据所述数据查询请求所指示的查询条件,从所述存储空间中查询匹配于所述查询条件的目标元数据版本的元数据和目标内容版本的内容。

在一示例性实施例中,所述查询条件包括以下至少之一:目标对象实例的信息、目标时刻。在存储空间中,多个元数据版本的元数据和多个内容版本的内容之间可以通过每个元数据或内容版本对应的对象或是变化时的生效日期进行关联。其中,不同的查询条件所对应的查询过程并不相同。

若所述查询条件包括目标对象实例的信息,则所述目标元数据版本的元数据包括属于所述目标对象实例对应的所有生效日期对应的元数据版本的元数据,所述目标内容版本的内容包括属于所述目标对象实例的所有版本的内容。其中,查询所述目标对象实例分为两种情况,分别为:

(1)查询所述目标对象实例为其所属目标对象对应的所有对象实例。

举例而言,当所述目标对象实例的信息为“员工”这一对象的信息,则需要对“员工”这一对象下的所有对象实例的目标元数据版本的元数据和目标内容版本的内容进行查询。

具体的,在一示例性实施例中,用户可以在查询界面指定目标对象,通过指定目标对象来实现发送数据查询请求。例如在查询界面设置包含所有对象的选项池,通过滚动查询来选择目标对象,或者通过在主界面设置包含所有对象的菜单栏,直接选择目标对象,本说明书对此不作限制。

当用户指定目标对象后,服务器获取目标对象的信息,从元数据存储空间中对目标对象进行查询,获取所述目标对象所有生效日期下的元数据版本的元数据,并从中选取生效日期最新的元数据版本的元数据作为目标元数据版本的元数据。

从内容存储空间中对目标对象对应的所有对象实例的不同生效日期的内容版本进行查询,获取内容存储空间中所述目标对象的内容记录中存储的所有内容版本的内容。其中,若在同一生效日期下,某一对象实例具有多个内容版本,则从中选取最新的内容版本的内容作为该对象实例在当前生效日期下的目标内容版本的内容。

以图2为例,假设目标对象为对象A,则查询得到对象A的目标元数据版本的元数据为元数据存储空间中对象A元数据版本1~4中生效日期最新的元数据版本的元数据;查询得到对象A的目标内容版本为对象A内容记录中的对象实例A1内容版本1~2和对象实例A2内容版本1~2。

(2)查询一个目标对象对应的一个或多个对象实例,所述多个小于所述目标对象对应的对象实例总数。

举例而言,当所述目标对象实例的信息为“员工A”这一对象实例的信息,则需要对“员工A”这一对象实例的目标元数据版本的元数据和目标内容版本的内容进行查询。

具体的,在一示例性实施例中,用户可通过输入对象实例的唯一标识信息发送数据查询请求,所述唯一标识信息中的前缀可用于指向该对象实例对应的对象。

当用户输入对象实例的唯一标识信息后,服务器获取目标对象实例对应的目标对象的信息,从元数据存储空间中对目标对象进行查询,获取所述目标对象所有生效日期下的元数据版本的元数据,并从中选取生效日期最新的元数据版本的元数据作为目标元数据版本的元数据。

从内容存储空间中对所述目标对象实例对应的不同生效日期的内容版本进行查询,获取所述目标对象实例的不同生效日期对应内容版本的内容,并将其作为目标内容版本的内容。若某一生效日期对应的内容版本不止一个,则选取其中修改时间最新的内容版本的内容作为该生效日期下的目标内容版本的内容。

以图2为例,假设目标对象实例为对象实例A1,则查询得到对象实例A1的目标元数据版本的元数据为元数据存储空间中对象A元数据版本1~4中生效日期最新的元数据版本的元数据;查询得到对象实例A1的目标内容版本为对象A内容记录中的对象实例A1内容版本1~2。

若所述查询条件包括目标时刻,则所述目标元数据版本的元数据包括相应生效日期与所述目标时刻最接近但不晚于所述目标时刻的元数据,所述目标内容版本的内容包括相应生效日期不晚于所述目标时刻的内容。

举例而言,当所述查询条件中包括时间信息,如“2023-07-09”,则需对生效日期为“2023-07-09”的所有对象的元数据版本的元数据和所有对象实例的内容版本的内容进行查询,若存储空间中不存在对应与所述生效日期的元数据版本或内容版本,则将与所述目标时刻最接近但不晚于所述目标时刻的元数据版本的元数据和内容版本的内容作为目标元数据版本的元数据和目标内容版本的内容。例如,若查询得到元数据存储空间中不存在与目标时刻“2023-07-09”对应的元数据版本,则将目标时刻向前推至“2023-07-08”进行查询,直至查询得到对应的生效日期与目标时刻相同的元数据版本的元数据。

具体的,在一示例性实施例中,用户可通过在查询界面指定目标时刻,例如在包含年月日选项的搜索栏中选取要进行指定的目标时刻,所述时刻精确到具体的某一天。通过指定目标时刻来实现发送数据查询请求。

当用户指定目标时刻后,从元数据存储空间中对所述目标时刻进行查询,获取对应的生效日期与所述目标时刻相同的元数据版本的元数据,并将其作为目标元数据版本的元数据。

从内容存储空间中对所述目标时刻进行查询,获取对应的生效日期与所述目标时刻相同的内容版本的内容。根据内容版本对应的对象将查询得到的所有内容版本的内容拆分为对应于对象的多个内容记录,并将其作为目标内容版本的内容。

假设存储空间中只存储了如图3A和图3B中所示元数据版本和内容版本,目标时刻为“2023-07-07”,则查询得到目标元数据版本的元数据为员工元数据版本1;查询得到目标内容版本的内容为员工A内容版本1和员工B内容版本1。

在一示例性实施例中,所述数据查询请求中可同时包括目标对象实例的信和目标时刻,用于实现对任一时刻下的目标对象实例对应的元数据和内容进行查询。具体的,首先对目标对象实例对应的多个元数据版本的元数据和多个内容版本的内容进行查询,从查询得到的结果中二次查询对应的生效日期与目标时刻相同的目标元数据版本的元数据和目标内容版本的内容。具体的,根据目标对象实例进行查询和根据目标时刻进行查询的过程详见前述方法,在此不做赘述。

在一示例性实施例中,具体可通过连接器对目标版元数据版本的元数据和目标内容版本的内容进行关联查询,从而实现对历史元数据版本和内容版本的回溯,可以快速查询历史元数据版本中的元数据和历史内容版本中的内容。

在一示例性实施例中,若所述查询条件包括目标对象实例的信息,所述数据查询请求还包括目标数据描述信息和目标数据取值条件,所述目标数据描述信息为所述目标对象实例对应的目标元数据版本的元数据中的任一数据描述信息;

根据所述目标数据描述信息,筛选数据取值匹配于所述目标数据取值条件的内容版本的内容作为目标内容版本的内容,所述目标数据取值条件与所述目标数据描述信息对应的属性信息相同。

在本说明书实施例中,当需要查询满足某一数据描述信息对应的内容的数据取值条件的数据时,例如需要查询年龄为18的员工的数据,则需要通过搜索引擎来对内容进行查询,所述查询条件可根据用户需求进行叠加。其中,当多个内容版本的内容在数据库中存储时,会冗余一份至搜索引擎中,因此所述搜索引擎中存储有所有内容版本的内容,且每一个对象设有对应的内容记录。

具体的,假设查询满足数据描述信息“年龄”对应的数据取值为“=18”的数据,首先用户指定“员工”这一目标对象,当搜索引擎接收到查询的条件时,从元数据存储空间中获取目标元数据版本的元数据,并将从中获取与待查询的数据描述信息相关的属性信息、内容还原公式和类型信息,通过获取到信息,分别为“属性B”、“属性E-属性D”和“数字”类型。搜索引擎根据属性信息从“员工”对应的内容记录中确定“属性B”对应的各个内容版本的数据取值,进行内容公式运算得到字段取值,将得到的多个内容版本对应的“属性B”的字段取值与条件“=18”进行对比,筛选并记录符合条件的内容版本ID,所述内容版本ID用于查找目标内容版本的内容。

在一示例性实施例中,所述搜索引擎可以为elasticsearch、Solr等用于实现搜索查询的平台,本说明书对此不作限制。

S103,将所述目标元数据版本的元数据和所述目标内容版本的内容进行组合并返回。

当获取匹配于查询条件的目标元数据版本的元数据和目标内容版本的内容后,将所述目标元数据版本的元数据和所述目标内容版本的内容进行组合,并将组合后得到的数据反馈给用户。

在一示例性实施例中,如图3A所示,在元数据版本中,数据描述信息和属性信息是相对应的,因此可推出目标元数据版本的元数据包括数据描述信息和与数据描述信息对应的属性信息。如图3B所示,在内容版本中,数据取值与属性信息也是相对应的,因此可推出所述目标内容版本的内容包括数据取值和与数据取值对应的属性信息。

由于在目标元数据版本的元数据中数据描述信息和属性信息对应,在标内容版本的内容中数据取值与属性信息也对应,按照属性信息对所述目标元数据版本的元数据和所述目标内容版本的内容进行分组,其中每组数据包含对应于相同属性的数据描述信息和数据取值。

举例而言,如图3A所示,所述员工元数据版本1中包括属性信息分别为属性A~属性F,每一个属性对应不同的数据描述信息;如图3B所示,各个内容版本中也包括了属性信息,分别为属性A~属性F,每一个属性对应不同的数据取值,假设目标元数据版本为员工元数据版本1,目标内容版本为员工A内容版本1,分别将员工元数据版本1和员工A内容版本1中属性A对应的数据还原信息“姓名”与数据取值“张三”进行组合,以此类推,将其余属性信息对应的数据还原信息和数据取值进行组合,得到如图4所示的组合后的数据,图4为本说明书根据一示例性实施例示出的组合数据的示意图,需要指出的是,图4中省略了图3B中员工B内容版本1和员工A内容版本2组合后的数据,在实际展示界面中,会将经公式还原后的多个目标内容版本的内容中的数据取值进行统一对应集中展示。

具体的,在一示例性实施例中,当对任一组数据,即数据还原信息和数据取值进行组合时,可分为以下两种情况:

(1)若所述任一组数据中的数据描述信息未包含内容还原公式,则将该任一组数据中的数据描述信息作为字段、该任一组数据中的数据取值作为字段取值进行组合。

(2)若所述任一组数据中的数据描述信息包含内容还原公式,则根据所述内容还原公式从所述目标内容版本的内容中确定所涉及的数据取值进行计算,并将该任一组数据中的数据描述信息作为字段、计算结果作为字段取值进行组合。

其中,所述内容还原公式用于计算组合时数据取值的最终显示结果。具体的,假设目标元数据版本为员工元数据版本1,目标内容版本为员工A内容版本1,则由图3A可知,属性A,属性C和属性D对应的数据描述信息不包含内容还原公式,因此如图4所示,属性A,属性C和属性D对应的字段取值与图3B中的数据取值相同。

相对的,在图3A中,属性B,属性E和属性F对应的数据描述信息包含内容还原公式,则需要先通过内容还原公式进行计算得到字段取值后再进行组合。例如对“主管”这一数据描述信息进行设置,由于还原的数据描述信息为对象类型,数据取值中存储有对象实例对应的唯一标识,因此需要还原所述对象实例的属性A的数据取值,即显示员工B的属性A对应的数据取值,最终字段取值为“李四”。再对“当前年份”和“年龄”两个数据描述信息对应的数据取值进行计算,即可得到如图4所示的属性B,属性E和属性F对应的具体字段取值。其中,用户可根据自己的需求设置内容还原公式,本说明书对此不作限制。

通过组合目标元数据和目标内容,获取完整的组合数据,其中,通过内容还原公式对最终的字段取值进行调整,准确计算数据,从而无需用户进行对比计算,以及存储时手动输入多项数据取值,大大提升了用户的良好体验。

在一示例性实施例中,用户可在展示界面指定展示字段来对部分字段和字段取值进行屏蔽,以集中显示需要展示的数据。具体的,可通过对每个字段设置隐藏选项或是设置字段的选项池,从中选择需要隐藏的字段来实现隐藏,本说明书对具体的实现方案不作限制。

在一示例性实施例中,所述元数据中包含数据描述信息对应的类型信息,所述类型信息包括:数字、文本、日期、选项、文件、对象等,可由用户自主选择。其中,若所述目标元数据版本的元数据中的任一数据描述信息的类型为对象,则在所述目标内容版本的内容中确定该对象的唯一标识,以该唯一标识为查询条件进行查询,并将得到的查询结果作为所述任一数据描述信息所属分组对应的二级内容。其中,所述二级内容在所述任一数据描述信息所属分组对应的字段取值被触发后进行展示。

举例而言,图5为本说明书根据一示例性实施例示出的一种二级内容展示的示意图。如图5所示,在对象实例员工A(张三)的组合数据中,字段“主管”在组合前对应的类型为对象类型的数据描述信息,对应的字段取值在还原为“李四”前存储的是对象实例员工B的唯一标识,通过对所述对象实例员工B进行目标元数据版本和目标内容版本的关联查询,可得到员工B的组合数据,并且可通过触发展示详情的形式具体展现在数据界面上,用户可以通过点击“详情”或是将光标移至“详情”处以触发员工B的详情信息界面。实现快速查询相关对象实例的具体数据的功能,无需反复通过输入条件查询,提升用户体验。

在一示例性实施例中,根据数据描述信息对应的类型信息,分别将不同类型的元数据和对应的内容在逻辑处理器中进行处理,通过内容还原公式进行数据的还原,并通过转化器进行对应的类型格式转换以进行展示。

在一示例性实施例中,在对组合数据进行展示时,对于展示的每一个对象实例对应的每一个生效日期下的组合数据,可将该对象实例的历史组合数据和未生效的组合数据与展示的组合数据进行关联,具体可作为二级内容存储在展示的组合数据的字段取值中,通过触发详情可查看某一对象实例在其他生效日期下的组合数据,其中,关联的每一个组合数据都为该对象实例在同一个生效日期下的元数据版本的元数据和内容版本的内容的组合数据。具体的,可通过由用户指定生效日期展示与生效日期对应的组合数据。

在一示例性实施例中,用户可通过输入某一数据描述信息和排序规则,使得查询得到的组合数据根据所述排序规则进行排列。举例而言,假设当前界面展示“员工”这一对象的所有对象实例在某一生效日期下的组合数据,当用户输入数据描述信息“姓名”,并设置对应的排序规则为“A至Z”,则当前页面展示的所有对象实例的组合数据根据针对“姓名”的排序规则重新排列,使数据更加整齐,方便用户浏览。

需要指出的是,本说明书附图中的展现形式仅为本说明实施例可实现的多种展现形式中的一种,还可以通过文稿等方式进行展现,本领域技术人员可根据需求选择合适的展现形式,本说明书对此不作限制。

在本说明书实施例中,存储空间中存储有至少一个对象对应的多个元数据版本的元数据和多个内容版本的内容,所述多个元数据版本的元数据分别对应于不同的元数据生效日期,且所述多个内容版本的内容分别对应于不同的内容生效日期,通过接收针对于存储空间的数据查询请求,在所述存储空间中查询匹配于所述查询条件的目标元数据版本的元数据和目标内容版本的内容,组合后返回查询结果,将元数据和内容的版本化精确到生效日期,实现了对元数据和内容的历史版本的并存,以及对目标元数据版本的元数据和目标内容版本的内容的准确查询。

与前述方法的实施例相对应,本说明书还提供了装置的实施例。

如图6所示,图6是本说明书根据一示例性实施例示出的一种数据查询装置的框图,所述装置包括:

查询单元601,用于接收针对存储空间的数据查询请求,所述存储空间中存储有至少一个对象对应的多个元数据版本的元数据和多个内容版本的内容;其中,所述多个元数据版本的元数据分别对应于不同的元数据生效日期,所述多个内容版本的内容分别对应于不同的内容生效日期;

匹配单元602,用于根据所述数据查询请求所指示的查询条件,从所述存储空间中查询匹配于所述查询条件的目标元数据版本的元数据和目标内容版本的内容;

组合单元603,用于将所述目标元数据版本的元数据和所述目标内容版本的内容进行组合并返回。

在一示例性实施例中,所述存储空间包括相互独立的元数据存储空间和内容存储空间,所述元数据存储空间用于存储各个版本的元数据,所述内容存储空间用于存储各个版本的内容。

在一示例性实施例中,所述查询条件包括以下至少之一:目标对象实例的信息、目标时刻;其中:

若所述查询条件包括目标对象实例的信息,则所述目标元数据版本的元数据包括属于所述目标对象实例的所有版本的元数据,所述目标内容版本的内容包括属于所述目标对象实例的所有版本的内容;

若所述查询条件包括目标时刻,则所述目标元数据版本的元数据包括相应生效日期与所述目标时刻最接近但不晚于所述目标时刻的元数据,所述目标内容版本的内容包括相应生效日期不晚于所述目标时刻的内容。

在一示例性实施例中,所述目标元数据版本的元数据包括数据描述信息和与数据描述信息对应的属性信息,所述目标内容版本的内容包括数据取值和与数据取值对应的属性信息;

所述将所述目标元数据版本的元数据和所述目标内容版本的内容进行组合,包括:

按照属性信息对所述目标元数据版本的元数据和所述目标内容版本的内容进行分组,其中每组数据包含对应于相同属性的数据描述信息和数据取值;

分别对各组数据进行组合。

在一示例性实施例中,若所述查询条件包括目标对象实例的信息,所述数据查询请求还包括目标数据描述信息和目标数据取值条件,所述目标数据描述信息为所述目标对象实例对应的目标元数据版本的元数据中的任一数据描述信息;

根据所述目标数据描述信息,筛选数据取值匹配于所述目标数据取值条件的内容版本的内容作为目标内容版本的内容,所述目标数据取值条件与所述目标数据描述信息对应的属性信息相同。

在一示例性实施例中,对任一组数据进行组合,包括:

若所述任一组数据中的数据描述信息未包含内容还原公式,则将该任一组数据中的数据描述信息作为字段、该任一组数据中的数据取值作为字段取值进行组合;

若所述任一组数据中的数据描述信息包含内容还原公式,则根据所述内容还原公式从所述目标内容版本的内容中确定所涉及的数据取值进行计算,并将该任一组数据中的数据描述信息作为字段、计算结果作为字段取值进行组合。

在一示例性实施例中,所述元数据中包含数据描述信息对应的类型信息,所述方法还包括:

若所述目标元数据版本的元数据中的任一数据描述信息的类型为对象,则在所述目标内容版本的内容中确定该对象的唯一标识,以该唯一标识为查询条件进行查询,并将得到的查询结果作为所述任一数据描述信息所属分组对应的二级内容;

其中,所述二级内容在所述任一数据描述信息所属分组对应的字段取值被触发后进行展示。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

图7是根据本说明书一示例性实施例示出的一种电子设备的结构示意图。参考图7,在硬件层面,该电子设备包括处理器701、内部总线702、网络接口703、内存704以及非易失性存储器705,当然还可能包括其他业务所需要的硬件。处理器701从非易失性存储器705中读取对应的计算机程序到内存704中然后运行。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现如前述任一实施例示出的一种数据查询方法。

在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

相关技术
  • 一种数据查询方法、装置、电子设备及存储介质
  • 一种数据查询方法、装置、电子设备及存储介质
  • 一种元数据查询方法、装置、设备及计算机可读存储介质
  • 一种电子发票的查询方法、装置、设备和存储介质
  • 一种非定点对象查询方法、装置、终端设备及存储介质
  • 数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质
  • 数据存储设备、数据查询方法、装置、服务器及存储介质
技术分类

06120116481555