一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据库管理方法、装置、设备和存储介质与流程

2022-02-20 00:07:01 来源:中国专利 TAG:
1.本发明涉及数据库
技术领域
:,尤其涉及一种数据库管理方法、装置、设备和存储介质。
背景技术
::2.数据库的开发过程较为复杂,涉及需要处理的数据库表的数量较为庞大、数据库更新频繁、需要人工编写大量的数据库操作代码、工程代码字段和数据库代码字段难以对应查看、严格的版本控制等问题,因此需要人工投入的工作量大且较为容易出错。3.为了解决上述问题,在建立数据库或者对已存在的数据库进行更新操作时,可以通过工具辅助完成这些操作。具体来说,技术人员可以在文本文件中写入工程代码的逻辑变量,将写好的文本文件输入到工具中,由工具基于逻辑变量生成代码片段,技术人员需要将代码片段再添加回工程文件中。另外,在更新数据库的过程中,也需要技术人员选择表相关文件,通过更新前和更新后的表相关文件的比对,生成数据库更新操作需要使用的文件。同时,每个版本的数据库都有各自的版本号,在更新数据库的过程中,需要技术人员手动填写更新后的数据库对应的版本号。4.在上述过程中,依然需要大量的人工参与,操作效率较低。工具提供的只是各个阶段的拼接化操作,无法将工作流程化。此外,人工操作容易出现错误,导致数据库建立失败或者数据库更新失败。技术实现要素:5.本发明实施例提供一种数据库管理方法、装置、设备和存储介质,用以实现简化数据库的开发过程,提高数据库开发过程的自动化程度。6.第一方面,本发明实施例提供一种数据库管理方法,该方法包括:7.获取表相关文件和版本文件,所述表相关文件包括文本文件和汇总文件,所述文本文件记录有数据库表的标识、数据库表中各字段的标识、数据量和索引,所述版本文件记录有数据库的版本号;8.基于所述文本文件、所述汇总文件和所述版本文件,生成操作脚本文件、目标数据库操作文件以及逻辑层操作文件,所述操作脚本文件用于在系统中辅助执行所述目标数据库操作文件;9.基于所述操作脚本文件、所述目标数据库操作文件以及所述逻辑层操作文件,创建数据库或者对已创建的数据库进行更新。10.第二方面,本发明实施例提供一种数据库管理装置,包括:11.获取模块,用于获取表相关文件和版本文件,所述表相关文件包括文本文件和汇总文件,所述文本文件记录有数据库表的标识、数据库表中各字段的标识、数据量和索引,所述版本文件记录有数据库的版本号;12.生成模块,用于基于所述文本文件、所述汇总文件和所述版本文件,生成操作脚本文件、目标数据库操作文件以及逻辑层操作文件,所述操作脚本文件用于在系统中辅助执行所述目标数据库操作文件;13.创建模块,用于基于所述操作脚本文件、所述目标数据库操作文件以及所述逻辑层操作文件,创建数据库或者对已创建的数据库进行更新。14.第三方面,本发明实施例提供一种电子设备,其中包括处理器和存储器,其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现第一方面中的数据库管理方法。15.第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现第一方面中的数据库管理方法。16.采用本发明实施例提供的方法,技术人员仅需要编写好表相关文件和版本文件,可以自动基于表相关文件和版本文件,生成操作脚本文件、目标数据库操作文件以及逻辑层操作文件,操作脚本文件、目标数据库操作文件以及逻辑层操作文件为创建数据库或者更新数据库所需的所有文件。在编写表相关文件和版本文件之后,无需再加入人工参与,可以自动生成创建数据库或者更新数据库所需的所有文件。采样本发明简化了数据库的开发过程且提高了数据库开发过程的自动化程度,大大提高了数据库开发的操作效率。附图说明17.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。18.图1为本发明实施例提供的一种数据库管理方法的流程示意图;19.图2为本发明实施例提供的一种文件生成的流程示意图;20.图3为本发明实施例提供的一种数据库管理装置的结构示意图;21.图4为本发明实施例提供的一种电子设备的结构示意图。具体实施方式22.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。23.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。24.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。25.另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。26.图1为本发明实施例提供的一种数据库管理方法的流程图,如图1所示,该方法包括如下步骤:27.101、获取表相关文件和版本文件,表相关文件包括文本文件和汇总文件,版本文件记录有数据库的版本号。28.102、基于文本文件、汇总文件和版本文件,生成操作脚本文件、目标数据库操作文件以及逻辑层操作文件,操作脚本文件用于在系统中辅助执行目标数据库操作文件。29.103、基于操作脚本文件、目标数据库操作文件以及逻辑层操作文件,创建数据库或者对已创建的数据库进行更新。30.需要说明的是,本发明实施例提供的数据库管理方法可以应用于游戏服务器中的数据库中。对于此类数据库,相对于其他业务数据库的开发,游戏服务器中的数据库中的数据库表之间几乎没有关联,目标代码按照配置不同,可生成不同版本代码。因此,本发明实施例中的数据库有版本的概念,生成结果包含版本信息。31.上述操作脚本文件、目标数据库操作文件以及逻辑层操作文件为创建数据库或者对已创建的数据库进行更新操作所需使用的文件。32.上述表相关文件和版本文件是技术人员编辑的,在技术人员编辑好表相关文件和版本文件之后,就无需再有人工参与,采用本发明可以自动地将表相关文件和版本文件转换成操作脚本文件、目标数据库操作文件以及逻辑层操作文件,以完成数据库的开发操作。采用本发明实施例提供的方法,可以大大节省人工成本,提高数据库开发效率。33.可选地,在上述技术人员编辑表相关文件的过程中,技术人员可以将编辑的内容存储为txt格式的文本。另外,在上述技术人员编辑版本文件的过程中,技术人员可以将编辑的内容存储为ini格式的文件。34.其中,表相关文件可以包括文本文件和汇总文件。在一种可能的实现方式中,文本文件例如可以是t_xx.txt,汇总文件例如可以是dbinfo.txt,版本文件例如可以是db.ini。35.可以理解的是,由于可以基于表相关文件和版本文件生成构建数据库或者更新数据库所需的所有文件,因此表相关文件和版本文件中记录有构建数据库或者更新数据库所需的所有信息。36.在基于表相关文件和版本文件生成操作脚本文件、目标数据库操作文件以及逻辑层操作文件的过程中,可以认为操作脚本文件、目标数据库操作文件以及逻辑层操作文件中包括可变部分和固定部分。对于固定部分,直接使用模板化的内容即可。对于可变部分,由于这些可变部分是根据具体的使用需求不断变化的,如不同的逻辑变量,因此需要技术人员将这些可变部分输入到表相关文件和版本文件中,然后可以解析表相关文件和版本文件并从中获取可变部分,结合固定部分和从输入的表相关文件和版本文件中获取的可变部分,最终确定出操作脚本文件、目标数据库操作文件以及逻辑层操作文件。37.例如,技术人员在文本文件中输入intm_a、intm_b,表示想要创建两个逻辑变量。可以根据输入的intm_a、intm_b对应输出%d、%dsql语句,也就是将intm_a、intm_b对应的字段添加在数据库中。其中,%d、%d可以存储于目标数据库操作文件中。38.可以理解的是,数据库中存储有大量的数据库表,构建数据库的过程就相当于创建数据库表。创建数据库表所需的信息记录在文本文件中,每个文本文件可以对应一张数据库表。可选地,文本文件记录有数据库表的标识、数据库表中各字段的标识、数据量和索引。39.可选地,汇总文件记录有逻辑层对数据库表进行加载和存储操作使用的信息。40.其中,逻辑层也可以视为功能侧,在实现某些目标功能时,逻辑层需要对逻辑变量进行运算。当逻辑变量的数据量较为庞大时,可以将这些逻辑变量存入数据库中,由数据库进行管理。41.当逻辑层需要某些逻辑变量时,可以将数据库的数据库表中的目标字段(目标字段和逻辑层需要的逻辑变量相对应)加载到内存中,以供逻辑层操作。通过运行某些逻辑对逻辑变量的值进行修改,可以将修改后的逻辑变量的值再存储回数据库表中。逻辑变量存在于内存中,数据库表中的字段存在于数据库中,二者具有一一对应的关系。例如,内存中有逻辑变量m_money,那么数据库中对应有字段money。m_money的值从数据库中读取,经过逻辑层的修改再存储回数据库中。42.通过上述描述可以看出,逻辑层和数据库之间是有交互的,这些交互可以是逻辑层对数据库表中的字段的加载和存储操作。加载和存储操作是由逻辑层操作文件具体实现的,而生成逻辑层操作文件所需的信息记录在汇总文件中。因此,在创建数据库或者更新数据库时,还需要生成逻辑层对数据库表的操作过程中所需使用的逻辑层操作文件。43.需要说明的是,每张数据库表都对应有供逻辑层进行加载和存储操作的逻辑层操作代码(逻辑层操作代码存储于逻辑层操作文件中),生成各数据库表分别对应的逻辑层操作代码的代码模板就记录在汇总文件中。44.本发明实施例中的版本文件用于记录数据库的版本号,包括更新前的数据库的版本号以及更新后的数据库的版本号,也可以称为数据库的旧版本号和数据库的当前版本号。45.需要说明的是,如果未创建数据库,则需要创建数据库。如果已创建数据库,且需要对数据库中的字段进行修改,则不需要再创建数据库,而是可以对已创建的数据库进行更新。例如,当前版本号为2.0,旧版本号为1.0,数据库2.0相比于数据库1.0增加了a字段,在从数据库1.0升级到数据库2.0时可以通过增加a字段实现。46.本发明实施例中的操作脚本文件也可以是shell文件。shell是一个用c语言编写的程序,它是用户使用linux的桥梁。shell既是一种命令语言,又是一种程序设计语言。shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。自动生成的目标数据库操作文件是一种可以执行的文件,而执行目标数据库操作文件需要依靠操作脚本文件。47.目标数据库操作文件的操作对象为数据库,逻辑层操作文件的操作对象为逻辑层,它们的操作对象不同。可选地,目标数据库操作文件为使用结构化查询语言(structuredquerylanguage,sql)编写的文件。通过目标数据库操作文件中的sql语句可以实现数据库的创建和更新操作,也可以实现数据库表的生成操作。需要说明的是,文本文件中记录有生成目标数据库操作文件所需的相关信息,通过文本文件可以生成目标数据库操作文件中的sql语句,通过执行sql语句可以创建数据库和数据库表。48.相应地,逻辑层操作文件为使用c 语言编写的文件。前面介绍过,逻辑层操作文件用于实现逻辑层对数据库表中的字段的加载和存储操作。49.可选地,如图2所示,基于文本文件、汇总文件和版本文件,生成操作脚本文件、目标数据库操作文件以及逻辑层操作文件的过程可以实现为:50.201、基于文本文件和版本文件,生成操作脚本文件以及与数据库的版本号关联的目标数据库操作文件,目标数据库操作文件的内容为空。51.上述数据库的版本号可以是当前版本号,当前版本号由技术人员输入在版本文件中,可以通过解析版本文件的方式获取当前版本号。52.在本步骤中,可以先生成带有当前版本号的内容为空的目标数据库操作文件和操作脚本文件,后续可以再向内容为空的目标数据库操作文件中添入内容。其中,当未创建数据库时,目标数据库操作文件用于创建数据库,当已创建数据库时,目标数据库操作文件用于更新数据库。目标数据库操作文件还用于向逻辑层提供对数据库表进行加载和存储的操作接口,其中,操作接口为sql语句。相应地,操作脚本文件也可用于在系统中辅助执行用于创建或者更新数据库的目标数据库操作文件。53.202、确定数据库操作代码。54.上述数据库操作代码为可以添加到步骤301中的目标数据库操作文件中的内容。数据库操作代码为sql语句,通过数据库操作代码可以实现数据库的创建、更新操作以及提供加载和存储的操作接口。55.可选地,确定数据库操作代码的过程可以实现为:基于文本文件,生成数据库表对应的操作对象;基于操作对象,确定数据库操作代码。56.每个文本文件对应一张数据库表,文本文件中包括数据库表的标识、数据库表中各字段的标识、数据量和索引这些信息,由这些信息可以确定一张数据库表。57.实际应用中,技术人员可能会编写多个文本文件,可以挨个遍历多个文本文件,生成每个数据库表对应的操作对象。在生成每个数据库表对应的操作对象之后,为每个操作对象生成逻辑层对各数据库表进行加载和存储操作的操作接口。58.203、将数据库操作代码添加到目标数据库操作文件中。59.204、基于汇总文件,生成逻辑层操作文件。60.汇总文件中包括生成各数据库表分别对应的逻辑层操作代码需要使用的代码模板,因此可以基于汇总文件中的代码模板,生成逻辑层操作文件。此外,由于数据库表中的字段和逻辑层中的逻辑变量是一一对应的,在创建了数据库表中的字段之后,也可以对应创建逻辑层中的逻辑变量,这些逻辑变量也可以体现在逻辑层操作文件中。61.在一种可能的实现方式中,操作脚本文件例如可以是update_db.sh、create_db.sh,目标数据库操作文件例如可以是xx_table_mysql.sql、xx_data_mysql.sql、xx_oldv_newv.sql,逻辑层操作文件例如可以是t_xx.h。62.如果已创建数据库,当前需要对数据库进行更新,则更新的过程可以实现为:从版本文件中获取更新前的数据库的版本号;确定更新前的数据库的版本号对应的旧数据库操作文件;对比旧数据库操作文件和目标数据库操作文件,以生成数据库更新操作文件;基于数据库更新操作文件,对数据库进行更新。63.上述数据库更新操作文件可以是由sql语句构成的。64.为了便于理解,下面以具体示例说明数据库更新的过程。假设已有数据库1.0,需要将数据库从1.0版本更新到2.0版本。可以对比数据库1.0对应的数据库操作文件和数据库2.0对应的数据库操作文件,然后根据两者的差异生成数据库更新操作文件,最后基于该数据库更新文件对数据库1.0进行升级。65.采用本发明实施例提供的方法,技术人员仅需要编写好表相关文件和版本文件,可以自动基于表相关文件和版本文件,生成操作脚本文件、目标数据库操作文件以及逻辑层操作文件,操作脚本文件、目标数据库操作文件以及逻辑层操作文件为创建数据库或者更新数据库所需的所有文件。在编写表相关文件和版本文件之后,无需再加入人工参与,可以自动生成创建数据库或者更新数据库所需的所有文件。采样本发明简化了数据库的开发过程且提高了数据库开发过程的自动化程度,大大提高了数据库开发的操作效率。66.以下将详细描述本发明的一个或多个实施例的数据库管理装置。本领域技术人员可以理解,这些数据库管理装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。67.图3为本发明实施例提供的一种数据库管理装置的结构示意图,如图3所示,该装置包括:68.获取模块31,用于获取表相关文件和版本文件,所述表相关文件包括文本文件和汇总文件,所述文本文件记录有数据库表的标识、数据库表中各字段的标识、数据量和索引,所述版本文件记录有数据库的版本号;69.生成模块32,用于基于所述文本文件、所述汇总文件和所述版本文件,生成操作脚本文件、目标数据库操作文件以及逻辑层操作文件,所述操作脚本文件用于在系统中辅助执行所述目标数据库操作文件;70.创建模块33,用于基于所述操作脚本文件、所述目标数据库操作文件以及所述逻辑层操作文件,创建数据库或者对已创建的数据库进行更新。71.可选地,所述文本文件记录有数据库表的标识、数据库表中各字段的标识、数据量和索引;72.所述汇总文件记录有逻辑层对数据库表进行加载和存储操作使用的信息。73.可选地,所述生成模块32,用于:74.基于所述文本文件和所述版本文件,生成操作脚本文件以及与数据库的版本号关联的目标数据库操作文件,所述目标数据库操作文件的内容为空;75.确定数据库操作代码;76.将所述数据库操作代码添加到所述目标数据库操作文件中;77.基于所述汇总文件,生成逻辑层操作文件。78.可选地,所述生成模块32,用于:79.基于所述文本文件,生成数据库表对应的操作对象;80.基于所述操作对象,确定数据库操作代码。81.可选地,所述装置还包括更新模块,所述更新模块,用于:82.从所述版本文件中获取更新前的数据库的版本号;83.确定所述更新前的数据库的版本号对应的旧数据库操作文件;84.对比所述旧数据库操作文件和所述目标数据库操作文件,以生成数据库更新操作文件;85.基于所述数据库更新操作文件,对数据库进行更新。86.可选地,所述数据库操作文件为使用结构化查询语言sql编写的文件。87.可选地,所述逻辑层操作文件为使用c 语言编写的文件。88.图3所示装置可以执行前述图1至图2所示实施例中提供的数据库管理方法,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。89.在一个可能的设计中,上述图3所示数据库管理装置的结构可实现为一电子设备,如图4所示,该电子设备可以包括:处理器41、存储器42。其中,所述存储器42上存储有可执行代码,当所述可执行代码被所述处理器41执行时,使所述处理器41至少可以实现如前述图1至图2所示实施例中提供的数据库管理方法。90.可选地,该电子设备中还可以包括通信接口43,用于与其他设备进行通信。91.另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述图1至图2所示实施例中提供的数据库管理方法。92.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。93.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。94.本发明实施例提供的数据库管理方法可以由某种程序/软件来执行,该程序/软件可以由网络侧提供,前述实施例中提及的电子设备可以将该程序/软件下载到本地的非易失性存储介质中,并在其需要执行前述数据库管理方法时,通过cpu将该程序/软件读取到内存中,进而由cpu执行该程序/软件以实现前述实施例中所提供的数据库管理方法,执行过程可以参见前述图1至图2中的示意。95.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献