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

一种数据库设计方法、装置及相关设备与流程

2021-12-17 21:09:00 来源:中国专利 TAG:


1.本技术涉及数据库设计领域,尤其涉及一种数据库设计方法、装置及相关设备。


背景技术:

2.在项目开发过程中,用户可以通过数据库设计系统设计数据库。用户在通过数据库设计系统设计数据库时,会根据项目需求创建一个或者多个分支。例如,供用户项目开发使用的“开发分支”,供项目产品发布使用的“主干分支”等,每个分支包括不同版本的设计态数据库。当前的数据库设计系统提供的对不同分支的操作包括创建新分支,删除已用分支,以及不同分支之间的合并操作等。当前不同数据库分支之间的操作方式较少,不能满足项目开发中的需求。


技术实现要素:

3.本技术实施例公开了一种数据库设计方法、装置及相关设备,能够提供对数据库的分支同步和分支复刻操作,增加了用户对数据库的操作与管理方式,提高了用户体验。
4.第一方面,本技术提供一种数据库设计方法,应用于数据库设计系统,数据库设计系统包括至少一个设计态的数据库模型,每个数据库模型包括至少一个分支,每个分支包括至少一个数据库版本,该数据库设计方法包括:数据库设计系统向用户提供第一界面,使用户能够在第一界面设置分支操作请求,其中,分支操作请求为分支同步请求或分支复刻请求中的任意一种,分支操作请求包括源信息与目标信息;接收用户通过第一界面设置的分支操作请求,数据库设计系统根据分支操作请求中的源信息与目标信息,执行所述分支操作请求指定的操作。
5.数据库设计系统通过提供对同一个数据库模型中不同分支间的同步操作和不同数据库模型之间数据库的复刻操作,增加了用户对数据库的操作与管理方式,提高了用户工作效率与用户体验。
6.在一种具体的实现方式中,上述分支同步请求用于表示用数据库模型中第一分支中的任意一个数据库版本,覆盖同一个数据库模型中第二分支中的数据库版本;其中,第一分支是数据库模型中的任意一个分支,第二分支是与第一分支不同的分支;上述分支复刻请求用于表示将第一数据库模型中的第三分支复制到第二数据库模型中,形成第二数据库模型中的第四分支,其中,第一数据库模型与第二数据库模型是两个不同的数据库模型。
7.通过上述提供的同一个数据库模型中不同分支之间的分支同步方法,能够避免同一个数据库中不同分支合并时出现的合并冲突问题,并且用户能够选择第一分支中的任意一个数据库版本同步到第二分支中,使另一个分支表示的数据与用户选择的数据库版本所表示的数据相同。而分支复刻方法提供了一种跨模型的分支操作方法,能够将一个数据库模型中第三分支的数据复制到另一个数据库模型中形成第四分支中,使第四分支拥有与第三分支相同的数据后,用户能够在第四分支中进行新的开发工作而不影响第三分支,且用户对第三分支的修改操也不影响第四分支。
8.在一种具体的实现方式中,在分支操作请求为分支同步请求时,上述源信息包括第一分支的名称和第一分支中用于分支同步的数据库版本的版本号;上述目标信息包括第二分支的名称。
9.在一种具体的实现方式中,在分支操作请求为分支复刻请求时,上述源信息包括上述第一数据库模型的名称以及第三分支的名称;上述目标信息包括上述第二数据库模型的名称。
10.在一种具体的实现方式中,数据库设计系统根据所述分支操作请求中的源信息和目标信息执行分支操作请求指定的操作,包括:在分支操作请求为分支同步请求时,数据库设计系统确定第一数据库版本表示的数据与第二分支表示的数据之间的差异信息,第一数据库版本是上述源信息中数据库版本的版本号指示的数据库版本;数据库设计系统获取用户选择的上述差异信息中的部分或者全部作为目标差异信息,将目标差异信息保存至第二分支。具体的,数据库设计系统可以先删除第二分支中未审核完成的数据库版本,然后在第二分支中创建一个新的数据库版本,将目标差异信息保存至第二分支中新创建的数据库版本中;或者,数据库设计系统直接用目标差异信息替换第二分支中未审核完成的数据库版本中的数据。
11.通过差异存储的方式将差异信息存储至第二分支的最新的数据库版本中,数据库设计系统能够根据差异信息以及第二分支中其他分支中的数据,获得第二分支所表示的全量数据,并保证第二分支的最新的数据库版本表示的数据与第一分支中第一数据库版本表示的数据相同。
12.在一种具体的实现方式中,数据库设计系统根据所述分支操作请求中的源信息和目标信息执行分支操作请求指定的操作,包括:在分支操作请求为分支复刻请求时,数据库设计系统根据第一数据库模型的名称以及第三分支的名称,在第一数据库模型中获取第三分支的全量数据;将第三分支的全量数据复制到第二数据库模型中,形成第二数据库模型中的第四分支,其中,第三分支是第一数据库模型中的任意一个分支,第四分支是数据库设计系统执行分支复刻操作时,在第二数据库模型中新创建的分支。
13.在一种具体的实现方式中,数据库设计系统运行在云平台,用户为在云平台购买数据库设计系统云服务的用户。通过云服务的方式向用户提供数据库设计云服务,提高了数据库设计使用的灵活度,能够提升用户体验。
14.第二方面,本技术实施例提供一种数据库设计装置,该装置应用于数据库设计系统,数据库设计系统包括至少一个设计态的数据库模型,每个数据库模型包括至少一个分支,每个分支包括至少一个数据库版本,所述装置包括:
15.显示模块,用于向用户提供第一界面,该第一界面用于供用户设置源信息与目标信息,其中,分支操作请求为分支同步请求或分支复刻请求中的任意一种,分支操作请求包括源信息与目标信息;
16.接收模块,用于接收用户通过上述第一界面设置的分支操作请求;
17.处理模块,用于根据分支操作请求中的源信息和目标信息,执行分支操作请求指定的操作。
18.在一种具体的实现方式中,上述分支同步请求用于表示用数据库模型中第一分支中的任意一个数据库版本,覆盖同一个数据库模型中第二分支中的数据库版本;其中,第一
分支是数据库模型中的任意一个分支,第二分支是与第一分支不同的分支;上述分支复刻请求用于表示将第一数据库模型中的第三分支复制到第二数据库模型中,形成第二数据库模型中的第四分支,其中,第一数据库模型与第二数据库模型是两个不同的数据库模型。
19.在一种具体的实现方式中,在分支操作请求为分支同步请求时,上述源信息包括第一分支的名称和第一分支中用于分支同步的数据库版本的版本号;上述目标信息包括第二分支的名称。
20.在一种具体的实现方式中,在分支操作请求为分支复刻请求时,上述源信息包括上述第一数据库模型的名称以及第三分支的名称;上述目标信息包括上述第二数据库模型的名称。
21.在一种具体的实现方式中,处理模块根据分支操作请求中的源信息和目标信息,执行分支操作请求指定的操作时,处理模块具体用于:在所述分支操作请求为分支同步请求时,获取第一数据库版本表示的数据与第二分支表示的数据之间的差异信息,第一数据库版本是上述数据库版本的版本号指示的数据库版本;获取目标差异信息,将目标差异信息保存至第二分支,其中,目标差异信息是用户选择的差异信息中的部分或全部。
22.在一种具体的实现方式中,处理模块根据分支操作请求中的源信息和目标信息,执行分支操作请求指定的操作时,处理模块具体用于:在分支操作请求为分支复刻请求时,根据第一数据库模型的名称以及第三分支名称,在第一数据库模型中获取第三分支的全量数据;将第三分支的全量数据复制到第二数据库模型中,形成第二数据库模型中的第四分支。
23.在一种具体的实现方式中,数据库设计系统运行在云平台,用户为在云平台购买数据库设计系统云服务的用户。
24.第三方面,本技术实施例提供一种计算设备,该计算设备包括处理器和存储器;存储器中存储有计算机程序;处理器执行计算机程序时,计算设备执行前述第一方面或第一方面任一具体实现方式中的方法。
25.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在网络设备上运行时执行前述第一方面或第一方面任一具体实现方式中的方法。
26.第五方面,本技术提供了一种计算机程序产品,计算机程序产品包括计算机指令,在被计算设备执行时,计算设备执行前述第一方面或第一方面任一具体实现方式中的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面任一具体实现方式中的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
附图说明
27.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1a是本技术实施例提供的一种本地数据库设计系统的部署示意图;
29.图1b是本技术实施例提供的一种云数据库设计系统的部署示意图;
30.图2是本技术实施例提供的一种数据库设计方法的流程示意图;
31.图3是本技术实施例提供的一种第一界面的示意图;
32.图4a是本技术实施例提供的另一种第一界面的示意图;
33.图4b是本技术实施例提供的一种第二界面的示意图;
34.图4c是本技术实施例提供的一种第三界面的示意图;
35.图5是本技术实施例提供的另一种第一界面的示意图;
36.图6是本技术实施例提供的一种数据库设计装置的示意图;
37.图7是本技术实施例提供的一种计算设备的结构示意图。
具体实施方式
38.下面将结合附图,对本技术中的技术方案进行描述。
39.数据库(database,db)是按照数据结构来组织、存储和管理数据的仓库,是一个存储在计算机内的有组织的、可共享的大量数据的集合。
40.数据库设计系统是一种可视化的数据库设计与管理的工具,用于建立、使用和维护数据库。用户可以在数据库设计系统中创建包括表以及表之间关联关系的设计视图、存储过程、函数、序列、索引、外键、触发器等数据库元素,数据库设计系统能够根据设计生成数据库的脚本。服务器通过运行脚本生成数据库。用户在需要修改数据库中的数据时,可以在数据库设计系统中修改设计数据。在用户对设计数据修改完成之后,数据库设计系统可以根据修改后的设计数据生成新的脚本。
41.数据库设计系统具有分支和版本管理的功能,创建分支是数据库设计系统中最常用的一种数据库管理手段,通过创建不同的分支能够将项目开发中的几项工作彼此隔离,在需要发布版本时通过分支合并将多个分支中的数据进行整合。用户在通过数据库设计系统设计数据库时,可以在一个数据库模型中创建一个或者多个分支,例如,供用户项目开发使用的“开发分支”,供项目产品发布使用的“主干分支”等。每个分支中包括一个或多个数据库版本,其中,数据库版本是指设计态数据库,设计态数据库是指用户在通过数据库设计系统进行项目开发的过程中,保存在数据库设计系统中的数据库。
42.应说明的是,在数据库设计系统的一个分支中,除第一个数据库版本外,其他的数据库版本采用差异存储。即一个数据库版本中存储的数据是该数据库版本与其之前的一个数据库版本对比得到的差异信息。例如,一个分支中包括a1、a2与a3共三个数据库版本,且创建的先后顺序是a1、a2与a3。如果a1中是字符x,则a1表示的数据是x;在a2中,用户在字符x后增加了字符yz,则在a2中,保存的数据不是xyz,而是两个变更操作:“增加y”与“增加z”,但a2表示的数据是xyz;在a3中,用户删除了字符z,则在a3中,保存的数据不是xy,而是变更操作“删除z”,但a3表示的数据是xy。由于该分支只有这三个数据库版本,因此a3表示的数据即是该分支表示的数据。应理解,上述数据库版本中的数据以及操作过程仅用于举例说明差异存储方式,不能理解为数据库中实际存储的数据以及对数据库的实际操作。
43.分支合并是指在同一个数据库的不同分支中,将一个版本中对数据库的修改合并入另一个版本中,上述同一个数据库的不同版本可以是在同一个分支中,也可以是在不同分支中。示例性的,如果将第一分支合并到第二分支中,数据库设计系统会对第一分支与第二分支进行检测,确定第一分支与第二分支自从上一次合并点或分支首次创建点以来,第
一分支相对于合并点或创建点的所有增加、删除与修改操作,以及第二分支相对于合并点或分支首次创建点的所有增加、删除与改操作,然后将第一分支对数据库的修改操作执行变更到第二分支中,即将第一分支对数据库模型从上一次合并点或分支首次创建点以来的变更操作在第二分支中复现一遍。例如,从上一次合并点或分支首次创建点之后,第二分支包括表1,但第一分支做出了删除表1的操作,则在将第一分支合并入第二分支时,在第二分支的最新版本中将表1删除,第一分支不进行任何变更。
44.应说明的是,分支合并时会出现合并冲突,例如,两个分支对同一个对象进行了不同的修改。在进行分支合并时,数据库设计系统会进行冲突检测,然后按照预设的冲突处理策略处理合并冲突或者进行冲突预警,由用户抉择某些无法自动处理的冲突。例如,根据修改时间,将修改时间较晚的数据作为分支合并之后的数据;或者在出现合并冲突时进行预警,通知用户解决合并冲突。
45.本技术实施例中的数据库设计系统是用于提供数据库开发环境的应用程序。数据库设计系统至少包括一个组件,组件是指对数据和方法的简单封装。在一些编程语言体系中,组件也可以称为部件、控件等等。基于组件的作用,可以将数据库设计系统包括的组件分为前端组件和后端组件两种类型。
46.前端组件是指实现和用户交互的组件,例如客户端,具体用于接收用户输入的数据,显示用户请求的界面与数据等等。后端组件是指对数据进行处理的组件,具体用于按照设定的逻辑对接收到的数据进行处理,或者从数据库中获取数据进行处理等等。本技术实施例中,数据库设计系统可以包括图形用户界面、集成代码编辑器、编译器和调试器等工具中的至少一种。数据库设计系统前端组件可以包括与图形用户界面相关的组件,数据库设计系统后端组件可以包括与编译器、调试器等相关的组件。
47.基于部署方式不同,数据库设计系统可以分为本地数据库设计系统和云数据库设计系统。本地数据库设计系统的前端组件和后端组件均部署在本地。其中,本地也称作本地设备。本地设备包括处于用户直接控制之下的用户设备(例如笔记本电脑等终端),或者与上述用户设备地理上接近的设备(例如本地计算机集群)。云数据库设计系统则至少有一部分组件(例如后端组件)部署在云端。本技术实施例中的云端是与本地相对应的一端,即本地用户通过网络远程访问的资源端。
48.如图1a所示,图1a是本技术实施例提供的一种本地数据库设计系统的部署示意图。上述前端组件可以运行在各种终端设备上,例如:手机、笔记本电脑、平板电脑或者个人台式电脑等等。上述后端组件可以运行在计算机集群(包括至少一个计算设备)上。
49.如图1b所示,图1b是本技术实施例提供的一种云数据库设计系统的部署示意图。数据库设计系统部署在云平台中。云平台中部署有云服务提供商提供的大量基础资源。例如云平台1中部署有计算资源、存储资源和网络资源等,且该计算资源可以是大量的计算设备(例如服务器)。数据库设计系统能够利用该云平台中部署的基础资源实现本技术实施例提供的数据库设计方法。
50.应理解,数据库设计系统可以是一个硬件系统或者一个部署在硬件设备和/或虚拟机上的软件系统,数据库设计系统还可以通过硬件和软件结合实现。当数据库设计系统为硬件系统时,其可以是计算设备的集合。当数据库设计系统为软件系统时,数据库设计系统可以独立地部署在云平台中的服务器或虚拟机上,或者,数据库设计系统可以分布式地
部署在云平台中的多台服务器上,或者,数据库设计系统可以分布式地部署在云平台中的多台虚拟机上,再或者,数据库设计系统可以分布式地部署在云平台中的服务器和虚拟机上。
51.如图1b所示,数据库设计系统能够由云服务提供商在云平台抽象成一种数据库设计的云服务提供给用户。用户在云平台购买数据库设计云服务后,云平台能够利用部署在云平台的数据库设计系统向用户提供数据库设计云服务。例如,云平台可以向购买云服务的用户提供图形用户界面,在用户的用户设备上显示该图形用户界面,用户在该图形用户界面中进行数据库设计。其中,购买数据库设计云服务的方式可以包括:先预充值再根据最终资源的实际使用情况进行结算,或者,按使用云服务的时间或者按照购买的云服务的功能或资源结算。
52.应说明的是,在本技术实施例中,云平台可以是中心云的云平台、边缘云的云平台或包括中心云和边缘云的云平台,本技术实施例对其不做具体限定。并且,当云平台为包括中心云和边缘云的云平台时,该数据库设计系统可以部分部署在边缘云的云平台中,部分部署在中心云的云平台中。
53.在项目开发过程中,用户可以通过数据库设计系统设计数据库。用户在通过数据库设计系统设计数据库时,会根据项目需求在同一个数据库模型中创建一个或者多个分支。例如,供用户项目开发使用的“开发分支”,供项目产品发布使用的“主干分支”等。每个分支包括不同版本的设计态数据库。当前的数据库设计系统提供的设计态数据库之间的操作包括创建新分支,删除已用分支或删除已有分支中的某个版本的数据库,以及不同分支中设计态数据库之间的合并操作等。当前不同分支的设计态数据库之间的操作方式较少,不能满足项目开发中的需求。
54.为了解决上述问题,本技术实施例提供一种数据库设计系统以及数据库设计方法。如图2所示,图2是本技术实施例提供的一种数据库设计方法的流程示意图,数据库设计系统能够提供同一个数据库的不同分支中设计态数据库之间的同步操作,以及不同数据库之间的设计态数据库的复刻操作,增加了用户对数据库的操作与管理方式,能够提高用户工作效率与用户体验。
55.s201、向用户提供第一界面,接收用户通过第一界面设置的分支操作请求。
56.本技术实施例中,对数据库模型中的分支操作请求均是对数据库设计系统中设计态数据库的操作请求。数据库的分支操作包括分支合并、分支同步以及分支复刻等。
57.其中,分支同步是指用数据库模型中的第一分支提供的任意一个数据库版本替换同一个数据库模型中第二分支中的一个数据库版本,使第二分支表示的数据与第一分支中的一个数据库版本表示的数据相同。其中,第一分支与第二分支是两个不同的分支。分支同步可以用于用户在需要将第二分支对应的方案更改为第一分支中任意一个数据库版本对应的方案时,将第二分支表示的数据替换为第一分支中用户选择的数据库版本表示的数据。例如,数据库模型中第一分支包括a1、a2、a3与a4共四个数据库版本,第二分支包括b1和b2共两个数据库版本,且b1和b2是审核完成的不能再修改的数据库版本,则第二分支表示的数据。如果用户选择将第一分支中的a3同步到第二分支,则数据库设计系统在第二分支中创建数据库版本b3并执行分支同步操作之后,b3表示的数据与第一分支中a3表示的数据相同。应理解,上述数据库版本中的数据以及操作过程仅用于举例说明分支同步,不能理解
为数据库中实际存储的数据以及对数据库的实际操作过程。
58.分支复刻(fork)是指将第一数据库模型中的第三分支复制到第二数据库模型的第四分支中,用于在已有数据库的基础上开发新的产品。其中,第一数据库模型与第二数据库模型是两个不同的数据库模型,第三分支是第一数据库模型中的任意一个分支,第四分支是执行分支复刻时在第二数据库模型中新创建的分支。例如用户在完成某一个应用的安卓版本的开发之后,需要进行该应用的塞班系统版本的开发,此时用户可以将安卓版本对应的第一数据库模型中的第三分支复刻到为塞班系统版本开发所建立的第二数据库模型中,并在第二数据库模型中创建一个第四分支保存第三分支的数据,则第四分支中的数据与第三分支中的数据完全一样,但是第四分支与第三分支不在同一个数据库模型中,因此互不影响,这样可以利用已有数据库的数据进行新产品的开发。
59.在一种具体的实现方式中,上述分支操作请求可以是分支同步请求,分支同步请求包括源信息以及目标信息,源信息包括第一分支的名称以及数据库版本的版本号,目标信息包括第二分支的名称,其中,数据库版本的版本号指示源分支中用于分支同步的数据库版本。当用户需要将同一个数据库不同分支中的两个数据库版本进行分支同步操作时,数据库设计系统可以向用户提供第一界面,用户通过第一界面选择进行分支同步操作的第一分支对应的源信息以及第二分支对应的目标信息。
60.如图3所示,图3是本技术实施例提供的一种第一界面示意图。该第一界面是数据库设计系统在用户终端上显示的界面,用于供用户选择第一分支以及数据库版本的版本号。用户在需要进行分支同步操作时,可以先进入第二分支对应的管理界面,即表示用户选择了需要进行分支同步的数据库模型以及第二分支。然后通过第二分支对应的管理界面进入图3所示的第一界面,图3中表示用户选择数据库模型t中的主干分支作为第二分支。第一界面包括数据库模型中的不同分支的名称以及各个分支中不同版本的数据库的版本信息。其中,版本信息包括版本号、审核状态、提交者标识以及提交时间等,审核状态包括审核完成以及未审核;提交者标识指示对应版本的提交者。用户可以在第一界面选择第一分支以及用于分支同步的数据库版本,图3中表示用户选择开发分支作为第一分支,将开发分支中版本号为2的数据库版本作为用于分支同步的第一数据库版本,即用户选择将开发分支中版本号为2的数据库版本同步到主干分支中。用户在第一界面选择第一分支以及第一数据库版本之后,可以通过触发(例如用鼠标点击)同步控件,用户终端检测到用户的触发操作,响应于该触发操作,用户终端向数据库设计系统所在的计算机集群或云平台发送分支同步请求,使数据库设计系统获取用户设置的分支同步操作任务。
61.应理解,上述图3所示的界面仅为一种示例,在实际应用中还可以是其他形式的界面。
62.例如,如图4a所示,图4a是本技术实施例提供的另一种第一界面的示意图。该第一界面包括第二分支选择控件以及第一分支选择控件,用户能够通过触发(例如通过鼠标点击)第二分支选择控件设置目标信息,通过触发第一分支选择控件设置源信息。数据库设计系统检测到用户触发第二分支选择控件的操作后,响应于该操作,数据库设计系统能够向用户展示用于设置目标信息的第二界面。如图4b所示,第二界面包括数据库模型中不同分支的名称以及各个分支中不同版本的数据库的版本信息。用户在选择第二分支之后,通过触发第二界面的确定控件,返回到第一界面。然后用户能够通过触发第一分支选择控件设
置源信息。数据库设计系统检测到用户触发源分支选择控件的操作后,响应于该操作,数据库设计系统能够向用户展示用于设置源信息的第三界面。如图4c所示,第三界面包括数据库模型中不同分支的名称以及各个分支中不同版本的数据库的版本信息。用户在选择第一分支以及第一数据库版本之后,通过触发第一分支选择界面的确定控件,返回到第一界面。第一界面还包括同步控件,在用户选择完第一数据库版本与第二分支之后,可以触发(例如用鼠标点击)同步控件,用户终端检测到用户触发同步控件的操作,响应于该操作,用户终端向数据库设计系统所在的计算机集群或云平台发送分支同步请求,使数据库设计系统获取用户设置的数据库分支同步操作任务。
63.如图4b和图4c所示,该数据库模型包括5个分支,分支名称分别为“主干分支”、“开发分支”、“特征分支1”、“特征分支2”以及“发布分支”。其中,“主干分支”为第二分支,“开发分支”为第一分支,“主干分支”包括4个设计态数据库,“开发分支”包括4个已完成审核的设计态数据库。用户选择“开发分支”中版本号为4的数据库版本作为第一数据库版本进行分支同步。应理解,上述图4a至图4c所示的界面仅为一种示例,在实际应用中还可以是其他形式的界面。
64.在一种具体的实现方式中,上述分支操作请求还可以是分支复刻请求。分支复刻请求包括源信息以及目标信息。其中,源信息包括第一数据库模型的名称与第三分支的名称等,目标信息包括第二数据库模型的名称等。
65.如图5所示,图5是本技术实施例提供的另一种第一界面示意图。用户能够在图5所示的第一界面中输入源信息以及目标信息。例如,用户能够在源信息下的第一数据库模型名称对应的输入框中输入第一数据库模型的名称或者通过下拉菜单选择第一数据库模型的名称,在分支(版本号)输入框中输入第三分支的名称,或者通过下拉菜单选择第三分支的名称;在目标信息下的数据库模型名称对应的输入框中输入第二数据库模型的名称或者通过下拉菜单选择第二数据库模型的名称。如图5所示,第一界面的目标信息下还可以包括分支(版本号)输入框,用户可以在分支(版本号)输入框中输入第四分支的名称。如果用户在该输入框中输入分支名称,则数据库设计系统在执行分支复刻请求时会在第二数据库模型中创建以该分支名称命名的第四分支,如果用户没有在该输入框中输入分支名称,则数据库设计系统在执行分支复刻请求时会在第二数据库模型中创建默认名称的第四分支。第一界面还包括确定控件和取消控件,在用户选择完源信息和目标信息之后,可以通过确定控件触发分支复刻操作,用户终端检测到用户的触发操作,响应于该操作,用户终端向数据库设计系统所在的计算机集群或云平台发送分支复刻请求,使数据库设计系统获取用户设置的数据库分支复刻操作任务。可选的,上述源信息还可以包括版本号,用户可以在选择第三分支时选择第三分支的版本,将第三分支中的一个数据库版本复刻到第二数据库模型中。
66.如图5所示。用户选择将数据库模型v1中开发分支复刻到数据库模型v2的主干分支中。应理解,上述图5所示的界面仅为一种示例,数据库设计系统还能够提供其他形式的界面以完成分支复刻中源信息与目标信息的选择。本技术实施例不做具体限制。
67.202、根据所述分支操作请求中的源信息和目标信息执行所述分支操作请求指定的操作。
68.在一种具体的实现方式中,分支操作请求是分支同步请求时,如果用户通过如图3
所示的界面或者如图4a至图4c所示的界面,选择了第二分支、第一分支以及第一分支中用于分支同步的第一数据库版本。数据库设计系统根据分支同步请求中的数据库模型的名称以及第二分支的名称,先清除第二分支中未审核完成的数据库版本,然后将第二分支中最新的审核完成的第二数据库版本表示的数据与第一分支中第一数据库版本表示的数据进行对比,获得差异信息。最后在第二分支中创建一个新的数据库版本,将差异信息存储至新的数据库版本中。例如,上述图3中用户选择用开发分支中版本号为2的数据库版本作为第一数据库版本,主干分支中包括4个版本的数据库版本,版本号分别为1,2,3和4。版本号为1,2和3的数据库版本已审核完成,版本号为4的数据库版本是未审核完成的版本。用户在触发第一界面上的同步控件后,数据库设计系统会删除版本号为4的数据库版本。然后将主干分支中版本号为3的数据库版本表示的数据与开发分支中版本号为2的数据库版本表示的数据进行对比,得到差异信息。最后在主干分支中创建一个新的版本号为4的数据库版本,将差异信息存储到版本号为4的数据库版本中,这样通过差异信息与主干分支中其他版本的数据库版本,能够得到版本号为4的数据库版本的全量数据。
69.示例性的,开发分支中版本号为1的数据库版本表示的是字符a,版本号为2的数据库版本表示的字符串是abc,则版本号为2的数据库版本中存储的是变更操作“增加b”和“增加c”。主干分支中版本号为1的数据库版本表示的是字符a,版本号为2的数据库版本表示的字符串是ax,版本号为3的数据库版本表示的字符串是axy,则版本号为2的数据库版本中存储的是变更操作“增加x”,版本号为3的数据库版本中存储的是变更操作“增加y”。将开发分支中版本号为2的数据库版本表示的数据与主干分支中版本号为3的数据库表示的数据进行对比之后,得到差异信息包括以下4个变更操作:“增加b”、“增加c”、“删除x”以及“删除y”,则主干分支中版本号为4的数据库版本保存的是上述差异信息,但主干分支中版本号为4的数据库版本表示的数据是abc。应理解,上述数据库版本中的数据以及操作过程仅用于举例说明分支同步,不能理解为数据库中实际存储的数据以及对数据库的实际操作过程。
70.可选的,数据库设计系统在保存上述差异信息时,也可以不删除第二分支中未审核完成的版本,数据库设计系统在确定差异信息之后,直接用差异信息替换第二分支中未审核完成的版本中存储的数据。
71.应理解,数据库设计系统获得差异信息之后,可以向用户展示差异信息,然后由用户选择差异信息中的部分差异信息或者全部差异信息作为目标差异信息,然后数据库设计系统获取用户选择的目标差异信息,根据目标差异信息完成上述分支同步操作。数据库设计系统根据目标差异信息完成分支同步操作的方法与根据上述差异信息完成分支同步操作的方法相同,在此不再详细介绍。
72.在一种具体的实现方式中,分支操作请求是分支复刻请求时,数据库设计系统根据分支复刻请求中的源信息,查找分支复刻请求指定的第一数据库模型中的第三分支,将该第三分支的全量数据复刻到第二数据库模型中的第四分支中。应理解,如果用户在分支复刻之前已经在第二数据库模型中创建了第四分支,则数据库设计系统直接将第三分支的全量数据复制到第四分支中去;如果用户在分支复刻之前没有在第二数据库模型中创建第四分支,则数据库设计系统先在第二数据库模型中创建以第四分支,然后将第三分支的全量数据复制到第四分支中。
73.本技术实施例提供的数据库设计系统,能够提供对同一个数据库模型中不同分支
间的同步操作和不同数据库模型之间分支的复刻操作,增加了用户对数据库的操作与管理方式,能够提高用户工作效率与用户体验。
74.本技术提供了一种数据库设计装置,该数据库设计装置可以部署在云平台中。如图6所示,该数据库设计装置600可以包括:
75.显示模块610,用于向用户提供第一界面,该第一界面用于用户设置并提交分支操作请求,其中,分支操作包括分支合并、分支同步以及分支复刻等。其中,分支合并是指同一个数据库模型中不同分支中设计态数据库之间的合并操作;分支同步是一种覆盖操作,是指同一个数据库模型的第一分支提供的一个版本的数据库版本覆盖第二分支中一个数据库版本;分支复刻是指将第一数据库模型中的一个版本的设计态数据库复制到第二数据库模型的目标分支中;
76.接收模块620,用于接收用户通过上述第一界面设置的分支操作请求;
77.处理模块630,用于根据分支操作请求,执行对应的分支操作。
78.可选地,数据库设计系统运行在云平台,用户为所述云平台购买数据库设计系统云服务的用户。
79.可选地,显示模块610,还用于向用户提供第二界面,用于向用户提供分支操作请求执行的结果。
80.上述单元之间互相可以通过通信通路进行数据传输,应理解,装置600包括的各模块可以为软件模块、也可以为硬件模块、或部分为软件模块部分为硬件模块。
81.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和各个模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
82.由于本技术实施例提供的数据库设计系统中的各个模块可以分布式地部署在同一环境或不同环境中的多个计算机上,因此,本技术实施例还提供一种计算设备,在一些情况下,该计算设备可以为一个计算机系统,包括一个或多个计算机700。示例性地,如图7所示,每个计算机700包括存储器701、处理器702、通信接口703以及总线704。其中,存储器701、处理器702、通信接口703通过总线704实现彼此之间的通信连接。
83.存储器701可以是只读存储器(read only memory,rom),静态存储设备,动态存储设备或者随机存取存储器(random access memory,ram)。存储器701可以存储程序,当存储器701中存储的程序被处理器702执行时,处理器702和通信接口703用于执行本技术实施例提供的数据库设计方法。存储器701中还可以包括操作系统等其他运行进程所需的软件模块和数据等。且操作系统可以为linux
tm
,unix
tm
,windows
tm
等。
84.处理器702可以采用通用的中央处理器(central processing unit,cpu),微处理器,应用专用集成电路(application specific integrated circuit,asic),图形处理器(graphics processing unit,gpu)或者一个或多个集成电路。
85.处理器702还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本技术的数据库设计系统的部分或全部功能可以通过处理器702中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器702还可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是
微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器701,处理器702读取存储器701中的信息,结合其硬件完成本技术实施例的数据库设计系统的部分功能。
86.通信接口703使用例如但不限于收发器一类的收发模块,来实现计算机700与其他设备或通信网络之间的通信。
87.总线704可包括在计算机700各个部件(例如,存储器701、处理器702、通信接口703)之间传送信息的通路。
88.上述每个计算机700间通过通信网络建立通信通路。每个计算机700用于数据库设计系统的部分功能。任一计算机700可以为云平台中的计算机(例如:服务器),或边缘数据中心中的计算机。
89.上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。
90.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。提供数据库设计云服务的计算机程序产品包括一个或多个计算机指令,在计算机上加载和执行这些计算机程序指令时,全部或部分地产生按照本技术实施例图2所述的方法流程或功能。
91.所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质存储有提供数据库设计系统云服务的计算机程序指令。
92.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以为非瞬态的可读存储介质,当计算机可读存储介质中的指令被计算机执行时,该计算机用于执行本技术提供的数据库设计方法。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如ssd)。
93.本技术还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,在被计算设备执行时,该计算设备执行本技术实施例提供的数据库设计方法。
94.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
95.在本技术实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“一个或多个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。
96.本技术中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
97.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
98.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
99.所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地生成按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
再多了解一些

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

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

相关文献