CN115374109B - 数据访问方法、装置、计算设备和*** - Google Patents
数据访问方法、装置、计算设备和*** Download PDFInfo
- Publication number
- CN115374109B CN115374109B CN202210908140.3A CN202210908140A CN115374109B CN 115374109 B CN115374109 B CN 115374109B CN 202210908140 A CN202210908140 A CN 202210908140A CN 115374109 B CN115374109 B CN 115374109B
- Authority
- CN
- China
- Prior art keywords
- attribute
- combined
- data
- data table
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及计算机技术领域,公开了一种数据访问方法、装置、计算设备和***,该方法包括:若接收到对象访问请求,根据对象访问请求所指示目标对象的目标对象标识,获取目标对象对应的对象数据表,对象数据表包括目标对象在多个属性下的属性值,目标对象在多个属性下的属性值是按照目标对象所对应对象模型指示的各属性对应的数据处理方式,对各属性所对应的上报信息进行处理得到的;向客户端发送目标对象的对象数据表。本申请的方案可以通过一次请求获取到对象在多个属性下的属性值,提升了数据获取效率。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种数据访问方法、装置、计算设备和***。
背景技术
在工业物联网场景下,一个大型设备可能需要多个传感器来检测该设备多方面的参数,例如针对一个数控机床,需要通过温度传感器检测温度,通过转速传感器检测转速等。相关技术中,一般是将各传感器所检测到的上报信息存储到数据库中。在此基础上,如果需要获取到数据机床的温度和转速,则先根据数控机床的温度、转速所来源的传感器的设备标识,从数据库中获取温度和转速,然后再将温度和转速进行整合,最后将整合后的数据发送到访问方。该种数据存储方式,存在数据获取效率低的问题。
发明内容
本申请提供了一种数据访问方法、装置、计算设备和***,以解决相关技术中数据获取效率低的问题。
第一方面,提供了一种数据访问方法,包括:若接收对象访问请求,根据对象访问请求所指示目标对象的目标对象标识,获取目标对象对应的对象数据表,对象数据表包括目标对象在多个属性下的属性值,目标对象在多个属性下的属性值是按照目标对象所对应对象模型指示的各属性对应的数据处理方式,对各属性所对应的上报信息进行处理得到的;向客户端发送目标对象的对象数据表。
在本申请的方案中,通过对象的对象模型来指示对象的多个属性分别对应的数据处理方式,并按照各属性所对应的数据处理方式对该属性对应的上报信息进行处理,对应得到各属性的属性值,之后,将对象在多个属性下的属性值关联存储到对象数据表中。在此基础上,在接收到客户端发起的对象访问请求后,对应获取所请求访问的目标对象的对象数据表,并将对象数据表发送到客户端,由于对象数据表中包括对象在多个属性下的属性值,从而,实现了客户端可以通过发起一次请求获得对象在多个属性下的属性值,有效提升了对象在多个属性下的属性值的获取效率。
在一种可能的实现方式中,获取目标对象对应的对象数据表之前,该方法还包括:获取为对象配置的对象模型,对象模型指示了为对象定义的多个属性和各属性对应的数据处理方式;按照各属性对应的数据处理方式,对对象的各属性所对应的上报信息进行处理,得到对象在各属性下的属性值;将对象在多个属性下的属性值整合到对象对应的对象数据表中。
基于如上可能的实现方式,在对上报信息进行处理后将对象在多个属性下的属性值存储到对象数据表中,从而,在需要访问对象相关的数据后,不需要在接收到请求后才对上报信息进行处理、以及进行数据整合,大幅缩短了对对象访问请求的响应时长,进而保证数据获取效率,提升用户体验。
在一种可能的实现方式中,对象模型还指示了对象的各属性对应的来源设备标识;按照各属性对应的数据处理方式,对对象的各属性所对应的上报信息进行处理,得到对象在各属性下的属性值之前,该方法还包括:根据各属性对应的来源设备标识,在上报数据集中获取对象的各属性所对应的上报信息。
在一种可能的实现方式中,数据处理方式指示了原数据格式与目标数据格式之间的转换方式;按照各属性对应的数据处理方式,对对象的各属性所对应的上报信息进行处理,得到对象在各属性下的属性值,包括:确定一属性所对应上报信息所属的原数据格式;按照原数据格式与目标数据格式之间的转换方式,将属性所对应上报信息进行格式转换,得到属性对应于目标数据格式的属性值。
在一种可能的实现方式中,数据处理方式指示了属性值的提取方式;按照各属性对应的数据处理方式,对对象的各属性所对应的上报信息进行处理,得到对象在各属性下的属性值,包括:按照数据处理方式所指示的属性值的提取方式,从属性对应的上报信息中提取得到属性对应的属性值。
在一种可能的实现方式中,上报数据集中上报信息按照所来源设备进行分区存储;在该种情况下,可以按照如下的过程获取各属性对应的上报信息:根据设备标识与存储位置之间的对应关系和各属性对应的来源设备标识,进行设备标识匹配,以确定各属性所对应上报信息所在的存储位置;从各属性所对应上报信息所在的存储位置,获取各属性对应的上报信息。
基于如上可能的实现方式中,由于对上报信息按来源设备进行分区存储,便于进行上报信息的有序存储,而且,便于基于各属性对应的来源设备标识,快速获取到各属性对应的上报信息。
第二方面,提供了一种数据访问方法,包括:接收组合对象访问请求,组合对象访问请求包括目标组合对象的目标组合标识;根据目标组合标识,获取目标组合对象的组合对象视图;向客户端发送目标组合对象的组合对象视图;其中,目标组合对象的组合对象视图是根据目标组合对象所包括多个对象的对象数据表和目标组合对象所包括多个对象之间的关联关系生成的;对象的对象数据表包括对象在多个属性下的属性值,对象在多个属性下的属性值是按照对象所对应对象模型指示的各属性对应的数据处理方式,对各属性所对应的上报信息进行处理得到的。
在如上的可能的实现方式中,在为组合对象生成组合对象视图的基础上,可以响应于客户端发起的组合对象访问请求,向客户端返回目标组合对象的组合对象视图,这样,可以通过发起一次请求,获得与组合对象相关联的多个对象的数据,提升了数据获取效率。
在一种可能的实现方式中,该方法还包括:获取为组合对象配置的组合对象模型,组合对象模型指示了组合对象所包括的多个对象和多个对象之间的关联关系;获取组合对象所包括各对象对应的对象数据表;根据多个对象之间的关联关系和组合对象所包括多个对象分别对应的对象数据表,生成组合对象对应的组合对象视图。
基于如上的可能的实现方式,在以对象作为数据存储的单位的基础上,通过配置的组合对象模型,来将多个对象的对象数据表进行进一步的整合,得到组合对象的组合对象视图,这样,可以基于所生成的组合对象视图,为客户端提供组合对象视图的访问服务。
在一种可能的实现方式中,该方法还包括:生成访问接口,访问接口包括对象所对应对象数据表的第一访问接口和组合对象所对应组合对象视图的第二访问接口中的至少一项;发布所生成的访问接口。基于所发布的访问接口,在需要访问对象相关的数据时,可以通过第一访问接口获取到对象的对象数据表,以及在需要访问组合对象相关的数据时,可以通过第二访问接口获取到组合对象的组合对象视图。
在一种可能的实现方式中,该方法还包括:将对象对应的对象数据表和组合对象对应的组合对象视图,同步到云端的数据库。基于如上可能的实现方式,客户端也可以通过访问云端的数据库,以获取对象的对象数据表以及组合对象的组合对象视图。
第三方面,提供了一种数据访问装置,数据访问装置包括用于执行第一方面或第一方面任一种可能设计中的数据访问方法的各个模块;或者该数据访问装置包括用于执行第二方面或第二方面任一种可能设计中的数据访问方法中的各个模块。
第四方面,提供了一种处理器,处理器用于执行第一方面或第一方面任一种可能设计中的数据访问方法的操作步骤;或者用于执行第二方面或第一方面任一种可能设计中的数据访问方法的操作步骤。
第五方面,提供一种计算设备,该计算设备包括至少一个处理器和存储器,存储器用于存储一组计算机指令;当处理器作为第一方面或第一方面任一种可能实现方式中的执行设备执行一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的数据访问方法的操作步骤;或者,当处理器作为第二方面或第二方面任一种可能实现方式中的执行设备执行一组计算机指令时,执行第二方面或第二方面任一种可能实现方式中的数据访问方法的操作步骤
第六方面,提供一种计算机可读存储介质,包括:包括存储器和处理器,存储器用于存储一组计算机指令;当处理器执行一组计算机指令时,实现如第一方面或第一方面任意一种可能的实现方式中数据访问方法的操作步骤;或者,实现如第二方面或第二方面任意一种可能的实现方式中数据访问方法的操作步骤。
第七方面,提供了一种数据访问***,包括:数据采集设备,用于采集对象在多个属性下的上报信息,并将所述上报信息发送到计算设备;计算设备,用于根据对象在多个属性下的上报信息,实现如第一方面或第一方面任意一种可能的实现方式中的数据访问方法;或者实现如第二方面或第二方面任意一种可能的实现方式中的数据访问方法。
第八方面,提供一种计算机程序产品,当计算机程序产品在计算设备上运行时,使得计算设备执行如第一方面或第一方面任意一种可能的实现方式中数据访问方法的操作步骤;或者,执行如第二方面或第二方面任意一种可能的实现方式中数据访问方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的一种数据访问***的示意图;
图2为本申请提供的一种数据访问方法的流程图;
图3为本申请提供的一种根据对象模型建立对象数据表和生成访问接口的示意图;
图4为本申请提供的一种生成组合对象视图的流程图;
图5为本申请提供的一种根据组合对象模型生成组合对象视图以及生成访问接口的示意图;
图6为本申请提供的一种数据访问***的示意图;
图7为本申请提供的一种数据处理的流程图;
图8为本申请提供的一种数据访问装置的框图;
图9为本申请提供的一种计算设备的结构示意图。
具体实施方式
为了便于理解,首先对本申请涉及的术语进行具体说明:
对象:其可以是实际的事物,也可以是逻辑上的概念,例如,对象可以是工业设备、基站、服务器、服务器集群、智能家居***、车载***等。
组合对象:是指多个对象组合形成的集合体,例如,若将智能电视、智能音箱、智能灯泡分别作为一个对象,则包括智能电视、智能音箱和智能灯泡的智能家居***可以视为一个组合对象。
视图:是指数据库中的虚拟表,其内容由查询定义,也可以理解为,视图是存储在数据库中的查询的结构化查询语言(Structured Query Language,SQL)语句。同真实的数据表一样,视图包括一系列带有名称的行和列数据,但是,视图在数据库中并不以存储的数据值的形式存在,视图中的行数据和列数据来自定义视图的查询所应用的数据表,并且在应用视图时动态生成。真实的数据表只用物理存储空间而视图不占用物理存储空间,视图只是逻辑概念的存在,数据表可以即时修改,但视图只能通过修改创建的语句来修改。
在工业物联网场景下,如果将各传感器针对设备所检测到的属性值分别存储到数据库中,在需要获取设备多个属性的属性值的情况下,需要多次访问数据库,甚至更进一步的将多次访问数据库获取到的设备的多个属性的属性值进行整合处理,这样存在数据获取效率低的问题。为解决该问题,提出了本申请的方案。
在本申请的方案中,通过对象的对象模型来指示对象的多个属性分别对应的数据处理方式,并按照各属性所对应的数据处理方式对该属性对应的上报信息进行处理,对应得到各属性的属性值,之后,将对象在多个属性下的属性值关联存储到对象数据表中。在此基础上,在接收到客户端发起的对象访问请求后,对应获取所请求访问的目标对象的对象数据表,并将对象数据表发送到客户端,由于对象数据表中包括对象在多个属性下的属性值,从而,实现了客户端可以通过发起一次请求获得对象在多个属性下的属性值,有效提升了对象在多个属性下的属性值的获取效率。
下面,结合附图详细对本申请所要保护的技术方案。
图1是根据本申请一实施例示出的数据访问***的示意图,如图1所示,该数据访问***包括终端110和与终端110通信连接的服务器120。终端110可以是智能手机、平板电脑、笔记本电脑、台式电脑、车载设备、服务终端等,在此不进行具体限定。服务器120可以是物理服务器,也可以是云服务器。
服务器120中部署了数据库,数据库中存储了对象的对象数据表等数据,基于此,服务器120可以面向终端提供与对象相关的数据访问服务,即服务器120在接收到终端110发起的对象访问请求后,根据对象访问请求所指示的目标对象标识,从数据库中获取目标对象对应的对象数据表,并向终端110返回目标对象的对象数据表。
在本申请中,数据库中所存储对象的数据表中包括对象在多个属性下的属性值。其中,对象在多个属性下的属性值是按照对象所对应对象模型中为各属性所配置的数据处理方式,对属性所对应的上报信息进行处理得到。
对象的属性是指用于描述对象的参数,例如,属性可以是温度、湿度、工作时长、转速等。一个对象可以在多个属性下进行描述。举例来说,若对象为数控机床,对象的属性可以是温度、湿度、转速、工作电压、工作电流、连续工作时长等。
对象的对象模型可以在管理员客户端进行模型配置得到,即用户可以在管理员客户端定义用于描述对象的属性、以及各属性对应的数据处理方式,之后,管理员客户端对应将配置得到的对象模型上传到服务器120。
该数据访问***还数据采集设备130,对象的各属性所对应的上报信息可以由数据采集设备进行数据采集得到,数据采集设备130例如各类传感器(温度传感器、湿度传感器、转速传感器)、图像采集设备、电流表、电压表、流量表等。数据采集设备130将上报信息上报到服务器后,服务器120可以按照为对象配置的对象模型,按照各属性对应的数据处理方式,对各属性对应的上报信息进行处理,得到对象在各属性下对应的属性值;之后,对应将对象在多个属性下的属性值整合到对象的对象数据表中。
在此基础上,服务器120基于所存储对象的对象数据表,可以面向终端提供数据访问服务,若服务器120接收到终端110发送的对象访问请求,对应从数据库获取所请求访问对象的对象数据表,由于对象数据表中包括对象在多个属性下的属性值,从而,终端110可以通过发起一次访问请求,获取对象在多个属性下的属性值,由此,可以提高数据获取效率。
进一步的,用户还可以在管理员客户端配置组合对象的组合对象模型,该组合对象模型用于指示组合对象所包括的多个对象,以及多个对象之间的关联关系。在管理员客户端将组合对象的组合对象模型发送到服务器120之后,服务器120可以对应按照该组合对象模型所指示组合对象包括的多个对象,对应获取组合对象所包括各对象的对象数据表,并按照组合对象模型所指示多个对象之间的关联关系,根据组合对象所包括各对象的对象数据表,生成组合对象的组合对象视图。这样,若终端110向服务器120发起组合对象访问请求,服务器120可以获取该组合对象的组合对象视图并将组合对象视图发送到终端110。这样,终端110通过发起一次访问请求,可以获取到与组合对象相关联的多个对象的数据,提升了数据获取效率。
图2为本申请提供的一种数据访问方法的流程图,该数据访问方法可以由图1中的服务器执行,当然,还可以由其他具备处理能力的计算设备执行。如图2所示,该方法至少包括步骤210-230,详细介绍如下:
步骤210,接收发起的对象访问请求,对象访问请求包括目标对象的目标对象标识。
对象访问请求是指用于访问与对象相关的数据的请求,在本申请中,将对象访问请求所请求访问的数据对应的对象称为目标对象,目标对象标识是指用于唯一标识目标对象。
步骤220,根据目标对象标识,获取目标对象对应的对象数据表,对象数据表包括目标对象在多个属性下的属性值,目标对象在多个属性下的属性值是按照目标对象所对应对象模型指示的各属性对应的数据处理方式,对各属性所对应的上报信息进行处理得到的。
对象的属性是指用于描述对象的参数,对应的,对象在属性下的属性值也可以理解为所对应参数的参数值;属性例如温度、湿度、转速等。不同的对象,用于描述对象的属性也存在差异。
一般通过传感器等数据采集设备来面向对象进行信息采集,从而得到对象在各属性下对应的上报信息;属性对应的上报信息也可以理解为数据采集设备中所采集到用于指示所对应属性值的采集信息。数据采集设备可以将所采集到的上报信息发送到服务器中进行暂存,以便于后续基于对象模型中各属性对应的数据处理方式对上报信息进行进一步处理。
由于数据采集设备的数据格式与数据库中要求的数据存储格式,或者数据采集设备所采集到的数据的单位与数据库中针对该属性要求的单位不同,或者针对一属性下的属性值,需要通过多个数据采集设备所采集到的信息进一步计算得到,该种情况下,可能需要将属性对应的上报信息进行进一步处理,将进一步处理所得到的处理结果作为该属性对应的属性值。将从属性对应的上报信息到属性值之间的处理方式称为属性对应的数据处理方式。数据处理方式例如将摄氏温度转换为华氏温度的转换方式,又例如,将浮点型数据转换为整型数据的转换方式。
在本申请中,可以预先根据实际需要,例如针对各对象所要关注的属性、以及数据库所要求的数据存储格式、数据采集设备所采集到数据的格式和单位等,来定义对象的多个属性、以及为各属性配置对应的数据处理方式。用户根据需要定义对象的多个属性、以及为各属性配置对应的数据处理方式的过程即为配置对象的对象模型的过程。在具体实施例中,该对象模型的载体可以是JSON格式的配置文件,之后将所配置的对象模型发送到服务器。
在一些实施例中,可以通过如下的步骤201-203的过程来根据属性对应的上报信息确定对象在属性下的属性值,并将多个属性下的属性值更新到对象对应的数据表中。具体的:
步骤201,获取对象的对象模型;其中,对象模型指示了为对象定义的多个属性和各属性对应的数据处理方式。
对象的对象模型可以在管理员客户端进行配置得到,其后,将对象的对象模型与该对象的对象标识进行关联存储在服务器中,之后,可以对应根据对象的对象标识从服务器中获取到对象的对象模型。
图2中示例性示出了一对象模型中为对象定义的多个属性(即属性1~属性m,m为大于1的整数)以及为各属性配置的数据处理方式(即数据处理方式B1~Bm)。在具体实施例中,对象模型中为对象配置的属性、以及对象的数据处理方式可根据实际需要进行配置。进一步的,在图2所示的对象模型中还定义了各属性对应的类型,该类型用于指示属性所对应属性值在对象数据表中的数据类型,数据类型包括整型和浮点型,这样,在确定各属性对应的属性值后,可以按照对象模型所指示各属性对应的类型,将属性值存储到对象的对象数据表中。
步骤202,按照各属性对应的数据处理方式,对对象的各属性所对应的上报信息进行处理,得到对象在各属性下的属性值。
如上所描述,属性对应的上报信息可以是数据采集设备采集到的,并由采集设备上报到服务器中。从而,服务器可以对应获取到各属性对应的上报信息。
在本申请的一些实施例中,对象模型还指示了对象的各属性对应的来源设备标识;步骤202之前,该方法还包括:根据各属性对应的来源设备标识,在上报数据集中获取对象的各属性所对应的上报信息。
属性对应的来源设备标识是指属性对应的上报信息所来源设备的设备标识。上报数据集中各上报信息与所来源设备的设备标识相关联,由此,基于对象模型中各属性对应的来源设备标识和上报数据集中各上报信息所来源设备的设备标识进行设备标识匹配,从而确定各属性对应的上报信息。
在本申请的一些实施例中,上报数据集中上报信息按照所来源设备进行分区存储;在本实施例中,可以按照如下的过程来获取各属性对应的上报信息:基于设备标识与存储位置之间的对应关系和各属性对应的来源设备标识,确定各属性所对应上报信息所在的存储位置;从各属性所对应上报信息所在的存储位置,获取各属性对应的上报信息。
也就是说,预先设定各设备的上报信息在服务器中的存储位置,并将为设备设定的存储位置和该设备对应的设备标识关联存储。此后在服务器接收到一设备发送的上报信息后,对应将该上报信息存储到对应的存储位置处。在此基础上,基于对象模型中各属性对应的来源设备标识,从与该来源设备标识相关联的存储位置处获取该属性对应的上报信息。
在一些实施例中,属性对应的数据处理方式可以是数据格式之间的转换方式,即数据处理方式指示了原数据格式与目标数据格式之间的转换方式;在本实施例中,步骤202包括:确定一属性所对应上报信息所属的原数据格式;按照原数据格式与目标数据格式之间的转换方式,将属性所对应上报信息进行格式转换,得到属性对应于目标数据格式的属性值。
在一些实施例中,数据处理方式可以指示多种原数据格式与目标数据格式之间的转换方式,在该种情况下,可以先识别一属性所对应上报信息所属的原数据格式,之后,对应按照该属性所对应上报信息所属的原数据格式与目标格式之间的转换方式,将该属性所对应上报信息进行格式转换,得到该属性对应的属性值。
在另一些实施例中,数据处理方式可以指示一种原数据格式与目标数据格式之间的转换方式,在该种情况下,服务器确定该属性所对应上报信息所属的数据格式为该属性所对应数据处理方式所指示的原数据格式,则对应按照数据处理方式所指示的转换方式进行格式转换,对应得到该属性对应的属性值。反之,如果服务器确定该属性所对应上报信息所属的数据格式不是该属性所对应数据处理方式所指示的原数据格式,则可以向管理员客户端发送提示信息。可以理解的是,如果该属性所对应上报信息所属的数据格式不是该属性所对应数据处理方式所指示的原数据格式,而仍然按照数据处理方式所指示的转换方式进行格式转换,会导致所得到的属性值不准确。
在另一些实施例中,属性对应的数据处理方式可以是从所对应的上报信息中提取属性值的提取方式。在该种情况下,步骤202包括:按照属性对应的提取方式,从属性对应的上报信息中提取得到属性对应的属性值。
举例来说,在一些室内环境中,例如实验室中,可能需要关注多个试验设备的工作状态(对应的,试验设备即为对象,工作状态即为属性)、或者试验设备中某一组件的状态,在实验室中部署了进行图像采集的图像采集设备,则工作状态对应的上报信息为图像采集设备所采集到包括试验设备的图像;在该种情况下,属性对应的数据处理方式可以是从包括试验设备的图像中识别试验设备的工作状态的识别方式。在具体实施例中,不同属性对应的上报信息可以是相同的,即相当于,从同一上报信息中提取至少两个属性的属性值。
又例如,基于包含试验设备的图像,除了识别试验设备的工作状态外,还可以识别试验设备的腐蚀程度(该腐蚀程度与试验设备中被腐蚀区域的面积大小呈正相关关系)、以及识别试验设备的润滑油的状态;在该种情况下,从包含试验设备的图像这一上报信息中,提取了三个属性的属性值,该三个属性分别为试验设备的工作状态、试验设备的腐蚀程度、试验设备中润滑油的状态。在其他实施例中,不同属性对应的上报信息也可以不同。
在具体实施例中,一属性对应的上报信息可以来源于一个数据采集设备,也可以来源于多个数据采集设备。在一属性对应的上报信息来源于多个数据采集设备的情况下,通过该属性对应的数据处理方式,对该属性对应的多个上报信息进行进一步处理和计算,来获得该属性对应的属性值。
步骤203,将对象在多个属性下的属性值整合到对象对应的对象数据表中。
对象对应的对象数据表是根据该对象的对象模型构建的。具体的,可以根据对象模型中所设定对象的多个属性,在对象数据表中设置用于表示对象的各属性的属性字段,以及用于表示属性值的字段,从而,在获得对象在多个属性下的属性值后,可以对应将属性值存储到表示属性值的字段下。进一步的,如果对象模型还指示了属性对应的来源设备标识,在对象数据表中也可以对应存储属性值所来源的设备标识。
在具体实施例中,数据采集设备可能是间隔进行信息采集,并持续向服务器发送上报信息,其中,上报信息中携带时间戳,该时间戳用于指示数据采集设备采集到该上报信息的时间。在该种情况下,还可以将时间戳和多个属性在该时间戳下的属性值关联整合到对象数据表中。
在本申请的一些实施例中,在根据对象对应的对象模型创建对象的对象数据表之后,可以生成该对象数据表的访问接口,其中,对象数据表的访问接口也可以理解为对象数据表的统一资源定位符(Uniform Resource Locator,URL)。之后,对外发布对象所对应对象数据表的访问接口,以及将访问接口与对象的对象标识进行关联存储。在此基础上,在步骤220中,可以根据目标对象的目标对象标识,获取与目标对象标识相关联的访问接口,并对应根据与目标对象标识相关联的访问接口,获取目标对象的对象数据表。这样,相当于至直接提供了对象所对应对象数据表的访问地址,由此,可以根据对象访问请求中的目标对象标识,获取到对象数据表的访问地址,而不需要先通过查找对象数据表的数据表标识(例如数据表名),然后再通过数据表标识查找数据表的访问地址,可以进一步提升访问对象数据表的效率。
图3为本申请提供的一种根据对象模型建立对象数据表和生成访问接口的示意图。如图3所示,对象模型310中定义了各对象的属性,以及各属性对应的数据类型,例如,针对“temperature”这一属性,所设定的该属性对应的数据类型为“int”,该对象模型还定义了各属性对应的数据处理方式,之后,基于该对象模型,生成用于创建对象数据表的第一SQL语句320,之后,执行第一SQL语句320,以创建该对象的对象数据表330;这样,在通过图2对应实施例的步骤203中,可以将所获得对象在多个属性下的属性值整合到为该对象建立的对象数据表中。之后,生成对象数据表330的访问接口;这样,在图2对应实施例的步骤220中,可以基于目标对象标识,确定与目标对象标识相关联的访问接口,并对应根据该访问接口获取目标对象的对象数据表。
在接收到新的上报信息流340后,对应根据该对象的对象模型所指示各属性对应的数据处理方式,对上报信息流340中各上报信息进行处理,得到对象在各属性下的属性值。之后,在对象的多个属性在同一时间戳下的属性值整合到对象数据表330中,以更新对象数据表中的数据。
步骤230,向客户端发送目标对象的对象数据表。
由于对象数据表中包括对象在多个属性下的属性值,因此,用户根据客户端所接收到的对象数据表,可以知晓目标对象多方面的信息。
在本申请的方案中,通过对象的对象模型来指示对象的多个属性分别对应的数据处理方式,并按照各属性所对应的数据处理方式对该属性对应的上报信息进行处理,对应得到各属性的属性值,之后,将对象在多个属性下的属性值关联存储到对象数据表中。在此基础上,在接收到客户端发起的对象访问请求后,对应获取所请求访问的目标对象的对象数据表,并将对象数据表发送到客户端,由于对象数据表中包括对象在多个属性下的属性值,从而,实现了客户端可以通过发起一次请求获得对象在多个属性下的属性值,有效提升了对象在多个属性下的属性值的获取效率。而且,由于是在对上报信息进行处理后将多个属性值存储到对象数据表中,从而,在需要访问对象相关的信息后,不需要在接收到请求后才对上报信息进行处理、以及进行数据整合,大幅缩短了对对象访问请求的响应时长,进而保证数据获取效率,提升用户体验。
在一些应用场景下,可能会根据实际需要新增用于上报信息采集的数据处理设备,在该种情况下,如果按照现有技术中的数据存储方式,需要服务器中的程序进行更新,以保证服务器中的程序与新增的数据采集设备相适配,例如,保证服务器可以准确对新的数据采集设备所上报的上报信息进行准确解析。换言之,按照现有的数据存储方式,可能需要对服务器进行端到端的适配和软件升级才能支持访问到新增的数据采集设备所采集到的上报信息,存在新的数据采集设备上线难度大,和上线周期长的问题。
而采用本申请的方案,可以有效解决该问题,在需要新增数据采集设备的情况下,对应对对象的对象模型进行更新,这样,将新的数据采集设备所对应的上报信息,以及与新增的数据采集设备的上报信息相对应的属性、以及对应的数据处理方式进行更新,这样,可以预先通过对象模型来定义新增的数据采集设备所采集到的上报信息的数据格式、以及该上报信息所对应属性的属性值在对象数据表中的格式,由此,在接收到新增的数据采集设备所采集到的上报信息后,服务器可以对应对该上报信息进行解析和进一步处理。可以看出,采用本申请的方案,不需要对服务器进行大规模的更新,而根据需要更新对象的对象模型即可,由此,可以有效解决现有技术中新的数据采集设备上线难度大和上线周期长的问题。
在不同的应用场景下,针对同一对象,所需要关注的属性可能存在差异,而且,由于数据采集设备的差异,根据属性对象的上报信息获得属性对应的属性值的方式也存在差异,针对该问题,在本申请的方案中,对象模型中所定义的多个属性、以及各属性对应的数据处理方式可根据实际需要配置,因此,本申请的方案可以适用于不同的应用场景,适用范围广。
基于图2对应实施例中所生成各对象的对象数据表,还可以根据组合对象的组合对象模型所指示该组合对象包括的多个对象之间的关联关系,和组合对象所包括的多个对象的对象数据表来生成组合对象的组合对象视图,并将组合对象的组合对象视图与组合对象标识关联存储,这样,可以向终端提供组合对象相关的数据访问服务。图4为本申请提供的一种生成组合对象的组合对象视图的流程图,在图4中,数据库中的各对象数据表可以是按照图2对应实施例的步骤201-203或者图3对应实施例的步骤310-330生成的。如图4所示,该方法还包括:
步骤410,获取为组合对象配置的组合对象模型,组合对象模型指示了组合对象所包括的多个对象和多个对象之间的关联关系。
多个对象之间的关联关系可以是父子关系、并列关系等,在此不进行具体限定,当然,通过多个对象之间的关联关系可以进一步确定各对象与组合对象之间的层级关系。其中,该关联关系可以是基于对象的某一属性而建立的对象之间的联系,当然,也可以是预先根据需要定义的不同对象之间的关联关系,例如,针对城市A的电网***,城市A包括A1区和A2区,则在将城市A的电网***的作为组合对象的情况下,A1区的电网***和A1区的电网***可以视为组合对象所包括的两个对象,其中,A1区的电网***和A2区的电网***之间的关联关系为并联关系,该并联关系是根据A1区和A1区的行政划分来确定的。
图4中示例性示出了一组合对象模型的示意图,如图4所示,该组合对象模型指示了该组合对象包括对象C1、对象C2、…、对象Cp(其中p为正整数)、以及对象C2-1、对象C2-2和对象C2-3,其中,对象对象C1、对象C2、…、对象Cp为并列关系,对象C2与对象C2-1、对象C2-2和对象C2-3为父子关系。进一步的,对象C1、对象C2、…、对象Cp也可以理解为该组合对象的一级子对象,对象C2-1、对象C2-2和对象C2-3也可以理解为该组合对象的二级子对象。
步骤420,获取组合对象所包括各对象对应的对象数据表。
由于组合对象模型指示了该组合对象所包括的多个对象,从而,可以对应根据该多个对象的对象标识,从数据库中获取该组合对象所包括各对象的对象数据表。其中,对象数据表的建立以及对象数据表中对象在各属性下的属性值的获得,参考图2对应实施例的描述,在此不再赘述。
步骤430,根据多个对象之间的关联关系和组合对象所包括多个对象分别对应的对象数据表,生成组合对象对应的组合对象视图。
在一些实施例中,可以预先根据组合对象模型所指示该组合对象包括的多个对象,以及多个对象之间的关联关系,生成用于生成组合对象视图的SQL语句,则在步骤430中,可以调用该用于生成组合对象视图的SQL语句,来利用多个对象之间的关联关系和多个对象分别对应的对象数据表来生成该组合对象对应的组合对象视图。
如果多个对象之间的关联关系是基于一个或者多个属性建立的,将关联关系所依赖属性称为该关联关系对应的属性。这样,关联关系实际上指示了在组合对象视图中所要呈现的属性,即所要呈现的属性为关联关系对应的属性。在此基础上,基于关联关系对应的属性,从各对象的对象数据表中获取用于指示该属性下的属性值的行数据或者列数据,然后,对应根据从多个对象的对象数据表中所获取的用于指示该属性下的属性值的行数据或者列数据,生成组合对象的组合对象视图。
在本申请的一些实施例中,在生成组合对象对应的组合对象视图之后,生成该组合对象视图对应的访问接口并发布该访问接口,对应的,在客户端需要访问组合对象的情况下,可以基于组合对象对应的访问接口来获取该组合对象的组合对象视图。
在以对象作为数据存储的单位的基础上,通过配置的组合对象模型,来将多个对象的对象数据表进行进一步的整合,得到组合对象的组合对象视图,这样,可以基于所生成的组合对象视图,为客户端提供组合对象视图的访问服务。
具体的,可以通过如下的过程为客户端提供组合对象的对象视图的数据访问服务,具体包括:接收组合对象访问请求;组合对象访问请求包括目标组合对象的目标组合标识;根据目标组合标识,获取目标组合对象的组合对象视图;向客户端发送目标组合对象的组合对象视图。其中,组合对象视图可以是基于数据库中所存储的对象数据表按照图4对应实施例的步骤410-430生成的,组合对象所包括多个对象的对象数据表可以是按照图2中的步骤201-203生成的,具体参见上文描述,在此不再赘述。
组合对象访问请求是指用于访问与组合对象相关的数据的请求。在本申请中,将组合对象访问请求所请求访问的数据对应的组合对象称为目标组合对象。
在一些实施例中,若发布了组合对象视图对应的访问接口,可以根据目标组合标识确定目标组合对象对应的访问接口,然后,对应按照目标组合对象对应的访问接口获取该目标组合对象的组合对象视图。
在一些实施例中,在为对象配置对象模型以及为组合对象配置组合对象模型的基础上,可以仅为对象数据表生成访问接口,也可以仅为组合对象视图生成访问接口,还可以为对象数据表和为组合对象视图均生成访问接口,具体可根据实际需要进行设定。
图5是根据本申请一实施例示出的根据组合对象模型生成组合对象视图以及生成访问接口的示意图。在图4对应实施例的步骤430中,可以按照图5所示的过程来生成组合对象视图。如图5所示,基于为组合对象配置的组合对象模型510,然后根据组合对象模型所指示多个对象之间关联关系,生成用于创建该组合所对应的组合对象视图的第二SQL语句520,以基于第二SQL语句520对应生成组合对象的组合对象视图。之后,生成组合对象视图对应的第二访问接口530,并发布第二访问接口530。因此,在客户端需要访问组合对象相关的数据的情况下,可以根据所请求访问的目标组合对象的组合对象标识,确定与该组合对象标识相关联的第二访问接口,之后通过该第二访问接口530对应获取到所请求访问的目标组合对象的组合对象视图。
在本申请的一些实施例中,该方法还包括:将对象对应的对象数据表和组合对象对应的组合对象视图,同步到云端的数据库。
本申请所提供的数据访问方法可以由位于边侧的边缘计算设备执行,对应的,数据库也部署在边缘计算设备上。在该种情况下,边缘计算设备可以将对象数据表以及各组合对象的组合对象视图同步到云端的数据库中,这样,客户端可以通过访问边缘计算设备中的数据库或者云端的数据库来获取对象的对象数据表和/或组合对象的组合对象视图。
图6为本申请提供的一种数据访问***的示意图,在基于图2和图3对应实施例提供对象的对象数据表,以及图4和图5对应实施例的提供的组合对象的组合对象视图的基础上,可以按照图6所示实施例,面向客户端提供对象相关数据的数据访问服务和组合对象相关数据的数据访问服务。
如图6所示,该数据访问***包括第一访问子***610和第二访问子***620。第一访问子***610部署在边侧,第二访问子***620部署在云侧。第一访问子***610包括多个数据采集设备(图6中示例性示出了数据采集设备K1、K2、……Kn)和边缘计算设备611,各数据采集设备与边缘计算设备611通信连接。多个数据采集设备用于进行数据采集,并将采集到的上报信息发送到边缘计算设备611。
边缘计算设备611中设有数据缓存区,该数据缓存区用于存储数据采集设备上报的上报信息。具体的,在数据缓存区中,可以按照各上报信息所来源的数据采集设备进行分区存储。边缘计算设备611可以周期性地从数据缓存区获取各属性对应的上报信息。
边缘计算设备611中还部署第一模型库和第一数据库,第一模型库用于存储为对象配置的对象模型以及为组合对象配置的组合对象模型。第一数据库用于存储对象的对象数据表以及组合对象的组合对象视图。
边缘计算设备611可以基于对象的对象模型执行基础对象处理步骤。在基础对象处理步骤中,边缘计算设备611根据对象的对象模型生成对象的对象数据表,并将对象数据表存储到第一数据库中,并对应根据对象数据表在第一数据库中的存储位置,生成对象数据表的第一访问接口。进一步的,在基础对象处理步骤中,边缘计算设备611还根据对象模型所指示各属性对应的来源设备标识,从数据缓存区中获取各属性对应的上报信息,并执行步骤202-203,具体步骤202-203的实现细节参见上文描述。
进一步的,边缘计算设备611在基础对象处理步骤中还可以对上报信息进行过滤,以及进行数据回填,以此实现将历史时间段内漏上报的上报信息进行处理,得到历史时间段内对应的属性值,并将根据该属性值对应的时间戳,将该属性值更新到对象的对象数据表中,以此保证对象数据表中数据的完整性。
边缘计算设备611可以基于组合对象的组合对象模型执行组合对象处理步骤。组合对象处理步骤包括如上的步骤410-430,得到组合对象的组合对象视图;之后,将组合对象视图存储到第一数据库中,并生成和发布组合对象视图的第二访问接口。在具体实施例中,第二访问接口和第一访问接口可以是REST(Representational State Transfer,表述性状态转移)接口。
进一步的,边缘计算设备611还可以将第一数据库中的对象数据表以及组合对象视图同步到第二访问子***620中的第二数据库。进一步的,第二访问子***620中也可以部署第二模型库,该第二模型库用于存储第二组合对象的第二组合对象模型,该第二组合对象可以是将第一模型库中的对象和/或组合对象进行进一步组合得到的。在此基础上,云服务器可以执行组合对象处理的步骤,即:根据第二模型库中各第二组合对象模型和第二数据库中的对象数据表和组合对象视图,生成第二组合对象的第二组合对象视图,生成第二组合对象视图的过程与步骤410-430类似,在此不再赘述。
在进行数据同步后,客户端可以通过访问第一数据库或者第二数据库,来获取到对象的对象数据表以及组合对象的组合对象视图。
图7为本申请提供的数据访问方法的流程图。如图7所示,该数据处理的流程包括配置过程710、缓存过程720、数据整合过程730和数据访问过程740,其中,该四个过程可以由图1所示的服务器120或者图6所示的边缘计算设备611执行。图2、图3和图6所对应实施例中对象的对象模型,以及图4、图5和图6对应实施例中组合对象的组合对象模型,可以按照图7所示的配置过程710进行配置得到。
如图7所示,在配置过程710中,在获取到管理员用户或者开发人员在管理员客户端配置的对象模型和对象组合对象模型后,边缘计算设备将对象模型和组合对象模型存储到对象模型配置文件中。之后,执行基础对象处理步骤和组合对象处理步骤。在基础对象处理步骤中,从对象模型配置文件读取对象模型,并根据对象模型,在第一数据库中创建对象的对象数据表,并将该对象数据表对应的第一访问接口发布到数据访问接口中。在组合对象处理步骤中,从对象模型配置文件中获取组合对象模型,并在第一数据库中创建该组合对象对应的组合对象视图,并将组合对象视图对应的第二方位接口发布到数据访问接口中。
在缓存过程720中,在边缘计算设备接收到来自数据采集设备的数据流后,按照数据来源分区缓存,即按照数据流中各上报信息对应的来源设备标识,将对应的上报信息存储至于来源设备标识相对应的存储分区中。
在数据整合过程730中,执行基础对象处理步骤。具体的,在基础对象处理步骤中,周期性对访问缓存中的上报信息,并顺序执行如下的步骤:根据各属性对应的来源设备标识,获取各属性对应的上报信息;并执行上文中的步骤201-步骤203。进一步的,在完成一个周期的数据整合过程后,边缘计算设备还可以将第一数据库中的对象数据表和组合对象视图同步到云端的第二数据库中,以便于云服务器基于对象数据表或者组合对象视图进行进一步的组合。
在数据访问过程740中,若接收对象访问请求,根据对象访问请求所携带的目标对象标识,确定与目标对象标识相对应的第一访问接口;之后,根据所确定的第一访问接口将对象访问请求转换为数据表访问请求;向第一数据库发送数据表访问请求;其后,第一数据库将目标对象的对象数据表返回到客户端。
在数据访问过程740中,若接收到组合对象访问请求,根据组合对象访问请求携带的目标组合标识,确定与目标组合标识相对应的第二访问接口;之后,根据所确定的第二访问接口,将组合对象访问请求转换为组合对象视图访问请求,并向第一数据库发送组合对象视图访问请求;其后,第一数据库将目标组合对象的组合对象视图返回到客户端。
在本申请的实施例中,建立了以对象作为基础处理的单位,具体的,可以根据配置的对象模型中所指示各属性对应的数据处理方式,将对象在多个属性下的上报信息进行处理,得到对象在各属性下的属性值,并对应将对象在多个属性下的属性值整合到对象的对象数据表中,以此实现对象模型的实例化。此外,还提供了对象数据表的访问接口,则在数据访问过程中,可以根据访问接口访问到对象的对象数据表。在本申请中,由于在数据访问过程中,不需要对上报信息进行处理,然后进行多个属性值的整合,而是在存储之前,对上报信息进行处理并整合,相当于将现有技术中的在应用层所进行的数据处理和属性值整合的处理逻辑下移到数据层,从而,客户端可以基于一次请求访问到对象在多个属性下的属性值,而无需进行额外的处理,实现应用与数据分离,提升数据访问的效率。
上文结合附图详细描述了本申请所要保护的方法,下面结合图8和图9进一步介绍本申请所要保护的装置和计算设备,上述装置或计算设备可以用于执行本申请上述实施例中的方法。对于本申请装置实施例中未披露的细节,请参照本申请上述方法实施例。
图8为本申请提供的一种数据访问装置的框图,该数据访问装置可以部署在图1所示的服务器120或者图6所示的边缘计算设备611中,如图8所示,该数据访问装置800包括:对象访问请求接收模块810,用于接收对象访问请求,对象访问请求包括目标对象的目标对象标识;对象数据表获取模块820,用于根据目标对象标识,获取目标对象对应的对象数据表,对象数据表包括目标对象在多个属性下的属性值,目标对象在多个属性下的属性值是按照目标对象所对应对象模型指示的各属性对应的数据处理方式,对各属性所对应的上报信息进行处理得到的;对象数据表发送模块830,用于向客户端发送目标对象的对象数据表。
在本申请的一些实施例中,数据访问装置800还包括:对象模型获取模块,用于获取为对象配置的对象模型,对象模型指示了为对象定义的多个属性和各属性对应的数据处理方式;处理模块,用于按照各属性对应的数据处理方式,对对象的各属性所对应的上报信息进行处理,得到对象在各属性下的属性值;整合模块,用于将对象在多个属性下的属性值整合到对象对应的对象数据表中。
在本申请的一些实施例中,数据访问装置800还包括:访问接口生成模块,用于生成访问接口,访问接口包括组合对象所对应组合对象视图的第一访问接口和对象所对应对象数据表的第二访问接口中的至少一项;访问接口发布模块,用于发布所生成的访问接口。
在本申请的一些实施例中,对象模型还指示了对象的各属性对应的来源设备标识;数据访问装置800还包括:上报信息获取模块,用于根据各属性对应的来源设备标识,在上报数据集中获取对象的各属性所对应的上报信息。
在本申请的一些实施例中,数据处理方式指示了原数据格式与目标数据格式之间的转换方式;处理模块进一步用于:确定一属性所对应上报信息所属的原数据格式;按照原数据格式与目标数据格式之间的转换方式,将属性所对应上报信息进行格式转换,得到属性对应于目标数据格式的属性值。
在本申请的一些实施例中,上报数据集中上报信息按照所来源设备进行分区存储;上报信息获取模块进一步用于:基于设备标识与存储位置之间的对应关系和各属性对应的来源设备标识,确定各属性所对应上报信息所在的存储位置;从各属性所对应上报信息所在的存储位置,获取各属性对应的上报信息。
在本申请的一些实施例中,数据访问装置800还包括:同步模块,用于将对象对应的对象数据表和组合对象对应的组合对象视图,同步到云端的数据库。
在本申请的另一方面,提供了一种数据访问装置,该数据访问装置包括:组合对象访问请求接收模块,用于接收组合对象访问请求,组合对象访问请求包括目标组合对象的目标组合标识;组合对象视图获取模块,用于根据目标组合标识,获取目标组合对象的组合对象视图;其中,目标组合对象的组合对象视图是根据目标组合对象所包括多个对象的对象数据表和目标组合对象所包括多个对象之间的关联关系生成的;对象的对象数据表包括对象在多个属性下的属性值,对象在多个属性下的属性值是按照对象所对应对象模型指示的各属性对应的数据处理方式,对各属性所对应的上报信息进行处理得到的;组合对象视图发送模块,用于向客户端发送目标组合对象的组合对象视图。
在本申请的一些实施例中,数据访问装置还包括:组合对象模型获取模块,用于获取为组合对象配置的组合对象模型,组合对象模型指示了组合对象所包括的多个对象和多个对象之间的关联关系;对象数据表获取模块,用于获取组合对象所包括各对象对应的对象数据表;组合对象视图生成模块,用于根据多个对象之间的关联关系和组合对象所包括多个对象分别对应的对象数据表,生成组合对象对应的组合对象视图。
在本申请的一些实施例中,数据访问装置还包括:访问接口生成模块,用于生成访问接口,访问接口包括组合对象所对应组合对象视图的第一访问接口和对象所对应对象数据表的第二访问接口中的至少一项;访问接口发布模块,用于发布所生成的访问接口。
应理解的是,本申请实施例的数据访问装置可对应于执行本申请实施例中描述的数据访问方法,并且数据访问装置中的各个模块的操作和/或功能分别为了实现上述方法实施例中的各个方法的相应流程,为了简洁,在此不再赘述。
图9为本实施例提供的一种计算设备900的结构示意图,该计算设备可以是图1中的服务器,例如边缘计算设备,或者云端的云服务器,该计算设备可以用于执行本申请所提供的数据访问方法。如图9所示,计算设备900包括处理器910、总线920、存储器930、内存单元950(也可以称为主存(main memory)单元)和通信接口940。处理器910、存储器930、内存单元950和通信接口940通过总线920相连。
应理解,在本实施例中,处理器910可以是CPU,该处理器910还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。通信接口940用于实现计算设备900与外部设备或器件的通信。
总线920可以包括一通路,用于在上述组件(如处理器910、内存单元950和存储器930)之间传送信息。总线920除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线920。总线920可以是快捷***部件互连标准(Peripheral Component Interconnect Express,PCIE)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。
作为一个示例,计算设备900可以包括多个处理器。处理器可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的计算单元。
值得说明的是,图9中仅以计算设备900包括1个处理器910和1个存储器930为例,此处,处理器910和存储器930分别用于指示一类器件或设备,具体实施例中,可以根据业务需求确定每种类型的器件或设备的数量。
内存单元950可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
具体在本申请的方案中,内存单元950可以存储对象的对象模型,以及组合对象的组合对象模型;进一步的,还可以用于存储基于对象模型创建的对象数据表、以及基于组合对象模型创建的组合对象视图。
存储器930可以用于计算机可读指令,当该计算机可读指令被处理器910执行时,实现本申请所提供的数据访问方法。存储器930可以是固态硬盘或机械硬盘。
应理解,上述计算设备900可以是一个DPU。上文中的数据访问装置800可以配置在计算设备900中,以用于实现本申请所提供的数据访问方法。
作为一种可能的实现方式,本申请还保护一种计算机设备集群,该计算机设备集群中包括两个或两个以上的计算机设备,每个计算机设备的结构可以参考图9所示的计算机设备900,计算机设备集群中计算机设备用于实现上述图2至图7所示方法的操作步骤,为了简洁,在此不再赘述。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机程序或指令。在计算设备中的处理器上加载和执行计算机程序或指令时,计算设备全部或部分地执行本申请实施例的流程或功能。计算设备可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。
计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
可以理解的是,为了实现上述方法实施例中的功能,计算设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个***是指两个或两个以上的***。本申请实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一参考电阻和第二参考电阻等是用于区别不同的参考电阻,而不是用于描述参考电阻的特定顺序。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种数据访问方法,其特征在于,包括:
接收对象访问请求,所述对象访问请求包括目标对象的目标对象标识;
根据所述目标对象标识,获取所述目标对象对应的对象数据表,所述对象数据表包括所述目标对象在多个属性下的属性值,所述目标对象在多个属性下的属性值是按照所述目标对象所对应对象模型指示的各属性对应的数据处理方式,对各属性所对应的上报信息进行处理得到的;
向客户端发送所述目标对象的对象数据表;
所述根据所述目标对象标识,获取所述目标对象对应的对象数据表之前,所述方法还包括:
获取为对象配置的对象模型,所述对象模型指示了为所述对象定义的多个属性和各属性对应的数据处理方式;
按照各属性对应的数据处理方式,对所述对象的各属性所对应的上报信息进行处理,得到所述对象在各属性下的属性值;
将所述对象在多个属性下的属性值整合到所述对象对应的对象数据表中。
2.根据权利要求1所述的方法,其特征在于,所述数据处理方式指示了原数据格式与目标数据格式之间的转换方式;
所述按照各属性对应的数据处理方式,对所述对象的各属性所对应的上报信息进行处理,得到所述对象在各属性下的属性值,包括:
确定一属性所对应上报信息所属的原数据格式;
按照所述原数据格式与目标数据格式之间的转换方式,将所述属性所对应上报信息进行格式转换,得到所述属性对应于所述目标数据格式的属性值。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取为组合对象配置的组合对象模型,所述组合对象模型指示了所述组合对象所包括的多个对象和所述多个对象之间的关联关系;
获取所述组合对象所包括各对象对应的对象数据表;
根据所述多个对象之间的关联关系和所述组合对象所包括多个对象分别对应的对象数据表,生成所述组合对象对应的组合对象视图。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
生成访问接口,所述访问接口包括对象所对应对象数据表的第一访问接口和所述组合对象所对应组合对象视图的第二访问接口中的至少一项;
发布所生成的访问接口,以基于所述第一访问接口获取对象的对象数据表,或者基于所述第二访问接口获取组合对象的组合对象视图。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述对象对应的对象数据表和所述组合对象对应的组合对象视图,同步到云端的数据库。
6.一种数据访问装置,其特征在于,包括:
对象访问请求接收模块,用于接收对象访问请求,所述对象访问请求包括目标对象的目标对象标识;
对象数据表获取模块,用于根据所述目标对象标识,获取所述目标对象对应的对象数据表,所述对象数据表包括所述目标对象在多个属性下的属性值,所述目标对象在多个属性下的属性值是按照所述目标对象所对应对象模型指示的各属性对应的数据处理方式,对各属性所对应的上报信息进行处理得到的;
对象数据表发送模块,用于向客户端发送所述目标对象的对象数据表;
所述装置还包括:
对象模型获取模块,用于在所述对象数据表获取模块根据所述目标对象标识,获取所述目标对象对应的对象数据表之前,获取为对象配置的对象模型,所述对象模型指示了为所述对象定义的多个属性和各属性对应的数据处理方式;
处理模块,用于按照各属性对应的数据处理方式,对所述对象的各属性所对应的上报信息进行处理,得到所述对象在各属性下的属性值;
整合模块,用于将所述对象在多个属性下的属性值整合到所述对象对应的对象数据表中。
7.根据权利要求6所述的装置,其特征在于,所述数据处理方式指示了原数据格式与目标数据格式之间的转换方式;所述处理模块用于:
确定一属性所对应上报信息所属的原数据格式;
按照所述原数据格式与目标数据格式之间的转换方式,将所述属性所对应上报信息进行格式转换,得到所述属性对应于所述目标数据格式的属性值。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
组合对象模型获取模块,用于获取为组合对象配置的组合对象模型,所述组合对象模型指示了所述组合对象所包括的多个对象和所述多个对象之间的关联关系;
对象数据表获取模块,用于获取所述组合对象所包括各对象对应的对象数据表;
组合对象视图生成模块,用于根据所述多个对象之间的关联关系和所述组合对象所包括多个对象分别对应的对象数据表,生成所述组合对象对应的组合对象视图。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
访问接口生成模块,用于生成访问接口,所述访问接口包括对象所对应对象数据表的第一访问接口和所述组合对象所对应组合对象视图的第二访问接口中的至少一项;
访问接口发布模块,用于发布所生成的访问接口,以基于所述第一访问接口获取对象的对象数据表,或者基于所述第二访问接口获取组合对象的组合对象视图。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
同步模块,用于将所述对象对应的对象数据表和所述组合对象对应的组合对象视图,同步到云端的数据库。
11.一种计算设备,其特征在于,包括存储器和处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,实现权利要求1至5中任一项所述的方法。
12.一种数据访问***,其特征在于,包括:
数据采集设备,用于采集对象在多个属性下的上报信息,并将所述上报信息发送到计算设备;
计算设备,用于根据对象在多个属性下的上报信息,实现如权利要求1至5中任一项所述的数据访问方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储器和处理器,所述存储器用于存储指令,当所述指令在所述处理器上运行时,使得所述处理器执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210908140.3A CN115374109B (zh) | 2022-07-29 | 2022-07-29 | 数据访问方法、装置、计算设备和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210908140.3A CN115374109B (zh) | 2022-07-29 | 2022-07-29 | 数据访问方法、装置、计算设备和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115374109A CN115374109A (zh) | 2022-11-22 |
CN115374109B true CN115374109B (zh) | 2023-09-01 |
Family
ID=84063045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210908140.3A Active CN115374109B (zh) | 2022-07-29 | 2022-07-29 | 数据访问方法、装置、计算设备和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115374109B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117708218B (zh) * | 2024-02-05 | 2024-05-03 | 成都秦川物联网科技股份有限公司 | 基于服务分平台的工业物联网数据访问方法及数据库*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003123082A (ja) * | 2001-10-12 | 2003-04-25 | Sony Corp | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム |
CN1794238A (zh) * | 2004-12-20 | 2006-06-28 | 达索***公司 | 利用产品寿命周期管理数据库在视图中呈现对象的方法和*** |
CN101872305A (zh) * | 2010-06-08 | 2010-10-27 | 用友软件股份有限公司 | Ui表现和业务逻辑分离方法和*** |
JP2015018326A (ja) * | 2013-07-09 | 2015-01-29 | 日本電信電話株式会社 | 3次元オブジェクト同定装置、3次元オブジェクト生成装置、方法、及びプログラム |
CN108123842A (zh) * | 2017-12-22 | 2018-06-05 | 武汉虹信技术服务有限责任公司 | 一种基于knx协议可接入多厂家设备的适配***及方法 |
CN110874534A (zh) * | 2018-08-31 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 数据处理方法和数据处理装置 |
CN114490651A (zh) * | 2022-01-19 | 2022-05-13 | 阿里云计算有限公司 | 数据存储方法及装置 |
CN114661830A (zh) * | 2022-03-09 | 2022-06-24 | 苏州工业大数据创新中心有限公司 | 一种数据处理方法、装置、终端和存储介质 |
-
2022
- 2022-07-29 CN CN202210908140.3A patent/CN115374109B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003123082A (ja) * | 2001-10-12 | 2003-04-25 | Sony Corp | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム |
CN1794238A (zh) * | 2004-12-20 | 2006-06-28 | 达索***公司 | 利用产品寿命周期管理数据库在视图中呈现对象的方法和*** |
CN101872305A (zh) * | 2010-06-08 | 2010-10-27 | 用友软件股份有限公司 | Ui表现和业务逻辑分离方法和*** |
JP2015018326A (ja) * | 2013-07-09 | 2015-01-29 | 日本電信電話株式会社 | 3次元オブジェクト同定装置、3次元オブジェクト生成装置、方法、及びプログラム |
CN108123842A (zh) * | 2017-12-22 | 2018-06-05 | 武汉虹信技术服务有限责任公司 | 一种基于knx协议可接入多厂家设备的适配***及方法 |
CN110874534A (zh) * | 2018-08-31 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 数据处理方法和数据处理装置 |
CN114490651A (zh) * | 2022-01-19 | 2022-05-13 | 阿里云计算有限公司 | 数据存储方法及装置 |
CN114661830A (zh) * | 2022-03-09 | 2022-06-24 | 苏州工业大数据创新中心有限公司 | 一种数据处理方法、装置、终端和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115374109A (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111258978B (zh) | 一种数据存储的方法 | |
CN111339171B (zh) | 数据查询的方法、装置及设备 | |
TW201800967A (zh) | 分布式流式資料處理的方法和裝置 | |
CN110134738B (zh) | 分布式存储***资源预估方法、装置 | |
WO2023005771A1 (zh) | 轨迹查询方法、设备、存储介质及计算机程序产品 | |
CN114791846B (zh) | 一种针对云原生混沌工程实验实现可观测性的方法 | |
KR101764674B1 (ko) | 침해 자원에 대한 그래프 데이터베이스 생성 방법 및 그 장치 | |
CN107528904B (zh) | 用于数据分布式异常检测的方法与设备 | |
CN112395157A (zh) | 审计日志的获取方法、装置、计算机设备和存储介质 | |
CN115374109B (zh) | 数据访问方法、装置、计算设备和*** | |
CN110209714A (zh) | 报表生成方法、装置、计算机设备及计算机可读存储介质 | |
CN111414410A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN114116065A (zh) | 获取拓扑图数据对象的方法、装置、及电子设备 | |
CN109145225B (zh) | 一种数据处理方法及装置 | |
JP7292368B2 (ja) | デバイスからの属性および位置シグネチャを使用してデバイスを識別する方法、その方法のための一意に生成された識別子のサーバ、およびその方法のための命令シーケンスを記憶する非一時的コンピュータ可読記憶媒体 | |
CN106354587A (zh) | 镜像服务器以及导出虚拟机镜像文件的方法 | |
CN115883407A (zh) | 一种数据采集方法、***、设备及存储介质 | |
CN109560940B (zh) | 一种内容分发网络cdn服务的计费方法及装置 | |
CN106570029B (zh) | 分布式关系型数据库的数据处理方法及*** | |
CN113672692A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111723245A (zh) | 数据存储***中建立不同类型存储对象关联关系的方法 | |
CN111125226B (zh) | 一种配置数据采集方法及装置 | |
CN109284833B (zh) | 为机器学习模型获取特征数据的方法、设备和存储介质 | |
CN107894942B (zh) | 数据表访问量的监控方法和装置 | |
CN108023920B (zh) | 一种数据包传输方法、设备及应用接口 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |