CN116010337A - 一种openGauss访问ORC数据的方法 - Google Patents
一种openGauss访问ORC数据的方法 Download PDFInfo
- Publication number
- CN116010337A CN116010337A CN202211577565.7A CN202211577565A CN116010337A CN 116010337 A CN116010337 A CN 116010337A CN 202211577565 A CN202211577565 A CN 202211577565A CN 116010337 A CN116010337 A CN 116010337A
- Authority
- CN
- China
- Prior art keywords
- orc
- data
- file
- opengauss
- strip
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据库存储技术领域,提供一种openGauss访问ORC数据的方法,包括:通过Kafka将处理完成的数据存储至HDFS;HDFS将数据转化为ORC文件,同步生成与所述ORC文件对应的cumeta元数据文件;根据生成的cumeta元数据文件在openGauss数据库创建对应的ORC外部列存表;扫描创建的ORC外部列存表,将ORC外部列存表对应的存储路径下待扫描的ORC文件数据转化为CU格式数据。根据本发明示例性实施例的openGauss访问ORC数据的方法,可以避免在关系数据库和大数据平台各保存一份数据带来的存储开销,减少大量的物理IO,保证数据的一致性,适合更多样的查询场景,有效提高查询效率。
Description
技术领域
本发明涉及数据库存储技术领域,尤其涉及一种openGauss访问ORC数据的方法。
背景技术
Hadoop是一种适用于大数据处理的分布式系统基础架构。用户不需要了解Hadoop具体的底层实现细节,就可以在该框架上开发分布式程序,从而充分利用集群的优势来进行高速运算和存储。虽然Hadoop具有高可靠性、高扩展性、高效性、高容错性等优点,但是也存在一些已知缺点,如数据处理时延较高、不适合大量小文件高效存储、不适合多用户写入文件。而传统的关系数据库处理数据时延低、可以存储大量小文件、适合多用户操作,恰好可以弥补Hadoop的上述缺点。因此可以利用Hadoop大数据平台进行数据的存储和计算,而使用关系数据库进行数据管理以及用户交互。
组合使用关系数据库与Hadoop平台进行大数据处理虽然解决了大数据处理的难题,但是如何实现关系数据库和Hadoop的交互也是一个存在已久的问题。目前一般的交互方法就是数据迁移,关系数据库与Hadoop平台各保存一份数据,但是为了保证数据的一致性,就必须进行频繁的数据同步操作。传统的关系数据库与Hadoop平台交互方法对数据的处理时延较高,大量跨集群数据搬移的效率低,数据的重复存储导致磁盘消耗大。
因此,如何提供为传统的关系数据库与Hadoop平台提供一种更加高效和准确的交互方法,成为亟待解决的技术问题。
发明内容
有鉴于此,为了克服现有技术的不足,本发明旨在提供一种openGauss访问ORC数据的方法。可以减少数据存储、迁移(导入导出)所带来的资源和时间开销,保障数据一致性、实时性和正确性。
本发明提供一种openGauss访问ORC数据的方法,其特征在于,所述方法包括:
步骤S1:通过Kafka将处理完成的数据存储至HDFS;
步骤S2:HDFS将步骤S1中的数据转化为ORC文件,同步生成与所述ORC文件对应的cumeta元数据文件;
步骤S3:根据步骤S2生成的cumeta元数据文件在openGauss数据库创建对应的ORC外部列存表;
步骤S4:扫描步骤S3创建的ORC外部列存表,将ORC外部列存表对应的存储路径下待扫描的ORC文件数据转化为CU格式数据。
进一步地,本发明openGauss访问ORC数据的方法的步骤S2中,同步生成与所述ORC文件对应的cumeta元数据文件,包括:
步骤S21:在writerImpl类中调用init函数打开HDFS中已有对应的cumeta元数据文件,当HDFS中不存在对应的cumeta元数据文件时,创建并打开所述对应的cumeta元数据文件;
步骤S22:获取ORC文件的strip元数据信息,将获取的strip元数据信息写入cumeta元数据文件;
步骤S23:在完成所述ORC文件中所有strip元数据信息的写入时,调用writerfooter函数关闭ORC文件和cumeta元数据文件。
进一步地,本发明openGauss访问ORC数据的方法的步骤S3包括:在openGauss数据库内部扩展现有创建内部表的语法,采用扩展的创建内部表的语法对ORC外部列存表进行创建,获得ORC外部列存表。
进一步地,本发明openGauss访问ORC数据的方法的步骤S3中,在openGauss数据库内部扩展现有创建内部表的语法,包括:
将表的标识项orientation的值设置为ORC;
新增用于定位ORC文件位置的location选项,将location选项的值设置为ORC外部表存储路径。
进一步地,本发明openGauss访问ORC数据的方法的步骤S3中,采用扩展的创建内部表的语法对ORC外部列存表进行创建,包括:
判断标识项orientation的值是否为ORC,当标识项orientation的值为ORC时,根据location选项的值访问cumeta元数据文件,读取cumeta元数据的每一行,对读取的每一行cumeta元数据进行合法性校验,将通过合法性校验的每一行cumeta元数据转化为CUDesc元数据信息后插入CUDesc表中,所述CUDesc元数据信息包括ORC文件的全路径、数据块所在strip的strip ID以及数据块ID。
进一步地,本发明openGauss访问ORC数据的方法的步骤S4包括:
步骤S41:openGauss数据库在加载列存表时根据调用方访问需求加载CUDesc表;
步骤S42:根据CUDesc元数据信息中数据块所在strip的strip ID判断加载的列存表是否为ORC外部列存表;
步骤S43:根据CUDesc表中CUDesc元数据信息从ORC外部列存表对应的存储路径下获取待扫描的ORC文件的及待扫描数据块在ORC文件中的具体位置信息;
步骤S44:根据待扫描的ORC文件以及待扫描数据块在ORC文件中的具体位置信息,获取待扫描的ORC文件中的数据块;
步骤S45:将获取的数据块转化为CU格式的数据块后返回至调用方。
进一步地,本发明openGauss访问ORC数据的方法的步骤S42包括:
当数据块所在strip的strip ID等于0时,判定表为非ORC外部列存表;
当数据块所在strip的strip ID大于0时,判定表为ORC外部列存表。
进一步地,本发明openGauss访问ORC数据的方法的步骤S43包括:
根据CUDesc表中CUDesc元数据信息的ORC文件的全路径获取待扫描的ORC文件的具体位置信息;
根据CUDesc表中CUDesc元数据信息的数据块所在strip的strip ID以及数据块ID获取待扫描数据块在ORC文件中的具体位置信息。
进一步地,本发明openGauss访问ORC数据的方法的步骤S44包括:通过ORClib动态库根据CUDesc元数据信息从HDFS的ORC文件中读取一个strip并对所述strip中的所有数据块进行转换。
进一步地,本发明openGauss访问ORC数据的方法的步骤S45包括:将与调用方需求对应的转化后的CU格式的数据块返回至调用方,将所述strip中其余数据块缓存至本地临时文件。
本发明openGauss访问ORC数据的方法,具有以下有益效果:
1.通过openGauss数据库直接访问外部ORC数据,避免了在关系数据库和大数据平台各保存一份数据带来的存储开销。
2.只需要一份数据,避免了频繁的数据同步操作,减少了大量的物理IO,同时保证了数据的一致性。
3.使用数据库直接查询数据的方式,适合更多样的查询场景,有效提高查询效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明示例性第一实施例一种openGauss访问ORC数据的方法的流程图。
图2为本发明示例性第二实施例一种openGauss访问ORC数据的方法的流程图。
图3为本发明示例性第四实施例一种openGauss访问ORC数据的方法的流程图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
本发明的技术原理如下:
为实现直接访问Hadoop平台数据的目的,关系型数据库(使用openGauss)需要能识别大数据平台的数据存储格式(比如ORC格式)。本发明设计了一种ORC外部列存表的方案,通过建立ORC格式数据与openGauss数据库内部列存数据的映射关系,来实现从openGauss数据库直接读取ORC文件的目的。在实际应用中,ORC格式的strip中的每个column和openGauss数据库列存格式的存储单元CU,除了元数据之外,数据结构基本一样。为此本发明通过建立strip中column和CU的一一映射,确保关系型数据库中能正确访问ORC文件中的数据且保证同一条查询语句在大数据平台和关系型数据库中的查询结果一致。表的元数据存储在关系型数据内部,ORC数据文件存储在外部,将ORC文件转换为关系型数据库内部格式。
以下各实施例中涉及的名词解释如下:
Hadoop:一种大数据平台,用于大数据处理和存储。
openGauss:一种开源关系型数据库,用来保存和查询各种类型的数据。
ORC:一种大数据文件格式。
Strip:ORC文件的行分割单元。
CU:openGauss列存表的表数据文件格式。
HDFS:Hadoop分布式文件系统,能提供高吞吐量的数据访问,适合大规模数据集上的应用。
cumeta元数据文件:ORC文件的元数据描述信息,用来生成表的CUDesc元数据信息。
writerImpl类:ORC源码中实施写ORC文件的类名。
init函数:writerImpl类中的初始化函数,主要用于平台连接和ORC文件的创建。
CUDesc:openGauss列存表的文件单元CU的描述信息。
图1为根据本发明示例性第一实施例的一种openGauss访问ORC数据的方法的流程图,如图1所示,本实施例的方法,包括:
步骤S1:通过Kafka将处理完成的数据存储至HDFS;
步骤S2:HDFS将步骤S1中的数据转化为ORC文件,同步生成与所述ORC文件对应的cumeta元数据文件;
步骤S3:根据步骤S2生成的cumeta元数据文件在openGauss数据库创建对应的ORC外部列存表;
步骤S4:扫描步骤S3创建的ORC外部列存表,将ORC外部列存表对应的存储路径下待扫描的ORC文件数据转化为CU格式数据。
在实际应用中,本实施例方法通过openGauss数据库直接访问外部ORC数据,避免了在关系数据库和大数据平台各保存一份数据带来的存储开销,避免了频繁的数据同步操作,减少了大量的物理IO,同时保证了数据的一致性,使用数据库直接查询数据的方式,适合更多样的查询场景,有效提高查询效率。
图2为根据本发明示例性第二实施例的一种openGauss访问ORC数据的方法的流程图,本实施例是图1所示方法的优选实施例,如图2所示,本实施例方法的步骤S2中,同步生成与所述ORC文件对应的cumeta元数据文件,包括:
步骤S21:在writerImpl类中调用init函数打开HDFS中已有对应的cumeta元数据文件,当HDFS中不存在对应的cumeta元数据文件时,创建并打开所述对应的cumeta元数据文件;
步骤S22:获取ORC文件的strip元数据信息,将获取的strip元数据信息写入cumeta元数据文件;
步骤S23:在完成所述ORC文件中所有strip元数据信息的写入时,调用writerfooter函数关闭ORC文件和cumeta元数据文件。
本发明示例性第三实施例提供一种openGauss访问ORC数据的方法,本实施例方法是图1所示方法的优选实施例。
本实施例方法的步骤S3包括:在openGauss数据库内部扩展现有创建内部表的语法,采用扩展的创建内部表的语法对ORC外部列存表进行创建,获得ORC外部列存表。
在实际应用中,本实施例方法的步骤S3中,在openGauss数据库内部扩展现有创建内部表的语法,包括:
将表的标识项orientation的值设置为ORC;
新增用于定位ORC文件位置的location选项,将location选项的值设置为ORC外部表存储路径。
在实际应用中,本实施例方法的步骤S3中,采用扩展的创建内部表的语法对ORC外部列存表进行创建,包括:
判断标识项orientation的值是否为ORC,当标识项orientation的值为ORC时,根据location选项的值访问cumeta元数据文件,读取cumeta元数据的每一行,对读取的每一行cumeta元数据进行合法性校验,将通过合法性校验的每一行cumeta元数据转化为CUDesc元数据信息后插入CUDesc表中,所述CUDesc元数据信息包括ORC文件的全路径、数据块所在strip的strip ID以及数据块ID。
图3为根据本发明示例性第四实施例的一种openGauss访问ORC数据的方法的流程图,本实施例是图1所示方法的优选实施例,本实施例方法的步骤S4包括:
步骤S41:openGauss数据库在加载列存表时根据调用方访问需求加载CUDesc表;
步骤S42:根据CUDesc元数据信息中数据块所在strip的strip ID判断加载的列存表是否为ORC外部列存表;
步骤S43:根据CUDesc表中CUDesc元数据信息从ORC外部列存表对应的存储路径下获取待扫描的ORC文件的及待扫描数据块在ORC文件中的具体位置信息;
步骤S44:根据待扫描的ORC文件以及待扫描数据块在ORC文件中的具体位置信息,获取待扫描的ORC文件中的数据块;
步骤S45:将获取的数据块转化为CU格式的数据块后返回至调用方。
在实际应用中,本实施例方法按以下方式实施:
openGauss数据库在加载列存表时根据调用方访问需求加载CUDesc表;
根据CUDesc元数据信息中数据块所在strip的strip ID判断加载的列存表是否为ORC外部列存表,当数据块所在strip的strip ID等于0时,判定表为非ORC外部列存表;当数据块所在strip的strip ID大于0时,判定表为ORC外部列存表;
根据CUDesc表中CUDesc元数据信息的ORC文件的全路径获取待扫描的ORC文件的具体位置信息;根据CUDesc表中CUDesc元数据信息的数据块所在strip的strip ID以及数据块ID获取待扫描数据块在ORC文件中的具体位置信息;
通过ORClib动态库根据CUDesc元数据信息从HDFS的ORC文件中读取一个strip并对所述strip中的所有数据块进行转换。
将与调用方需求对应的转化后的CU格式的数据块返回至调用方,将所述strip中其余数据块缓存至本地临时文件。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种openGauss访问ORC数据的方法,其特征在于,所述方法包括:
步骤S1:通过Kafka将处理完成的数据存储至HDFS;
步骤S2:HDFS将步骤S1中的数据转化为ORC文件,同步生成与所述ORC文件对应的cumeta元数据文件;
步骤S3:根据步骤S2生成的cumeta元数据文件在openGauss数据库创建对应的ORC外部列存表;
步骤S4:扫描步骤S3创建的ORC外部列存表,将ORC外部列存表对应的存储路径下待扫描的ORC文件数据转化为CU格式数据。
2.根据权利要求1所述的openGauss访问ORC数据的方法,其特征在于,步骤S2中,同步生成与所述ORC文件对应的cumeta元数据文件,包括:
步骤S21:在writerImpl类中调用init函数打开HDFS中已有对应的cumeta元数据文件,当HDFS中不存在对应的cumeta元数据文件时,创建并打开所述对应的cumeta元数据文件;
步骤S22:获取ORC文件的strip元数据信息,将获取的strip元数据信息写入cumeta元数据文件;
步骤S23:在完成所述ORC文件中所有strip元数据信息的写入时,调用writerfooter函数关闭ORC文件和cumeta元数据文件。
3.根据权利要求1所述的openGauss访问ORC数据的方法,其特征在于,步骤S3包括:在openGauss数据库内部扩展现有创建内部表的语法,采用扩展的创建内部表的语法对ORC外部列存表进行创建,获得ORC外部列存表。
4.根据权利要求3所述的openGauss访问ORC数据的方法,其特征在于,步骤S3中,在openGauss数据库内部扩展现有创建内部表的语法,包括:
将表的标识项orientation的值设置为ORC;
新增用于定位ORC文件位置的location选项,将location选项的值设置为ORC外部表存储路径。
5.根据权利要求3所述的openGauss访问ORC数据的方法,其特征在于,步骤S3中,采用扩展的创建内部表的语法对ORC外部列存表进行创建,包括:
判断标识项orientation的值是否为ORC,当标识项orientation的值为ORC时,根据location选项的值访问cumeta元数据文件,读取cumeta元数据的每一行,对读取的每一行cumeta元数据进行合法性校验,将通过合法性校验的每一行cumeta元数据转化为CUDesc元数据信息后插入CUDesc表中,所述CUDesc元数据信息包括ORC文件的全路径、数据块所在strip的strip ID以及数据块ID。
6.根据权利要求1所述的openGauss访问ORC数据的方法,其特征在于,步骤S4包括:
步骤S41:openGauss数据库在加载列存表时根据调用方访问需求加载CUDesc表;
步骤S42:根据CUDesc元数据信息中数据块所在strip的strip ID判断加载的列存表是否为ORC外部列存表;
步骤S43:根据CUDesc表中CUDesc元数据信息从ORC外部列存表对应的存储路径下获取待扫描的ORC文件的及待扫描数据块在ORC文件中的具体位置信息;
步骤S44:根据待扫描的ORC文件以及待扫描数据块在ORC文件中的具体位置信息,获取待扫描的ORC文件中的数据块;
步骤S45:将获取的数据块转化为CU格式的数据块后返回至调用方。
7.根据权利要求6所述的openGauss访问ORC数据的方法,其特征在于,步骤S42包括:
当数据块所在strip的strip ID等于0时,判定表为非ORC外部列存表;
当数据块所在strip的strip ID大于0时,判定表为ORC外部列存表。
8.根据权利要求6所述的openGauss访问ORC数据的方法,其特征在于,步骤S43包括:
根据CUDesc表中CUDesc元数据信息的ORC文件的全路径获取待扫描的ORC文件的具体位置信息;
根据CUDesc表中CUDesc元数据信息的数据块所在strip的strip ID以及数据块ID获取待扫描数据块在ORC文件中的具体位置信息。
9.根据权利要求6所述的openGauss访问ORC数据的方法,其特征在于,步骤S44包括:通过ORClib动态库根据CUDesc元数据信息从HDFS的ORC文件中读取一个strip并对所述strip中的所有数据块进行转换。
10.根据权利要求6所述的openGauss访问ORC数据的方法,其特征在于,步骤S45包括:将与调用方需求对应的转化后的CU格式的数据块返回至调用方,将所述strip中其余数据块缓存至本地临时文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211577565.7A CN116010337B (zh) | 2022-12-05 | 2022-12-05 | 一种openGauss访问ORC数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211577565.7A CN116010337B (zh) | 2022-12-05 | 2022-12-05 | 一种openGauss访问ORC数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116010337A true CN116010337A (zh) | 2023-04-25 |
CN116010337B CN116010337B (zh) | 2023-07-21 |
Family
ID=86018656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211577565.7A Active CN116010337B (zh) | 2022-12-05 | 2022-12-05 | 一种openGauss访问ORC数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010337B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572895A (zh) * | 2014-12-24 | 2015-04-29 | 天津南大通用数据技术股份有限公司 | MPP数据库与Hadoop集群数据互通方法、工具及实现方法 |
CN114417408A (zh) * | 2022-01-18 | 2022-04-29 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置、设备以及存储介质 |
-
2022
- 2022-12-05 CN CN202211577565.7A patent/CN116010337B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572895A (zh) * | 2014-12-24 | 2015-04-29 | 天津南大通用数据技术股份有限公司 | MPP数据库与Hadoop集群数据互通方法、工具及实现方法 |
CN114417408A (zh) * | 2022-01-18 | 2022-04-29 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116010337B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7730099B2 (en) | Storage and retrieval of richly typed hierarchical network models | |
CN103631907A (zh) | 一种将关系型数据迁移至HBase的方法及系统 | |
CN103020301B (zh) | 一种多维度数据查询和存储方法及系统 | |
CN104899295B (zh) | 一种异构数据源数据关联分析方法 | |
CN116804994B (zh) | 数据同步方法、系统、装置、电子设备及存储介质 | |
US20090240731A1 (en) | Method and system of object reference based on a data object oriented repository system | |
CN116010337B (zh) | 一种openGauss访问ORC数据的方法 | |
CN111008198B (zh) | 业务数据获取方法、装置、存储介质、电子设备 | |
CN115203211A (zh) | 一种唯一哈希序号生成方法和系统 | |
CN114816247A (zh) | 一种逻辑数据获取方法及装置 | |
CN114490651A (zh) | 数据存储方法及装置 | |
CN113791832A (zh) | 一种echart组件的数据源配置方法、装置、终端及存储介质 | |
CN113127660A (zh) | 一种时序图形数据库存储方法及装置 | |
CN109117422B (zh) | 一种大规模高并发系统中全局唯一号码快速生成方法及系统 | |
CN112527911B (zh) | 一种数据存储方法、装置、设备及介质 | |
CN110232066A (zh) | 一种获取列表数据请求的对象缓存方法及系统 | |
CN113297230B (zh) | 数据验证方法及装置 | |
CN117271480B (zh) | 数据处理方法、装置、电子设备及介质 | |
CN117194372A (zh) | 数据迁移方法、装置、电子设备及存储介质 | |
CN113886392A (zh) | 分布式链路跟踪TraceID写入数据库的方法及系统 | |
CN116010451A (zh) | 一种基于clickhouse数据库的业务数据查询方法、系统及介质 | |
CN116501800A (zh) | 数据库表结构同步方法及装置 | |
CN116701545A (zh) | 审计数据分析方法、装置、存储介质及处理器 | |
CN116186072A (zh) | 一种Clickhouse冷热集群的数据转储方法及系统 | |
CN116483930A (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 |