CN114064148B - 数据处理方法、装置、电子设备及存储介质 - Google Patents

数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114064148B
CN114064148B CN202111365228.7A CN202111365228A CN114064148B CN 114064148 B CN114064148 B CN 114064148B CN 202111365228 A CN202111365228 A CN 202111365228A CN 114064148 B CN114064148 B CN 114064148B
Authority
CN
China
Prior art keywords
target
configuration information
data sets
container
loading operation
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
Application number
CN202111365228.7A
Other languages
English (en)
Other versions
CN114064148A (zh
Inventor
杨奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202111365228.7A priority Critical patent/CN114064148B/zh
Publication of CN114064148A publication Critical patent/CN114064148A/zh
Application granted granted Critical
Publication of CN114064148B publication Critical patent/CN114064148B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种数据处理方法、装置、电子设备及存储介质,涉及计算机技术领域,进一步涉及数据库领域,以至少解决相关技术中对数据库中的数据集合进行初始化的操作过程繁琐且开发成本较高的技术问题。具体实现方案为:在目标启动容器中植入配置信息,其中,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为多个数据集合创建对应的索引;控制目标启动容器执行加载操作过程,并在加载操作过程的目标阶段调用配置信息,以创建多个数据集合和/或多个数据集合对应的索引。

Description

数据处理方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机技术领域,进一步涉及数据库领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
基于分布式文件存储的数据库(MongoDB)能够为WEB应用提供可扩展的高性能数据存储解决方案。在进行轻量级开源框架(如,Spring)项目私有化或公有云部署时,需要对MongoDB数据库中的数据集合初始化。
相关技术中,进行初始化时,可以执行建立数据集合和索引的命令或者语句脚本,或者,通过Spring项目数据中的文件注解和索引注解在第一次操作MongoDB文档时创建数据集合和索引。但是,相关技术对MongoDB数据库进行初始化的操作过程繁琐且开发成本较高。
发明内容
本公开提供了一种数据处理方法、装置、电子设备及存储介质,以至少解决相关技术中对数据库中的数据集合进行初始化的操作过程繁琐且开发成本较高的技术问题。
根据本公开的一方面,提供了一种数据处理方法,包括:在目标启动容器中植入配置信息,其中,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为多个数据集合创建对应的索引;控制目标启动容器执行加载操作过程,并在加载操作过程的目标阶段调用配置信息,以创建多个数据集合和/或多个数据集合对应的索引。
根据本公开的又一方面,提供了一种数据处理装置,包括:配置模块,用于在目标启动容器中植入配置信息,其中,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为多个数据集合创建对应的索引;创建模块,用于控制目标启动容器执行加载操作过程,并在加载操作过程的目标阶段调用配置信息,以创建多个数据集合和/或多个数据集合对应的索引。
根据本公开的又一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提出的数据处理方法。
根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提出的数据处理方法。
根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行本公开提出的数据处理方法。
在本公开中,通过在目标启动容器中植入配置信息,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为多个数据集合创建对应的索引,进而控制目标启动容器执行加载操作过程,并在加载操作过程的目标阶段调用配置信息,以创建多个数据集合和/或多个数据集合对应的索引,达到了高效创建数据库中的数据集合及对应数据集合的索引的目的,实现了简化对数据库中的数据集合进行初始化的操作流程,进而降低开发成本的效果,从而解决了相关技术中对数据库中的数据集合进行初始化的操作过程繁琐且开发成本较高的技术问题。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是相关技术的一种数据处理方法示意图;
图2是相关技术的又一种数据处理方法示意图;
图3是根据本公开实施例的一种用于实现数据处理方法的计算机终端(或移动设备)的硬件结构框图;
图4是根据本公开实施例的一种数据处理方法流程图;
图5a是相关技术的一种创建数据集合与索引的操作过程示意图;
图5b是根据本公开实施例的一种创建数据集合与索引的操作过程示意图;
图6a是相关技术的一种实体对应关系示意图;
图6b是根据本公开实施例的一种实体对应关系示意图;
图7是根据本公开实施例的一种数据处理装置的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
对MongoDB数据库中的数据集合的初始化过程包括创建数据集合及对应集合的索引,现有方案中通常采用以下两种方式进行数据集合的初始化:
方式一:在MongoDB数据库中执行建立数据集合和索引的命令或者语句脚本。这种方式虽然简单直接,但是在对于一些无法访问外网的用户服务器进行私有化部署时,会出现无法登录MongoDB数据库,进而无法执行相应语句的情况。同样对于公有云项目,生产环境中的MongoDB数据库无法直接进行手动连接以执行语句操作,并且在采用手工操作进行初始化时,还需要注意建表和索引的先后顺序和依赖关系。
例如,图1是相关技术的一种数据处理方法示意图,如图1所示,在开始对MongoDB数据库中的数据集合进行初始化后,手动操作创建MongoDB数据库的数据集合及其对应的索引,随后进行项目启动,最后结束创建流程。
方式二:通过Spring项目数据中的文件(Document)注解和索引(Indexed)注解在第一次操作MongoDB文档时创建数据集合和索引。这种方式无需登录MongoDB数据库所在设备,由程序在操作数据库时自动创建集合和索引。但是,该方案在用户数据量较大、需要对MongoDB数据库进行同结构分表操作时存在不足。
由于Document注解修饰的持久化类,只能对应一个固定的数据集合创建Indexed注解修饰的字段索引,而无法对指定其他名称的数据集合建立索引。因此,在用户数据量较大、需要对MongoDB数据库进行同结构分表操作时,还是需要登录MongoDB数据库进行手动命令操作,同样面临类似于方案一中对应的服务器无法连接进而无法操作的问题。
虽然还可以利用Document注解,根据需要建立分表的数量,一一对应的建立大量的同结构持久化实体,然后在操作数据库的时候自行建立集合和索引。但这种方式会建立大量的重复结构实体,增加了服务启动时容器加载的负担,也会消耗更多的内存等服务器资源,重复代码也会指数级的增加。并且后续如果需要修改持久层代码,则所有同结构的持久化实体代码都面临修改,增加了大量的开发成本,也不利于***本身的维护。
例如,图2是相关技术的又一种数据处理方法示意图,如图2所示,在开始对MongoDB数据库中的数据集合进行初始化后,首先进行项目启动,在项目启动后根据注解在第一次操作MongoDB文档时创建数据集合并添加索引。
现有方案在进行Spring项目私有化或公有云部署时,存在对数据库中的数据集合进行初始化的操作过程繁琐且开发成本较高的技术问题。
根据本公开实施例,提供了一种数据处理方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本公开实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的电子设备中执行。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。图3示出了一种用于实现数据处理方法的计算机终端(或移动设备)的硬件结构框图。
如图3所示,计算机终端300包括计算单元301,其可以根据存储在只读存储器(ROM)302中的计算机程序或者从存储单元308加载到随机访问存储器(RAM)303中的计算机程序,来执行各种适当的动作和处理。在RAM 303中,还可存储计算机终端300操作所需的各种程序和数据。计算单元301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
计算机终端300中的多个部件连接至I/O接口305,包括:输入单元306,例如键盘、鼠标等;输出单元307,例如各种类型的显示器、扬声器等;存储单元308,例如磁盘、光盘等;以及通信单元309,例如网卡、调制解调器、无线通信收发机等。通信单元309允许计算机终端300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元301的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元301执行本文所描述的数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。在一些实施例中,计算机程序的部分或者全部可以经由ROM 302和/或通信单元309而被载入和/或安装到计算机终端300上。当计算机程序加载到RAM 303并由计算单元301执行时,可以执行本文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
本文中描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
此处需要说明的是,在一些可选实施例中,上述图3所示的电子设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图3仅为特定具体实例的一个实例,并且旨在示出可存在于上述电子设备中的部件的类型。
在上述运行环境下,本公开提供了如图4所示的数据处理方法,该方法可以由图3所示的计算机终端或者类似的电子设备执行。图4是根据本公开实施例提供的一种数据处理方法流程图。如图4所示,该方法可以包括如下步骤:
步骤S40,在目标启动容器中植入配置信息,其中,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为多个数据集合创建对应的索引;
上述目标启动容器为一种开源应用框架,例如,目标启动容器可以为开源应用框架Springboot容器。
上述目标类型数据库包括且不限于MongoDB数据库、关系型数据库管理***(MySQL)数据库等。上述多个数据集合可以为MongoDB数据库中的多个集合(collection),也可以为MySQL中的多个数据表。
可选地,在目标启动容器中植入配置信息包括:在目标启动容器中植入可以自动执行的代码,该代码可用于创建目标类型数据库的多个数据集合和/或为多个数据集合创建对应的索引。
可选地,在目标启动容器中植入配置信息,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合。
可选地,在目标启动容器中植入配置信息,配置信息用于在目标启动容器执行加载操作过程中为多个数据集合创建对应的索引。
可选地,在目标启动容器中植入配置信息,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和为多个数据集合创建对应的索引。
具体的,在目标启动容器中植入配置信息的实现过程可参照对于本公开实施例的进一步介绍,不予赘述。
步骤S42,控制目标启动容器执行加载操作过程,并在加载操作过程的目标阶段调用配置信息,以创建多个数据集合和/或多个数据集合对应的索引。
上述目标阶段为加载操作完成前的最后一个操作步骤。
根据本公开上述步骤S40至步骤S42,通过在目标启动容器中植入配置信息,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为多个数据集合创建对应的索引,进而控制目标启动容器执行加载操作过程,并在加载操作过程的目标阶段调用配置信息,以创建多个数据集合和/或多个数据集合对应的索引,达到了高效创建数据库中的数据集合及对应数据集合的索引的目的,实现了简化对数据库中的数据集合进行初始化的操作流程,进而降低开发成本的效果,从而解决了相关技术中对数据库中的数据集合进行初始化的操作过程繁琐且开发成本较高的技术问题。
下面对上述实施例的数据处理方法进行进一步介绍。
作为一种可选的实施方式,在步骤S40,在目标启动容器中植入配置信息包括:在目标启动容器执行加载操作过程中,植入配置信息。
作为一种可选的实施方式,在目标启动容器执行加载操作过程中,植入配置信息包括以下任意一个步骤:
步骤S401,在目标启动容器执行加载操作过程中,基于目标启动容器提供的实例对象,在目标启动容器中植入配置信息;
具体的,基于目标启动容器提供的实例对象,在目标启动容器中植入配置信息的实现过程可以参照下文实施例的进一步介绍。
步骤S402,在目标启动容器执行加载操作过程中,基于目标类型数据库的原生方式,在目标启动容器中植入配置信息。
其中,原生方式用于表示采用目标类型数据库的原生控制命令对目标类型数据库进行控制操作。
具体的,基于目标类型数据库的原生方式,在目标启动容器中植入配置信息的实现过程可以参照下文实施例的进一步介绍。
基于上述步骤S401或者步骤S402,在目标启动容器执行加载操作过程中,分别基于目标启动容器提供的实例对象,或者,基于目标类型数据库的原生方式,能够在目标启动容器中植入配置信息,以便于后续在加载操作过程中直接调用配置信息,进而提高多个数据集合及其对应索引的创建效率。
作为一种可选的实施方式,在步骤S401,基于目标启动容器提供的实例对象,在目标启动容器中植入配置信息包括:
步骤S4011,对第一实例对象进行初始化,其中,第一实例对象由目标启动容器提供,并且第一实例对象的底层与目标类型数据库建立连接;
上述第一实例对象可以为Mongo模板实例对象,即MongoTemplate对象。其中,MongoTemplate对象可以由Springboot容器提供,该实例对象的底层与MongoDB数据库建立连接。
步骤S4012,通过初始化后的第一实例对象植入配置信息,以创建多个数据集合和/或多个数据集合对应的索引。
具体的,通过初始化后的第一实例对象植入配置信息以直接操作MongoDB数据库,进而创建多个数据集合和/或多个数据集合对应的索引。
基于上述步骤S4011至步骤S4012,能够基于目标启动容器提供的实例对象,在目标启动容器中植入配置信息,以利用第一实例对象创建多个数据集合和/或多个数据集合对应的索引。
作为一种可选的实施方式,在步骤S402,基于目标类型数据库的原生方式,在目标启动容器中植入配置信息包括:
步骤S4021,通过目标类型数据库的原生控制命令创建第二实例对象,其中,第二实例对象用于连接目标类型数据库;
上述第二实例对象为Mongo客户对象,即MongoClient对象,MongoClient对象可以通过参数传入的网际互联协议(Internet Protocol,IP)地址和端口与MongoDB数据库建立连接。
步骤S4022,通过第二实例对象获取目标类型数据库的第三实例对象;
上述第三实例对象可以为Mongo数据库对象,即MongoDataBase对象。
步骤S4023,通过第三实例对象获取目标类型数据库的目标集合对象;
上述目标集合对象为Mongo集合对象,即MongoCollection对象。
步骤S4024,通过目标集合对象植入配置信息,以创建多个数据集合和/或多个数据集合对应的索引。
例如,通过MongoCollection对象直接操作MongoDB数据库,以创建多个数据集合和多个数据集合对应的索引。
基于上述步骤S4021至步骤S4024,能够基于目标类型数据库的原生方式,在目标启动容器中植入配置信息,以创建多个数据集合和/或多个数据集合对应的索引。
作为一种可选的实施方式,在步骤S42,控制目标启动容器执行加载操作过程,并在目标阶段调用配置信息包括:控制目标启动容器执行加载操作过程,并在加载操作完成前的最后一个操作步骤调用配置信息。
具体的,控制目标启动容器执行加载操作过程中,将目标启动容器首先载入所需的资源,在加载操作完成前的最后一个操作步骤调用配置信息,可以充分利用加载操作过程中已载入的资源。
作为一种可选的实施方式,多个数据集合具有相同的数据结构。
具体的,多个数据集合的持久化实体类相同。由于目标启动容器初始化时已经对MongoDB数据库的相应集合创建了索引,因而不需要通过持久化实体中的注解创建索引。此时,利用一个持久化实体类即可操作MongoDB数据库中的多个数据结构相同的集合分表。
下面结合示意图对本公开实施例的数据处理方法进行介绍。
图5a是相关技术的一种创建数据集合与索引的操作过程示意图,如图5a所示,部署人员需要手动在MongoDB数据库中创建多个数据集合和多个数据集合对应的索引,在完成创建之后启动项目服务。
图5b是根据本公开实施例的一种创建数据集合与索引的操作过程示意图,如图5b所示,执行本公开实施例的数据处理方法,部署人员可以直接启动项目服务,在项目服务执行加载操作过程中,可以调用配置信息自动创建多个MongoDB数据库中的多个数据集合和多个数据集合对应的索引。
本公开在目标启动容器执行加载操作过程调用配置信息,以创建多个数据集合和多个数据集合对应的索引,可以实现在项目服务启动时自动执行初始化任务,可以简化相关技术中登录数据库手动操作以进行初始化的流程。进一步地,能够避免产生手动执行时间晚于服务启动时间而导致的不符合表结构或索引的异常数据,同时。服务容器的加载过程无需等待数据库中集合、索引创建完成,从而减少了项目发布时的服务不可用时间。
图6a是相关技术的一种实体对应关系示意图,如图6a所示,采用在持久化实体类中加入Document注解和Indexed注解等来对数据库表或集合进行操作时,一个持久化实体类只能唯一对应的初始化一个名称的集合的索引,对于同一结构的多个集合分表,需要建立与集合个数相同数目的持久化实体类,才能达到初始化每一个集合分表的目的。即在MongoDB数据库中建立n个数据集合时,需要在在项目容器中一一对应地创建n个持久化实体类,这种方式不利于后续对MongoDB数据库的操作和持久化实体类的管理。
图6b是根据本公开实施例的一种实体对应关系示意图,图6b所示,本公开实施例中可以在目标启动容器中植入配置信息,其中,配置信息可以进行自定义,进而可以按需建立相同数据结构的多个MongoDB的数据集合,并且在容器初始化后就完成对数据集合对应索引的创建。因此,在操作相同数据结构的数据集合时,只需要在项目容器中创建一个持久化实体类,从而实现持久化实体类的便捷管理。
本公开实施例通过在目标启动容器中植入配置信息,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为多个数据集合创建对应的索引,进而控制目标启动容器执行加载操作过程,并在加载操作过程的目标阶段调用配置信息,以创建多个数据集合和/或多个数据集合对应的索引,达到了高效创建数据库中的数据集合及对应数据集合的索引的目的,实现了简化对数据库中的数据集合进行初始化的操作流程,进而降低开发成本的效果,从而解决了相关技术中对数据库中的数据集合进行初始化的操作过程繁琐且开发成本较高的技术问题。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
在本公开中还提供了一种数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本公开其中一实施例的一种数据处理装置的结构框图,如图7所示,一种数据处理装置700包括:
配置模块701,用于在目标启动容器中植入配置信息,其中,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为多个数据集合创建对应的索引;
创建模块702,用于控制目标启动容器执行加载操作过程,并在加载操作过程的目标阶段调用配置信息,以创建多个数据集合和/或多个数据集合对应的索引。
可选地,配置模块701还用于:在目标启动容器执行加载操作过程中,植入配置信息。
可选地,配置模块701还用于:在目标启动容器执行加载操作过程中,基于目标启动容器提供的实例对象,在目标启动容器中植入配置信息;或者,在目标启动容器执行加载操作过程中,基于目标类型数据库的原生方式,在目标启动容器中植入配置信息,其中,原生方式用于表示采用目标类型数据库的原生控制命令对目标类型数据库进行控制操作。
可选地,配置模块701还用于:对第一实例对象进行初始化,其中,第一实例对象由目标启动容器提供,并且第一实例对象的底层与目标类型数据库建立连接;通过初始化后的第一实例对象植入配置信息,以创建多个数据集合和/或多个数据集合对应的索引。
可选地,配置模块701还用于:通过目标类型数据库的原生控制命令创建第二实例对象,其中,第二实例对象用于连接目标类型数据库;通过第二实例对象获取目标类型数据库的第三实例对象;通过第三实例对象获取目标类型数据库的目标集合对象;通过目标集合对象植入配置信息,以创建多个数据集合和多个数据集合对应的索引。
可选地,创建模块702还用于:控制目标启动容器执行加载操作过程,并在加载操作完成前的最后一个操作步骤调用配置信息。
可选地,多个数据集合具有相同的数据结构。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
根据本公开的实施例,本公开还提供了一种电子设备,包括存储器和至少一个处理器,该存储器中存储有计算机指令,该处理器被设置为运行计算机指令以执行上述任一项方法实施例中的步骤。
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本公开中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在目标启动容器中植入配置信息,其中,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为多个数据集合创建对应的索引;
S2,控制目标启动容器执行加载操作过程,并在加载操作过程的目标阶段调用配置信息,以创建多个数据集合和/或多个数据集合对应的索引。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该非瞬时计算机可读存储介质中存储有计算机指令,其中,该计算机指令被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述非瞬时计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在目标启动容器中植入配置信息,其中,配置信息用于在目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为多个数据集合创建对应的索引;
S2,控制目标启动容器执行加载操作过程,并在加载操作过程的目标阶段调用配置信息,以创建多个数据集合和/或多个数据集合对应的索引。
可选地,在本实施例中,上述非瞬时计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的实施例,本公开还提供了一种计算机程序产品。用于实施本公开的音频处理方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本公开所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM)、随机存取存储器(RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。

Claims (10)

1.一种数据处理方法,包括:
在目标启动容器中植入配置信息,其中,所述配置信息用于在所述目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为所述多个数据集合创建对应的索引;
控制所述目标启动容器执行所述加载操作过程,并在所述加载操作过程的目标阶段调用所述配置信息,以创建所述多个数据集合和/或所述多个数据集合对应的索引;
其中,在所述目标启动容器中植入所述配置信息包括:在所述目标启动容器执行所述加载操作过程中,植入所述配置信息;
其中,在所述目标启动容器执行所述加载操作过程中,植入所述配置信息包括:在所述目标启动容器执行所述加载操作过程中,基于所述目标启动容器提供的实例对象,在所述目标启动容器中植入所述配置信息;或者,在所述目标启动容器执行所述加载操作过程中,基于所述目标类型数据库的原生方式,在所述目标启动容器中植入所述配置信息,其中,所述原生方式用于表示采用所述目标类型数据库的原生控制命令对所述目标类型数据库进行控制操作;
其中,所述多个数据集合具有相同的数据结构。
2.根据权利要求1所述的方法,其中,基于所述目标启动容器提供的实例对象,在所述目标启动容器中植入所述配置信息包括:
对第一实例对象进行初始化,其中,所述第一实例对象由所述目标启动容器提供,并且所述第一实例对象的底层与所述目标类型数据库建立连接;
通过初始化后的所述第一实例对象植入所述配置信息,以创建所述多个数据集合和/或所述多个数据集合对应的索引。
3.根据权利要求1所述的方法,其中,基于所述目标类型数据库的原生方式,在所述目标启动容器中植入所述配置信息包括:
通过所述目标类型数据库的原生控制命令创建第二实例对象,其中,所述第二实例对象用于连接所述目标类型数据库;
通过所述第二实例对象获取所述目标类型数据库的第三实例对象;
通过所述第三实例对象获取所述目标类型数据库的目标集合对象;
通过所述目标集合对象植入所述配置信息,以创建所述多个数据集合和/或所述多个数据集合对应的索引。
4.根据权利要求1所述的方法,其中,控制所述目标启动容器执行所述加载操作过程,并在所述目标阶段调用所述配置信息包括:
控制所述目标启动容器执行所述加载操作过程,并在加载操作完成前的最后一个操作步骤调用所述配置信息。
5.一种数据处理装置,包括:
配置模块,用于在目标启动容器中植入配置信息,其中,所述配置信息用于在所述目标启动容器执行加载操作过程中创建目标类型数据库的多个数据集合和/或为所述多个数据集合创建对应的索引;
创建模块,用于控制所述目标启动容器执行所述加载操作过程,并在所述加载操作过程的目标阶段调用所述配置信息,以创建所述多个数据集合和/或所述多个数据集合对应的索引;
其中,所述配置模块还用于:在所述目标启动容器执行所述加载操作过程中,植入所述配置信息;
其中,所述配置模块还用于:在所述目标启动容器执行所述加载操作过程中,基于所述目标启动容器提供的实例对象,在所述目标启动容器中植入所述配置信息;或者,在所述目标启动容器执行所述加载操作过程中,基于所述目标类型数据库的原生方式,在所述目标启动容器中植入所述配置信息,其中,所述原生方式用于表示采用所述目标类型数据库的原生控制命令对所述目标类型数据库进行控制操作;
其中,所述多个数据集合具有相同的数据结构。
6.根据权利要求5所述的装置,其中,所述配置模块还用于:
对第一实例对象进行初始化,其中,所述第一实例对象由所述目标启动容器提供,并且所述第一实例对象的底层与所述目标类型数据库建立连接;
通过初始化后的所述第一实例对象植入所述配置信息,以创建所述多个数据集合和/或所述多个数据集合对应的索引。
7.根据权利要求5所述的装置,其中,所述配置模块还用于:
通过所述目标类型数据库的原生控制命令创建第二实例对象,其中,所述第二实例对象用于连接所述目标类型数据库;
通过所述第二实例对象获取所述目标类型数据库的第三实例对象;
通过所述第三实例对象获取所述目标类型数据库的目标集合对象;
通过所述目标集合对象植入所述配置信息,以创建所述多个数据集合和/或所述多个数据集合对应的索引。
8.根据权利要求5所述的装置,其中,所述创建模块还用于:
控制所述目标启动容器执行所述加载操作过程,并在加载操作完成前的最后一个操作步骤调用所述配置信息。
9. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-4中任一项所述的方法。
CN202111365228.7A 2021-11-17 2021-11-17 数据处理方法、装置、电子设备及存储介质 Active CN114064148B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111365228.7A CN114064148B (zh) 2021-11-17 2021-11-17 数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111365228.7A CN114064148B (zh) 2021-11-17 2021-11-17 数据处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114064148A CN114064148A (zh) 2022-02-18
CN114064148B true CN114064148B (zh) 2023-09-01

Family

ID=80277694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111365228.7A Active CN114064148B (zh) 2021-11-17 2021-11-17 数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114064148B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814881A (zh) * 2017-11-21 2019-05-28 北京京东尚科信息技术有限公司 用于部署数据库集群的方法和装置
CN110968565A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 一种数据库的创建方法及***
CN111651248A (zh) * 2020-04-29 2020-09-11 中国平安财产保险股份有限公司 定时任务执行方法、装置、电子设备及存储介质
CN111796838A (zh) * 2020-06-30 2020-10-20 中国工商银行股份有限公司 Mpp数据库自动部署方法及装置
CN112783859A (zh) * 2021-01-08 2021-05-11 河北志晟信息技术股份有限公司 一种数据库的轻量级并发迁移方法
CN113051266A (zh) * 2019-12-27 2021-06-29 浙江大搜车软件技术有限公司 数据处理方法、装置、计算机可读存储介质和计算机设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478112B2 (en) * 2004-12-16 2009-01-13 International Business Machines Corporation Method and apparatus for initializing data propagation execution for large database replication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814881A (zh) * 2017-11-21 2019-05-28 北京京东尚科信息技术有限公司 用于部署数据库集群的方法和装置
CN110968565A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 一种数据库的创建方法及***
CN113051266A (zh) * 2019-12-27 2021-06-29 浙江大搜车软件技术有限公司 数据处理方法、装置、计算机可读存储介质和计算机设备
CN111651248A (zh) * 2020-04-29 2020-09-11 中国平安财产保险股份有限公司 定时任务执行方法、装置、电子设备及存储介质
CN111796838A (zh) * 2020-06-30 2020-10-20 中国工商银行股份有限公司 Mpp数据库自动部署方法及装置
CN112783859A (zh) * 2021-01-08 2021-05-11 河北志晟信息技术股份有限公司 一种数据库的轻量级并发迁移方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李纪伟 ; 段中帅 ; 王顺晔 ; .非结构化数据库MongoDB的数据存储.电脑知识与技术.2018,(27),全文. *

Also Published As

Publication number Publication date
CN114064148A (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
US9489189B2 (en) Dynamically generate and execute a context-specific patch installation procedure on a computing system
CN106681718A (zh) 一种基于工具集的桌面端插件框架及实现方法
CN110688096B (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
CN110109983B (zh) 一种操作Redis数据库的方法和装置
CN113641700A (zh) 一种基于Spring boot框架的数据处理方法及装置
CN111506368A (zh) 对异步调用转同步调用的方法、装置、设备及存储介质
CN117093286B (zh) 插件生成方法、装置、设备及计算机可读存储介质
US20190196794A1 (en) Visual programming method, system and terminal device
JP2021131897A (ja) スケジューリング方法、装置、設備、記憶設備、及びプログラム
CN113760733A (zh) 一种单元测试方法和装置
US10129328B2 (en) Centralized management of webservice resources in an enterprise
CN114064148B (zh) 数据处理方法、装置、电子设备及存储介质
CN116932147A (zh) 流式作业处理方法、装置、电子设备及介质
EP4102361A2 (en) Method and apparatus for managing functions of a query engine
CN111414154A (zh) 前端开发的方法、装置、电子设备和存储介质
CN113110920B (zh) 区块链***的运行方法、装置、设备和存储介质
CN113515306B (zh) 一种***移植的方法及装置
CN115129740A (zh) 一种云原生环境下的分布式微服务数据库更新方法及***
CN114489674A (zh) 动态数据模型的数据校验方法和装置
CN112181401A (zh) 应用构建方法及应用构建平台
CN115563183B (zh) 查询方法、装置及程序产品
CN114553688B (zh) 云计算部署方法、装置、设备及计算机可读存储介质
CN113220576B (zh) 测试环境的管理方法、装置、设备以及存储介质
EP4080363A1 (en) Method and apparatus for operating blockchain system, device and storage medium
CN114968200A (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