CN113254455A - 数据库的动态配置方法、装置、计算机设备及存储介质 - Google Patents
数据库的动态配置方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113254455A CN113254455A CN202110703003.1A CN202110703003A CN113254455A CN 113254455 A CN113254455 A CN 113254455A CN 202110703003 A CN202110703003 A CN 202110703003A CN 113254455 A CN113254455 A CN 113254455A
- Authority
- CN
- China
- Prior art keywords
- database
- library
- data
- user
- operation page
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 239000000463 material Substances 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 18
- 230000000694 effects Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 10
- 238000011161 development Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 239000012769 display material Substances 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及信息技术领域,尤其涉及一种数据库的动态配置方法、装置、计算机设备及存储介质。该数据库的动态配置方法包括:获取第一用户指令,其中,第一用户指令包括增加业务数据表指令,以及修改业务数据表指令;根据第一用户指令从第一数据库中读取元数据信息;根据元数据信息生成操作页面;获取用户在操作页面的表单数据;将操作页面的表单数据写入第二数据库中。这样可以结合第一数据库和第二数据库,将元数据信息存储在第一数据库中,将表单数据存储在第二数据库中。在创建数据库之初不需要添加冗余字段。需要增加或者修改业务表时,不需要用户手动填写整个数据表单,只需要用户在前端页面上进行选择,使得后台数据库能够可视化修改。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种数据库的动态配置方法、装置、计算机设备及存储介质。
背景技术
随着大数据时代的来临,信息更新速度不断加快,信息种类也纷繁复杂,业务数量规模日益增长。结构化数据、半结构化数据与非结构化数据已广泛存在于各个软件应用中。任何应用和系统都离不开数据库进行存储数据,而数据的复杂性给开发人员带来了困难和挑战。
在实际的项目开发中,数据库和场景设计多采用“预定式”的方式,即在项目开始之前预先估计出固定数量的、明确的实体属性。在项目过程中直至项目结束一直不改变该固定数量,以及明确的实体属性。这样虽然有利于软件设计与开发人员进行项目开发。
但是,在实际开发过程中,存在大量动态属性的实体。由于实体属性的个数未知,属性名称未知。在系统运行过程中,根据业务的需要,会随时增添新的属性,或者修改原有实体的属性。对应数据库端的应用需求常常随着时间的变化而增加或者改变,给项目开发人员带来了困难和挑战。如何在不改变程序封装的情况下使用数据库、相应的数据库表和字段随需而变,并能保留原来相应的查询、统计、计算和原数据等功能,是程序开发人员和信息处理人员的共同愿望。
发明内容
本发明实施例提供一种数据库的动态配置方法、装置、计算机设备及存储介质,以解决数据库端的应用需求常常随着时间的变化而增加或者改变,需要开发人员反复修改后台数据表,而后台数据库难以可视化,操作复杂的技术问题。
一种数据库的动态配置方法,包括:
获取第一用户指令,其中,所述第一用户指令包括增加业务数据表指令,以及修改业务数据表指令;
根据所述第一用户指令从第一数据库中读取元数据信息;
根据所述元数据信息生成操作页面;
获取用户在所述操作页面的表单数据;
将所述操作页面的表单数据写入第二数据库中,其中,所述第二数据库不同于所述第一数据库。
一种数据库的动态配置装置,包括:
获取模块,用于获取第一用户指令,其中,所述第一用户指令包括增加业务数据表指令,以及修改业务数据表指令;
读取模块,用于根据所述第一用户指令从第一数据库中读取元数据信息;
生成模块,用于根据所述元数据信息生成操作页面;
所述获取模块,还用于获取用户在所述操作页面的表单数据;
写入模块,用于将所述操作页面的表单数据写入第二数据库中,其中,所述第二数据库不同于所述第一数据库。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据库的动态配置方法的步骤。
一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据库的动态配置方法的步骤。
上述数据库的动态配置方法、装置、计算机设备及存储介质中。该数据库的动态配置方法可以包括:获取第一用户指令,其中,所述第一用户指令包括增加业务数据表指令,以及修改业务数据表指令;根据所述第一用户指令从第一数据库中读取元数据信息;根据所述元数据信息生成操作页面;获取用户在所述操作页面的表单数据;将所述操作页面的表单数据写入第二数据库中,其中,所述第二数据库不同于所述第一数据库。这样可以结合第一数据库和第二数据库,将元数据信息存储在第一数据库中,将表单数据存储在第二数据库中。在创建数据库之初不需要添加冗余字段,不需要采用预定式的设计,可以减少开发人员开发项目之初的工作量,开发人员不需要过多的考虑由于项目迭代导致数据库结构的变化。在项目进行过程中,需要增加或者修改业务表时,不需要用户手动填写整个数据表单,只需要用户在前端页面上进行选择,可以减少开发人员的工作量,使得后台数据库能够可视化修改,简化操作。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种传统业务操作流程图;
图2是本发明一实施例提供的一种数据库的动态配置方法流程图;
图3是本发明一实施例提供的另一种数据库的动态配置方法流程图;
图4是本发明一实施例提供的另一种数据库的动态配置方法流程图;
图5是本发明一实施例提供的一种间接访问动态库的方法流程图;
图6是本发明一实施例提供的一种数据库的动态配置装置示意图;
图7是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a、b和c可以是单个,也可以是多个。值得注意的是,“至少一项(个)”还可以解释成“一项(个)或多项(个)”。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
在实际的项目开发中,数据库和场景设计多采用“预定式”的方式,固定数量的、明确的实体属性,虽然有利于软件设计与开发人员进行项目开发。但是动态属性的实体,由于实体属性的个数未知,属性名称未知,在系统运行过程中,根据业务的需要,会随时增添新的属性,对应数据库端的应用需求常常随着时间的变化而增加或者改变,给项目开发人员带来了困难和挑战。
当前项目中内容及内容管理需求的业务场景多,各业务场景的内容管理需求相似度高场景配置系统。业务如果可以动态添加新的场景,可为场景选择素材库和方案库等功能和页面,实现内容场景的动态配置,就可以减少因新增场景带来开发测试等工作量。
具体来说,传统的业务操作实现请参见图1,该操作方法包括:
第一步:用户打开编辑页面,根据实际需求在系统中选择具体业务。
第二步:用户进入到具体的操作页面,根据具体业务输入表单数据。
第三步:用户操作业务数据,以形成业务数据表。
其中,用户为软件设计与开发人员。示例性的,例如用户在软件设计之初没有考虑到一个业务场景。在项目进行到一个阶段之后,需要在数据库中增加该场景对应的数据表。例如该场景需要新创建一个数据库表,该表中包含5个字段,包括:1、创说会;2、拜访助手;3、快易达;4、智能对练;5、智能学习。则该软件开发人员可以在该系统中打开编辑页面,然后从该编辑页面中选择“新增表”这个具体业务,然后在操作页面上输入表单数据。具体可以为,输入需要建立的表的每个字段:1、创说会;2、拜访助手;3、快易达;4、智能对练;5、智能学习。以及每个字段的数据类型等,包含待创建数据表中每个字段的内容以及属性。这样,在项目创建之后,后续每一次动态地对数据库或数据库中的表进行增加或修改操作,都需要全部通过人工方式对增加或修改的数据表的每个字段,以及各个字段的属性进行填写,这样需要消耗大量的人力。
因此,本申请提供了一种数据库的动态配置方法,请参见图2,该方法包括:
S101:获取第一用户指令。
获取第一用户指令,该第一用户指令可以包括增加业务数据表指令,以及修改业务数据表指令。该第一用户指令是程序开发人员或者信息处理人员操作计算机设备发出的程序指令或代码。
S102:根据第一用户指令读取元数据信息。
根据第一用户指令读取元数据信息。需要说明的是,该元数据信息存储于第一数据库中。该第一数据库可以为mysql数据库等关系型数据库。该关系型数据库中可以存储有固定格式化的元数据。例如标签字段表、库表、场景表、库字段模板表、具体的场景的库结构表,以及该表中的数据字段。
示例性的,该场景表中可以包含场景id、场景名称、场景说明、接口人以及所属业务等字段。在一种实施方式中,场景名称为创说会、拜访助手、快易达、智能对练、智能学习等。该库表可以包含库表id,库名称、表名称以及配置等字段。该库字段模板表可以包含库表id、字段页面显示名称、字段参数名称、是否可编辑、显示顺序、值类型、值的校验规则、外观显示样式,以及是否启用该字段等字段。更进一步的,该字段页面显示名称可以包含:内容分类、内容来源、素材主题、关联产品、内容图标地址、内容链接地址、对象存储桶标识、开放标签、作者邮箱、作者电话、创建时间、更新时间。该值的校验规则可以采用json格式校验,可以设置文件大小,例如小于4兆,可以设置值只能来源于某个数据字典,可以设置只能是超链接格式、日期格式、电话格式或者邮件格式等。
S103:根据元数据信息生成操作页面。
根据读取到的元数据生成操作页面。具体的,该步骤S101中获取到的第一指令可以为增加业务数据表,以及修改业务数据表。对这两种指令可以生成不同的操作页面。
当该第一指令为增加业务数据表时,可以在该操作页面上显示栏目选择选项,该栏目选择选项可以包含素材库、方案库、套餐库,以及活动库等。示例性的,当用户勾选素材库之后,该操作页面可以进一步显示素材属性,该素材属性可以包含内容分类、内容来源、适用分群、分发范围、素材主题、关联产品、内容作者以及内容标签。更进一步的,当用户勾选了内容分类之后,该操作页面可以进一步显示素材格式,该素材格式可以包含图片、视频、ppt、Word、excel、txt、pdf、zip、三方素材、VR等。该操作页面还可以显示一些可选配置,例如,提交内容的合规信息以及可选是否开放代理人访问等。该内容可以对应库字段模板表。
当该第一指令为修改业务数据表时,该操作页面上可以显示第二数据库中已经存在的所有业务数据表,当用户选择需要修改的场景表之后,该操作页面上进一步显示该场景表中所有的字段以及字段属性。当用户选择某一个字段之后,可以对该字段名称、字段属性等进行修改。需要指出的是,该第二数据库可以为mangodb等非关系型数据库。
S104:获取用户在所述操作页面的表单数据。
获取用户在操作页面的表单数据。具体的,若用户的第一指令为增加业务数据表,则获取用户在操作页面上的选择或填写的,关于需要增加业务数据表的相关内容。例如,在栏目选择选项可以包含素材库、方案库、套餐库,以及活动库等。示例性的,当用户勾选了其中的素材库,该操作页面可以进一步显示素材属性,该素材属性可以包含内容分类、内容来源、适用分群、分发范围、素材主题、关联产品、内容作者以及内容标签。用户勾选了其中的内容分类,该操作页面可以进一步显示素材格式,该素材格式可以包含图片、视频、ppt、Word、excel、txt、pdf、zip、三方素材、VR等。用户勾选了其中的图片。则获取到的用户在操作页面上的表单数据可以包括:素材库-内容分类-图片。
若用户的第一指令为修改业务数据表,具体的,可以将特定的业务数据表中的某一个字段修改属性。示例性的,需要将业务数据表中的内容分类由图片修改为视频,则用户在显示的操作页面选择需要修改的场景表之后,该操作页面上进一步显示该场景表中所有的字段以及字段属性。当用户选择待修改的字段之后,将该字段的内容分类由图片修改为视频。则获取到的用户在操作页面上的表单数据可以为包括:数据字段-数据属性为视频。
S105:将所述表单数据写入第二数据库。
将步骤S104中生成的表单数据写入第二数据库。该第二数据库可以为mangodb等非关系型数据库。该表单数据中包含的字段是用户从该前端页面中选择的,且存储于该第一数据库的。
本方案结合第一数据库(mysql)和第二数据库(mondoDB)的特性,在项目创建之初,不需要表中额外的预留字段,使得数据冗余变小,数据库的空间利用率大大提升。通过将固定格式化数据,诸如标签字段表、场景表、库的模板表、具体的场景的库结构表、放入Mysql数据库中,具体的各个实际场景数据放入MongoDb中。采用关系型数据库与非关系型数据库结合,并配合前端web页面完成复杂场景的动态配置。
具体而言,当用户在项目已经创建,之后再想要在数据库中增加一些场景表时,可以在前端页面上选择添加和修改的新场景,然后在该前端页面上可以选择需要增添或者修改的数据以及数据的属性,(该前端页面上显示的新场景对应的配置数据存储于mysql数据中,包括新场景数据库每个字段的类型、新场景数据库字段的校验规则等)。机器根据用户在编辑页面上选择的表以及选择的字段信息,获取到元数据信息(具体为数据库表中每个字段以及字段的属性),从而生成完整的待存储的业务表单信息。当用户点击保存或者提交时,将该生成的完整业务表单保存至mangodb数据库中。从而不需要用户自行填写每个字段的字段属性,能够减少用户的工作量。
更具体的,本发明方案有如下好处:
1、数据库字段清晰,大大减少数据库字段的冗余。在创建数据库之初不需要添加冗余字段。
2、功能和数据标准统一,相较于传统手动输入的方法,数据分析和数据统计更加方便。
3、能够满足业务使用方对项目中字段频繁变更的需求。
4、大大减少重复的开发和测试工作。便于统一的维护和推广。
通过结合关系数据库(mysql)和非关系型数据库(mangoDB)的优点,将一些静态的配置数据存储在关系数据库中,在新建表格时,配合前端页面完成,从关系数据库中读取静态配置数据,结合用户选择,动态生成业务使用场景的动态配置表,以存储于非关系型数据库中。让原本各自为政的系统升级为统一版本,因此,使得许多个性化需求在统一版本中得到满足,兼顾了软件和方案的复用,还注意到了各个领域的完全自主权。
需指出的是,在步骤S101中,该第一用户指令可以为增加业务数据表指令,因此,请参见图3,本申请的第二个实施例可以包括:
S201:获取用户的增加业务数据表指令。
获取用户的增加业务数据表指令。该增加业务数据表指令是程序开发人员或者信息处理人员操作计算机设备发出的程序指令或代码。
S202:根据所述增加业务数据表指令读取元数据信息。
根据所述增加业务数据表指令读取元数据信息。该元数据信息存储于第一数据库中。该第一数据库可以为mysql数据库等关系型数据库。该关系型数据库中可以存储有固定格式化的元数据。例如标签字段表,场景表、库的模板表、具体的场景的库结构表,以及该表中的数据字段。
该场景表中可以包含场景id、场景名称、场景说明、接口人以及所属业务等字段。在一种实施方式中,场景名称为创说会、拜访助手、快易达、智能对练、智能学习等。该库表可以包含库表id,库名称、表名称以及配置等字段。该库字段模板表可以包含库表id、字段页面显示名称、字段参数名称、是否可编辑、显示顺序、值类型、值的校验规则、外观显示样式,以及是否启用该字段等字段。更进一步的,该字段页面显示名称可以包含:内容分类、内容来源、素材主题、关联产品、内容图标地址、内容链接地址、对象存储桶标识、开放标签、作者邮箱、作者电话、创建时间、更新时间。该值的校验规则可以采用json格式校验,可以设置文件大小,例如小于4兆,可以设置值只能来源于某个数据字典,可以设置只能是超链接格式、日期格式、电话格式或者邮件格式等。
具体的,该元数据信息包含库表以及所述库表中的数据类型。根据第一用户指令从所述第一数据库中读取元数据信息包括:根据所述第一用户指令从所述第一数据库中读取库表,所述库表中的数据类型包含素材库、方案库、套餐库、活动库中的至少一项。
S203:根据元数据信息生成操作页面。
根据读取到的元数据生成操作页面。该操作页面包含所述库表中的数据类型。操作页面中显示的每项数据类型具有一个相对应的勾选组件。具体的,该操作页面上可以显示有栏目选择选项,该栏目选择项对应于库表中的数据类型。该栏目选择选项可以包含素材库、方案库、套餐库,以及活动库等。示例性的,当用户勾选素材库之后,该操作页面可以进一步显示素材属性,该素材属性可以包含内容分类、内容来源、适用分群、分发范围、素材主题、关联产品、内容作者以及内容标签。更进一步的,当用户勾选了内容分类之后,该操作页面可以进一步显示素材格式,该素材格式可以包含图片、视频、ppt、Word、excel、txt、pdf、zip、三方素材、VR等。该操作页面还可以显示一些可选配置,例如,提交内容的合规信息以及可选是否开放代理人访问等。该内容可以对应库字段模板表。
S204:获取用户在所述操作页面的表单数据。
获取用户在操作页面上的选择或填写的表单数据。具体的,可以先获取用户在所述操作页面的第一表单操作,所述第一表单操作用于选中所述操作页面中的一个数据类型对应的勾选组件。根据所述第一表单操作从所述第一数据库中读取与所述第一表单操作相对应的库字段模板表。根据所述库字段模板表生成二级操作页面,所述二级操作页面包括所述库字段模板表中的数据类型。获取用户在所述二级操作页面上的第二表单操作,所述第二表单操作包括从所述库字段模板表中选中的数据类型。
例如,在栏目选择选项可以包含素材库、方案库、套餐库,以及活动库等。示例性的,当用户勾选了其中的素材库,该显示的二级操作页面可以包括素材属性,该素材属性可以包含内容分类、内容来源、适用分群、分发范围、素材主题、关联产品、内容作者以及内容标签。用户勾选了其中的内容分类,该操作页面可以进一步显示素材格式,该素材格式可以包含图片、视频、ppt、Word、excel、txt、pdf、zip、三方素材、VR等。用户勾选了其中的图片。则可以获取到用户在操作页面上的表单数据可以包括:素材库-内容分类-图片。
S205:将所述表单数据写入第二数据库。
将步骤S204中生成的表单数据写入第二数据库。具体的,将所述第一表单操作选中的数据类型,与所述第二表单操作从所述库字段模板表中选中的数据类型写入第二数据库中。该第二数据库可以为mangodb等非关系型数据库。该表单数据中包含的字段是用户从该前端页面中选择的,且存储于该第一数据库的。
需要说明的是,在步骤S101中,该第一用户指令还可以为修改业务数据表指令。因此,请参见图4,本申请的第三个实施例可以包括:
S301:获取用户的修改业务数据表指令。
获取用户的修改业务数据表指令,该修改业务数据表指令是程序开发人员或者信息处理人员操作计算机设备发出的程序指令或代码。
S302:根据所述修改业务数据表指令读取元数据信息。
在读取元数据信息之前,该方法还包括:根据所述第一用户指令从所述第二数据库中读取待修改数据表。该待修改数据表即为用户选择的需要修改的数据表。根据第一用户指令从所述第一数据库中读取元数据信息包括:根据所述第一用户指令从所述第一数据库中读取与所述待修改数据表中数据类型相关的元数据信息。
需要说明的是,该元数据信息存储于第一数据库中。该第一数据库可以为mysql数据库等关系型数据库。该关系型数据库中可以存储有固定格式化的元数据。例如标签字段表,场景表、库的模板表、具体的场景的库结构表,以及该表中的数据字段。
该场景表中可以包含场景id、场景名称、场景说明、接口人以及所属业务等字段。在一种实施方式中,场景名称为创说会、拜访助手、快易达、智能对练、智能学习等。该库表可以包含库表id,库名称、表名称以及配置等字段。该库字段模板表可以包含库表id、字段页面显示名称、字段参数名称、是否可编辑、显示顺序、值类型、值的校验规则、外观显示样式,以及是否启用该字段等字段。更进一步的,该字段页面显示名称可以包含:内容分类、内容来源、素材主题、关联产品、内容图标地址、内容链接地址、对象存储桶标识、开放标签、作者邮箱、作者电话、创建时间、更新时间。该值的校验规则可以采用json格式校验,可以设置文件大小,例如小于4兆,可以设置值只能来源于某个数据字典,可以设置只能是超链接格式、日期格式、电话格式或者邮件格式等。
S303:根据元数据信息生成操作页面。
根据元数据信息生成操作页面。根据与所述待修改数据表中数据类型相关的元数据信息生成操作页面。该操作页面上可以显示第二数据库中已经存在的待修改数据表。该操作页面上进一步显示该待修改数据表中所有的字段以及字段属性。当用户选择某一个字段之后,可以对该字段名称、字段属性等进行修改。需要指出的是,该第二数据库可以为mangodb等非关系型数据库。
S304:获取用户在所述操作页面的表单数据。
根据所述用户在操作页面的第三表单操作读取第一数据库中的库字段模板表。根据所述库字段模板表生成二级操作页面,所述二级操作页面包括所述库字段模板表中的数据类型;获取用户在所述二级操作页面上的,从所述库字段模板表中选中的数据类型。
具体的,可以将待修改数据表中的某一个字段修改属性。示例性的,若需要将业务数据表中的内容分类由图片修改为视频。当操作页面上显示待修改数据表之后,根据用户在操作页面上点击的待修改数据表的字段,读取第一数据库中的库字段模板表,该操作页面上进一步显示该待修改数据表中被选中字段的字段属性。用户可以将该字段的属性由图片修改为视频。则获取到的用户在操作页面上的表单数据可以为包括:数据字段-数据属性为视频。
S305:将所述表单数据写入第二数据库。
将步骤S304中生成的表单数据写入第二数据库。该第二数据库可以为mangodb等非关系型数据库。该表单数据中包含的字段是用户从该前端页面中选择的,且存储于该第一数据库的。具体的,可以将该库字段模板表中修改的数据类型写入该待修改的数据表中。
本发明可以结合关系数据库(mysql)和非关系数据库(mangodb)的优点。将静态配置数据存储在关系数据库中,在新建表格时,配合前端页面完成,从关系数据库中读取静态配置数据,结合用户选择,动态生成业务使用场景的动态配置表,以存储于非关系型数据库中。这样在创建数据库之初不需要添加冗余字段,不需要采用“预定式”设计。而在项目进行过程中,在新建数据表时,不需要用户手动填写整个需要填写的数据表单,可以将关系数据库中存储的静态配置数据显示至前端界面,用户只需要在前端选择需要动态生成的数据表相关数据或者需要修改的数据表相关数据,就可以动态生成完整的数据表格,并存储于非关系数据库(mangodb)中。这样,用户只需要每次在前端页面上进行选择,而不需要每次都填写需要新建表的每个字段的属性,可以减少开发人员工作量,便于统一维护和推广。
可以理解的是,当根据用户的需求在第二数据库中创建所需的表和字段之前或之后,用户可以通过直接或间接的方式访问该第二数据库。在第一种实施方式中,可以利用用户场景和动态库名的关联,直接访问该场景下的所有动态库。直接访问的方式实现简单,容易操作,但是随着用户和场景的增添,使得管理用户以及场景变得极为复杂。因此,本申请还提供了一种间接访问动态库的方法,请参见图5,该方法如下:
S401:获取用户的访问申请,所述访问申请指向场景库。
获取用户的访问申请,该访问申请指向场景库。需说明的是,场景库与动态生成的动态库之间存在对应的映射关系。示例性的,若A动态库是基于B场景库动态生成的,则该A动态库与B场景库存在对应的映射关系。该用户的访问申请指向特定的场景库。
S402:根据所述访问申请确定所述场景库对应的动态库。
根据所述访问申请确定所述场景库对应的动态库。该场景库与动态库存在步骤S401中所述的映射关系。
S403:给用户分配针所述动态库的访问权限。
给用户分配针对所述动态库的访问权限。该用户对该动态库具有访问权限之后,可以随时访问该动态库。
S404:将所述用户以及所述用户对于所述动态库的访问权限记录于附属库中。
将用户以及用户对于该动态库的访问权限记录于附属库中。该附属库用于存储用户与用户对于动态库的访问权限。后续用户再有访问需求时,可以直接从该附属库中查询,该用户是否对相应的动态库有访问权限。
在一个可选的实施方式中,还可以:将所述数据库的动态配置方法的结果上传至区块链中。
具体地,可以将存储于第一数据库的元数据信息,以及存储于第二数据库的表单数据上传至区块链中。将该元数据以及表单数据上传至区块链可保证其安全性和对用户的公正透明性,同时可以保证该表单数据的实时性。用户可以从区块链中读取当前的表单数据,以便查证所述数据库的动态配置方法中该第二数据库中的数据的最新版本。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,本申请还提供了一种数据库的动态配置装置,该数据库的动态配置装置用于执行上述方法实施例。请参见图6,该装置包括:
获取模块501,用于获取第一用户指令,其中,所述第一用户指令包括增加业务数据表指令,以及修改业务数据表指令;
读取模块502,用于根据所述第一用户指令从第一数据库中读取元数据信息;
生成模块503,用于根据所述元数据信息生成操作页面;
所述获取模块501,还用于获取用户在所述操作页面的表单数据;
写入模块504,用于将所述操作页面的表单数据写入第二数据库中,其中,所述第二数据库不同于所述第一数据库。
更进一步的,若该第一用户指令为所述增加业务数据表指令,该元数据信息包含库表,以及所述库表中的数据类型,
该读取模块502,具体用于根据所述第一用户指令从所述第一数据库中读取库表,其中,所述库表中的数据类型包含素材库、方案库、套餐库、活动库中的至少一项。
该生成模块503,具体用于根据所述库表生成操作页面,其中,所述操作页面包含所述库表中的数据类型。
该获取模块501,还用于获取用户在所述操作页面的第一表单操作,其中,所述第一表单操作用于选中所述操作页面中的一个数据类型对应的勾选组件。
该读取模块502,还用于根据所述第一表单操作从所述第一数据库中读取与所述第一表单操作相对应的库字段模板表。
该生成模块503,还用于根据所述库字段模板表生成二级操作页面,其中,所述二级操作页面包括所述库字段模板表中的数据类型。
该获取模块501,还用于获取用户在所述二级操作页面上的第二表单操作,其中,所述第二表单操作包括从所述库字段模板表中选中的数据类型。
该写入模块504,还用于将所述第一表单操作选中的数据类型,与所述第二表单操作从所述库字段模板表中选中的数据类型写入第二数据库中。
若该第一用户指令为所述修改业务数据表指令,
该读取模块502,还用于根据所述第一用户指令从所述第二数据库中读取待修改数据表。
该读取模块502,还用于根据所述第一用户指令从所述第一数据库中读取与所述待修改数据表中数据类型相关的元数据信息。
该生成模块503,还用于根据与所述待修改数据表中数据类型相关的元数据信息生成操作页面。
该读取模块502,还用于根据所述用户在操作页面的第三表单操作读取第一数据库中的库字段模板表。
该生成模块503,还用于根据所述库字段模板表生成二级操作页面,其中,所述二级操作页面包括所述库字段模板表中的数据类型。
该获取模块501,还用于获取用户在所述二级操作页面上的,从所述库字段模板表中选中的数据类型。
该写入模块504,还用于将所述从所述库字段模板表中选中的数据类型写入所述待修改数据表中。
在一个实施例中,本申请还提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机存储介质、内存储器。该计算机存储介质存储有操作系统、计算机程序和数据库。该内存储器为计算机存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库的动态配置方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的数据库的动态配置方法的步骤,例如图2所示的步骤S101-S105,或者图3至图5中所示的步骤。或者,处理器执行计算机程序时实现数据库的动态配置装置50这一实施例中的各模块/单元的功能,例如图6所示的各模块/单元的功能,为避免重复,这里不再赘述。
在一实施例中,提供一计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中应急车道图像处理方法的步骤,例如图2所示的步骤S101-S105,或者图3至图5中所示的步骤,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述应急车道图像处理装置这一实施例中的各模块/单元的功能,例如图6所示的各模块/单元的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据库的动态配置方法,其特征在于,包括:
获取第一用户指令,其中,所述第一用户指令包括增加业务数据表指令,以及修改业务数据表指令;
根据所述第一用户指令从第一数据库中读取元数据信息;
根据所述元数据信息生成操作页面;
获取用户在所述操作页面的表单数据;
将所述操作页面的表单数据写入第二数据库中,其中,所述第二数据库不同于所述第一数据库。
2.如权利要求1所述的数据库的动态配置方法,其特征在于,所述第一用户指令为所述增加业务数据表指令,所述元数据信息包含库表以及所述库表中的数据类型,所述根据第一用户指令从所述第一数据库中读取元数据信息的步骤具体为:
根据所述第一用户指令从所述第一数据库中读取库表,其中,所述库表中的数据类型包含素材库、方案库、套餐库、活动库中的至少一项;
所述根据所述元数据信息生成操作页面的步骤具体为:
根据所述库表生成操作页面,其中,所述操作页面包含所述库表中的数据类型。
3.如权利要求2所述的数据库的动态配置方法,其特征在于,所述操作页面中显示的每项数据类型具有一个相对应的勾选组件,所述获取用户在所述操作页面的表单数据的步骤具体为:
获取用户在所述操作页面的第一表单操作,其中,所述第一表单操作用于选中所述操作页面中的一个数据类型对应的勾选组件;
根据所述第一表单操作从所述第一数据库中读取与所述第一表单操作相对应的库字段模板表;
根据所述库字段模板表生成二级操作页面,其中,所述二级操作页面包括所述库字段模板表中的数据类型;
获取用户在所述二级操作页面上的第二表单操作,其中,所述第二表单操作包括从所述库字段模板表中选中的数据类型;
所述将所述操作页面的表单数据写入第二数据库中的步骤具体为:
将所述第一表单操作选中的数据类型,与所述第二表单操作从所述库字段模板表中选中的数据类型写入第二数据库中。
4.如权利要求1所述的数据库的动态配置方法,其特征在于,所述第一用户指令为所述修改业务数据表指令,所述根据第一用户指令从所述第一数据库中读取元数据信息之前,所述方法还包括:
根据所述第一用户指令从所述第二数据库中读取待修改数据表;
所述根据第一用户指令从所述第一数据库中读取元数据信息的步骤具体为:
根据所述第一用户指令从所述第一数据库中读取与所述待修改数据表中数据类型相关的元数据信息。
5.如权利要求4所述的数据库的动态配置方法,其特征在于,所述根据所述元数据信息生成操作页面的步骤具体为:
根据与所述待修改数据表中数据类型相关的元数据信息生成操作页面。
6.如权利要求4或5所述的动态配置方法,其特征在于,所述获取用户在所述操作页面的表单数据的步骤具体为:
根据所述用户在操作页面的第三表单操作读取第一数据库中的库字段模板表;
根据所述库字段模板表生成二级操作页面,其中,所述二级操作页面包括所述库字段模板表中的数据类型;
获取用户在所述二级操作页面上的,从所述库字段模板表中选中的数据类型;
所述将所述操作页面的表单数据写入第二数据库中的步骤具体为:
将所述从所述库字段模板表中选中的数据类型写入所述待修改数据表中。
7.一种数据库的动态配置装置,其特征在于,包括:
获取模块,用于获取第一用户指令,其中,所述第一用户指令包括增加业务数据表指令,以及修改业务数据表指令;
读取模块,用于根据所述第一用户指令从第一数据库中读取元数据信息;
生成模块,用于根据所述元数据信息生成操作页面;
所述获取模块,还用于获取用户在所述操作页面的表单数据;
写入模块,用于将所述操作页面的表单数据写入第二数据库中,其中,所述第二数据库不同于所述第一数据库。
8.根据权利要求7所述的动态配置装置,其特征在于,所述第一用户指令为所述增加业务数据表指令,所述元数据信息包含库表,以及所述库表中的数据类型,
所述读取模块,具体用于根据所述第一用户指令从所述第一数据库中读取库表,所述库表中的数据类型包含素材库、方案库、套餐库、活动库中的至少一项;
所述生成模块,具体用于根据所述库表生成操作页面,其中,所述操作页面包含所述库表中的数据类型。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述数据库的动态配置方法的步骤。
10.一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据库的动态配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110703003.1A CN113254455B (zh) | 2021-06-24 | 2021-06-24 | 数据库的动态配置方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110703003.1A CN113254455B (zh) | 2021-06-24 | 2021-06-24 | 数据库的动态配置方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254455A true CN113254455A (zh) | 2021-08-13 |
CN113254455B CN113254455B (zh) | 2023-10-27 |
Family
ID=77189458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110703003.1A Active CN113254455B (zh) | 2021-06-24 | 2021-06-24 | 数据库的动态配置方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254455B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991692A (zh) * | 2023-09-27 | 2023-11-03 | 广东广宇科技发展有限公司 | 一种基于数据库读写的验证方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325601A1 (en) * | 2006-10-20 | 2010-12-23 | Her Majesty The Queen, In Right Of Canada As Represented By The Minister Of Health Through The | Method and apparatus for creating a configurable browser-based forms application |
US20180060365A1 (en) * | 2016-08-26 | 2018-03-01 | BlueTalon, Inc. | Access control for nested data fields |
CN110544092A (zh) * | 2019-08-22 | 2019-12-06 | 杭州趣链科技有限公司 | 一种区块链的动态新增多类型数据库数据操作上链方法 |
US20200145284A1 (en) * | 2018-11-01 | 2020-05-07 | Hewlett Packard Enterprise Development Lp | Validating Network Configuration Using Shadow Databases |
CN112667747A (zh) * | 2020-12-31 | 2021-04-16 | 北京赛思信安技术股份有限公司 | 支持自定义插件的动态配置多数据库分布式持久化方法 |
-
2021
- 2021-06-24 CN CN202110703003.1A patent/CN113254455B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325601A1 (en) * | 2006-10-20 | 2010-12-23 | Her Majesty The Queen, In Right Of Canada As Represented By The Minister Of Health Through The | Method and apparatus for creating a configurable browser-based forms application |
US20180060365A1 (en) * | 2016-08-26 | 2018-03-01 | BlueTalon, Inc. | Access control for nested data fields |
US20200145284A1 (en) * | 2018-11-01 | 2020-05-07 | Hewlett Packard Enterprise Development Lp | Validating Network Configuration Using Shadow Databases |
CN110544092A (zh) * | 2019-08-22 | 2019-12-06 | 杭州趣链科技有限公司 | 一种区块链的动态新增多类型数据库数据操作上链方法 |
CN112667747A (zh) * | 2020-12-31 | 2021-04-16 | 北京赛思信安技术股份有限公司 | 支持自定义插件的动态配置多数据库分布式持久化方法 |
Non-Patent Citations (1)
Title |
---|
丁俊;郑辉;: "大数据时代下的动态可配置数据采集系统的研究与设计", 计算机应用与软件, no. 03 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991692A (zh) * | 2023-09-27 | 2023-11-03 | 广东广宇科技发展有限公司 | 一种基于数据库读写的验证方法 |
CN116991692B (zh) * | 2023-09-27 | 2024-02-09 | 广东广宇科技发展有限公司 | 一种基于数据库读写的验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113254455B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11194793B1 (en) | Dynamically materialized views for sheets based data | |
US11086894B1 (en) | Dynamically updated data sheets using row links | |
US20210049711A1 (en) | Method of automatically transmitting data information and device of automatically transmitting data information | |
CN109408764B (zh) | 页面区域划分方法、装置、计算设备和介质 | |
CN110543303B (zh) | 一种可视化业务平台 | |
CN111427561A (zh) | 业务代码的生成方法、装置、计算机设备和存储介质 | |
CN111611784A (zh) | 报表生成方法、装置、终端设备及存储介质 | |
CN104881275A (zh) | 一种电子报表生成方法及装置 | |
CN112860777B (zh) | 数据处理方法、装置及设备 | |
CN111061475A (zh) | 软件代码生成方法、装置、计算机设备和存储介质 | |
CN107301179A (zh) | 数据库读写分离的方法和装置 | |
CN112506486A (zh) | 搜索系统建立方法、装置、电子设备及可读存储介质 | |
CN113535165A (zh) | 界面生成方法、装置、电子设备及计算机可读存储介质 | |
CN114816404A (zh) | 动态渲染视图页面的方法、装置、计算机设备及存储介质 | |
CN115293124A (zh) | 软件工程化文档自动生成方法及装置 | |
CN113778961B (zh) | 一种cim模型数据的生产管理方法、装置及系统 | |
CN113254455B (zh) | 数据库的动态配置方法、装置、计算机设备及存储介质 | |
CN114895875B (zh) | 一种零代码可视化信息系统元数据的生产应用方法及系统 | |
CN116778124A (zh) | 三维场景编辑方法、系统、设备及存储介质 | |
CN108196921B (zh) | 单据开发方法、装置、计算机设备和存储介质 | |
CN116400914A (zh) | 一种基于数据模型快速构建web应用的方法 | |
CN116089535A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
CN110889013B (zh) | 一种基于xml的数据关联方法、装置、服务器及存储介质 | |
CN108228688B (zh) | 一种基于xbrl的模板生成方法、系统及服务器 |
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 |