一种数据处理方法、装置及设备与流程

摘要: 本技术涉及数据库领域,尤其涉及一种数据处理方法、装置及设备。背景技术:1、通过数据库(database,db)可以实现对数据的高效管理以及存储。用户将自身的数据...
一种数据处理方法、装置及设备与流程

本技术涉及数据库领域,尤其涉及一种数据处理方法、装置及设备。

背景技术:

1、通过数据库(database,db)可以实现对数据的高效管理以及存储。用户将自身的数据存储在数据库中,还可以通过数据库对已存储的数据进行增、删、查、改等数据处理操作。

2、较常见的数据库为关系型数据库,用户可以通过结构化查询语言(structuredquery language,sql)对关系型数据库进行数据查询,以实现增、删、查、改等数据处理操作。sql是一类成熟、且应用广泛的查询语言。

3、用户使用sql对关系型数据库进行数据查询,要求用户明确数据库内部数据组织形式,如数据表的表名、数据表所包含的各个字段。对用户的要求较高。且对于一些复杂的数据处理操作,sql的表述也更加复杂,用户在使用sql描述该数据处理操作时容易出错。可见,基于sql对关系型数据库进行数据查询的方式效率较低。

技术实现思路

1、本技术实施例提供的一种数据处理方法、装置及设备,用于提升针对数据库的数据查询效率。

2、第一方面,本技术实施例提供了一种数据处理方法,该方法可由数据处理设备,数据处理设备上部署有关系型数据库,在该方法中:数据处理设备接收由第一用户触发的第一查询指令,第一查询指令为基于对象查询语言oql的指令,也即该第一查询指令为使用oql语言的指令。第一查询指令指示针对第一对象执行第一操作。

3、数据处理设备在接收到第一查询指令后,实现从oql到sql的转换,将第一查询指令转换为第二查询指令,第二查询指令为sql的指令,第二查询指令用于指示针对目标表执行第一操作,目标表为关系型数据库中存储有第一对象的数据表。数据处理设备执行第二查询指令。

4、数据处理设备在执行第二查询指令时,针对目标表执行第一操作,获得第一查询结果。如当第一操作为增加操作时,第一查询结果指示增加成功或失败。如第一操作为查询操作时,第一查询结果指示查询到的数据。数据处理设备可以向第一用户反馈第一查询结果。

5、通过上述方法,面向用户,数据处理设备支持oql,第一用户可以通过oql告知数据处理设备所需要执行的第一操作以及需要操作的第一对象。相较于sql,oql语义更加丰富、且表述简单,采用oql的方式访问数据库的效率更高。另外,在数据处理设备中所部署的数据库为应用广泛的关系型数据库,数据处理设备自身具备从oql到sql转换能力,也即关系型数据库、从oql到sql转换能力集成在同一个数据处理设备中,这种关系型数据库的部署方式仅需关系型数据库所在的数据处理设备进行相应的升级,实现方式更加简单。并且关系型数据库、从oql到sql转换能力集成在一起,能够避免在数据库所在的设备之外部署用于实现从oql到sql转换能力的装置,减少部署难度,也能够有效避免该装置与数据库所在设备之间信息交互所带来的时延。

6、在一种可能的实现方式中,数据处理设备支持多用户的数据查询,也即该数据处理设备面向多个用户提供基于oql的数据库服务。例如,数据处理设备可以接收由第二用户触发的第三查询指令,第三查询指令为基于oql的指令,第三查询指令用于指示针对第二对象执行第一操作;数据处理设备将第三查询指令转换为第四查询指令,第四查询指令为基于sql的指令,第三查询指令用于指示针对目标表执行第一操作,目标表存储有第二对象;数据处理设备执行第四查询指令,获取第二查询结果,数据处理设备可以向第二用户反馈第二查询结果。

7、通过上述方法,面向用户,数据处理设备能够向多个不同的用户提供数据库服务,也即不同的用户基于oql可以访问数据库,实现数据查询,应用场景更加广泛。在数据处理设备内部不同用户的数据(如第一对象、第二对象)可以存储在相同的数据表中,有效节约了存储空间,便于数据处理设备对不同用户的数据进行管理。

8、在一种可能的实现方式中,数据处理设备包括有至少一个用户的对象元数据,对象指示了对象与关系型数据库中数据表的映射关系,数据处理设备在将第一查询指令转换为第二查询指令时,从至少一个用户的对象元数据中获取第一用户的对象元数据;数据处理设备根据第一用户的对象元数据,将第一查询指令转换为第二查询指令。

9、通过上述方法,数据处理设备存储有第一用户的对象元数据,保证数据处理设备能够准确地将第一查询指令转换为第二查询指令。

10、在一种可能的实现方式中,第一查询指令携带有第一用户的信息。这样,数据处理设备在接收到第一查询指令后,利用第一用户的信息从所保存的指示一个用户的对象元数据中确定第一用户的对象元数据。

11、在一种可能的实现方式中,第一查询指令携带有标识符,标识符用于标识第一查询指令为基于oql的指令。这样,数据处理设备在接收到第一查询指令后,通过识别该标识符可以快速确定出该第一查询指令为基于oql的指令。当然,数据处理设备也可以通过其他方式来确定第一查询指令为基于oql的指令,例如,数据处理设备具有语法分析能力,能够通过分析第一查询指令的语法结构确定该oql为基于oql的指令。

12、在一种可能的实现方式中,数据处理设备可以保存第一查询指令以及第二查询指令。

13、当数据处理设备接收由第一用户触发的第六查询指令,第六查询指令为基于oql的指令,第六查询指令用于指示针对第一对象执行第一操作。

14、数据处理设备在第六查询指令与所第一查询指令一致的情况下,不需要对第六查询指令进行转换,获取保存的第二查询指令,并执行第二查询指令。

15、通过上述方法,数据处理设备可以保存已转换的第二查询指令,在后续接收到相同的查询指令时,不需要执行转换操作,直接获取并执行已保存的第二查询指令,减少转换操作所引起的耗时,提升针对数据库的查询效率。

16、在一种可能的实现方式中,第一用户的对象元数据所包括的信息有很多种,举个例子,第一用户的对象元数据可以包括下列的部分或全部:第一对象所在的目标表、第一对象的各个属性与目标表中各个字段的对应关系、第一对象的各个属性的长度和/或精度。

17、需要说明的是,本技术中“a和/或b”代表了三种可能分别为:a、b、a和b。

18、通过上述方法,第一用户的对象元数据所包括的信息类型较多,便于数据处理装置利用第一用户的对象元数据确定第一对象所在的目标表,以及该第一对象在目标表中对应的各个字段。

19、第二方面,本技术实施例还提供了一种数据处理装置,该数据处理装具有实现上述第一方面的方法实例中行为的功能,有益效果可以参见第一方面的描述此处不再赘述。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,数据处理装的结构中包括接收模块、处理模块、执行模块,这些模块可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。

20、第三方面,本技术还提供了一种计算设备,计算设备包括处理器和存储器,还可以包括通信接口,处理器执行存储器中的计算机程序指令执行上述第一方面或第一方面任一可能的实现方式提供的方法。存储器与处理器耦合,其保存元数据访问过程中必要的计算机程序指令和数据。通信接口,用于与其他设备进行通信。

21、第四方面,本技术提供了一种计算设备系统,该计算设备系统包括至少一个计算设备。每个计算设备包括存储器和处理器。至少一个计算设备的处理器用于访问存储器中的计算机程序指令以执行第一方面或第一方面的任意一种可能的实现方式提供的方法。

22、第五方面,本技术提供了一种计算机可读存储介质,计算机可读存储介质被计算设备执行时,计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该存储介质中存储了计算机程序指令。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard disk drive,hdd)、固态硬盘(solid state drive,ssd)。

23、第六方面,本技术提供了一种计算设备程序产品,计算设备程序产品包括计算机程序指令,在被计算设备执行时,计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面的任意可能的实现方式中提供的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。

24、第七方面,本技术还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的计算机程序指令,执行上述第一方面以及第一方面的各个可能的实现方式中的方法。

25、上述第二方面至第七方面可以达到的技术效果,请参照上述第一方面中相应设计方案可以达到的技术效果的说明,本技术这里不再重复赘述。