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

文档序号:28052926发布日期:2021-12-17 21:37阅读:75来源:国知局
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.在一种具体的实现方式中,所述获取模块具体用于:向所述用户提供对比任务表;29.根据所述用户在所述对比任务表中选择或输入的对比信息,生成所述对比任务,其中,所述对比信息包括:所述当前运行的数据库的名称、所述设计态数据库的版本。30.在一种具体的实现方式中,所述对比信息还包括以下信息中的一种或多种:是否定时执行对比任务,定时执行对比任务的时间信息;所述用户的信息;所述对比任务的具体描述;所述对比结果的提供方式。31.在一种具体的实现方式中,所述向用户提供对比结果,包括以下方式中的任意一种或多种:通过界面向所述用户呈现所述对比结果;通过邮件或即时通讯消息向所述用户通知所述对比结果;向所述用户提供查看所述对比结果的链接。32.第三方面,本技术实施例提供一种计算设备,该计算设备包括处理器和存储器;存储器中存储有计算机程序;处理器执行计算机程序时,计算设备执行前述第一方面或第一方面任一具体实现方式中的方法。33.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在网络设备上运行时执行前述第一方面或第一方面任一具体实现方式中的方法。34.第五方面,本技术提供了一种计算机程序产品,计算机程序产品包括计算机指令,在被计算设备执行时,计算设备执行前述第一方面或第一方面任一具体实现方式中的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面任一具体实现方式中的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。附图说明35.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。36.图1a是本技术实施例提供的一种本地设计系统的部署示意图;37.图1b是本技术实施例提供的一种云化设计系统的部署示意图;38.图2是本技术实施例提供的一种数据库设计方法的流程示意图;39.图3a是本技术实施例提供的一种任务管理界面的示意图;40.图3b是本技术实施例提供的一种对比任务表界面的示意图;41.图3c是本技术实施例提供的另一种任务管理界面的示意图;42.图4是本技术实施例提供的一种差异对比界面的示意图;43.图5是本技术实施例提供一种通知信息的示意图;44.图6是本技术实施例提供一种对比结果的示意图;45.图7是本技术实施例提供一种数据库设计装置的示意图;46.图8是本技术实施例提供的一种计算设备的结构示意图。具体实施方式47.下面结合附图对本技术实施例进行详细介绍。48.数据库(database,db)是按照数据结构来组织、存储和管理数据的仓库,是一个存储在计算机内的有组织的、可共享的大量数据的集合。49.表是一种结构化的文件,用于存储特定类型的数据,例如员工信息、产品目录等。数据库中的数据通常以表的形式存储,每个表都有一个唯一的标识,例如表名。一个表包括一个或者多个列(column),每列是表中的一个字段,每列中存储着表中某部分的信息。例如表名为雇员(employee)的表中,一个列存储雇员编号,另一列存储雇员所在的城市。50.脚本是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。数据库脚本是用于创建数据库、修改数据库中数据以及查询数据库中数据等操作的语句的集合。全量脚本是包括数据库中所有数据的信息的脚本。在服务器执行全量脚本时,能够在服务器中创建该脚本对应的数据库。51.数据库设计系统是一种可视化的数据库设计与管理的工具,用于建立、使用和维护数据库。用户可以在数据库设计系统中创建包括图表以及图表之间关联关系的设计视图,数据库设计系统能够根据设计视图生成数据库的脚本。服务器通过运行全量脚本生成数据库,进而运行数据库以供数据库使用者使用数据库。用户在需要修改数据库中的数据时,可以在数据库设计系统中修改设计视图。在用户对设计视图修改完成之后,数据库设计系统可以根据修改后的设计视图生成新的全量脚本。应理解,本技术中的用户指示的是数据库设计系统的用户,也即是数据库的设计者或开发者。52.本技术实施例中,将数据库设计系统中的设计视图对应的数据库称为设计态数据库。用户在项目开发时,通常先根据项目需要进行需求分析,然后在数据库设计系统中创建设计态数据库的设计视图,在设计态数据库的设计视图通过评审与测试之后,数据库设计系统根据设计视图生成设计态数据库对应的脚本;再将生成的脚本发送到服务器中,服务器通过运行上述脚本生成数据库,实现数据库的部署。53.需要说明的是,服务器中运行有一个或者多个数据库,每个数据库具有唯一的数据库名称。本技术实施例中,以服务器中运行的一个数据库为例,对本技术实施例提供的数据库设计方法进行介绍,并将本技术实施例中服务器上运行的这个数据库称为当前运行的数据库。另外,用户在项目开发的过程中,一般会保存多个版本的设计态数据库,即数据库设计系统中包括上述当前运行的数据库对应的多个版本的设计态数据库。服务器中当前运行的数据库仅是这多个版本的设计态数据库中的一个。54.数据库在部署到服务器中之后,经常会需要根据用户需求和软件需求重新设计当前运行的数据库,也即对当前运行的数据库进行修改。例如需要在当前运行的数据库的某一个表中增加或者删除一列数据。在需要当前运行的数据库进行修改时,通常是用户先通过数据库设计系统的可视化界面对设计态数据库的设计视图进行修改,得到修改后的设计态数据库对应的设计视图。数据库设计系统根据修改后的设计态数据库的设计视图自动生成修改后的数据库对应的脚本,然后将该脚本上传至服务器,该脚本被服务器运行时,能够在服务器中创建一个新的数据库,从而实现对当前运行的数据库的修改。55.但是,一个数据库通常会有多个用户具有修改数据库的权限,当第一用户对当前运行的数据库进行修改之后,第二用户可能无法获知第一用户对当前运行的数据库的修改。例如,第一用户登录当前运行的数据库所在的服务器,通过编写指令的方式强制对当前运行的数据库进行了修改,而不是通过数据库设计系统先对数据库设计系统中的设计视图进行修改,根据修改后的设计视图生成脚本,进而根据脚本驱动数据库进行修改。而第二用户还是通过数据库设计系统在修改前的当前运行的数据库的基础上继续进行开发,这样第二用户对数据库的设计与实际数据库不一致,导致第二用户失去对数据库的控制,之前做的开发工作可能作废,降低了工作效率。56.为了解决上述问题,本技术实施例提供一种数据库设计系统以及数据库设计方法。通过在本技术实施例提供的数据库设计系统中执行本技术实施例提供的数据库设计方法,可以对服务器中当前运行的数据库与数据库设计系统中任意版本的设计态数据库进行比较,生成对比结果并将对比结果提供给用户。57.本技术实施例中的数据库设计系统可以是用于提供数据库开发环境的应用程序。数据库设计系统至少包括一个组件,组件是指对数据和方法的简单封装。在一些编程语言体系中,组件也可以称为部件、控件等等。基于组件的作用,可以将数据库设计系统包括的组件分为前端组件和后端组件两种类型。58.前端组件是指实现和用户交互的组件,例如客户端,具体用于接收用户输入的数据,显示用户请求的界面与数据等等。后端组件是指对数据进行处理的组件,具体用于按照设定的逻辑对接收到的数据进行处理,或者从数据库中获取数据进行处理等等。本技术实施例中,数据库设计系统可以包括图形用户界面、集成代码编辑器、编译器和调试器等工具中的至少一种。数据库设计系统前端组件可以包括与图形用户界面相关的组件,数据库设计系统后端组件可以包括与编译器、调试器等相关的组件。59.基于部署方式不同,数据库设计系统可以分为本地设计系统和云化设计系统。本地设计系统的前端组件和后端组件均部署在本地。其中,本地也称作本地设备。本地设备包括处于用户直接控制之下的用户设备(例如笔记本电脑等用户终端),或者与上述用户设备地理上接近的设备(例如本地计算机集群)。云化设计系统则至少有一部分组件(例如后端组件)部署在云端。本技术实施例中的云端是与本地相对应的一端,即本地用户通过网络远程访问的资源端。60.如图1a所示,图1a是本技术实施例提供的一种本地设计系统的部署示意图。上述前端组件可以运行在各种终端设备上,例如:手机、笔记本电脑、平板电脑或者个人台式电脑等等。上述后端组件可以运行在计算机集群(包括至少一个计算设备)上。61.如图1b所示,图1b是本技术实施例提供的一种云化设计系统的部署示意图。数据库设计系统部署在云平台中。云平台中部署有云服务提供商提供的大量基础资源。例如云平台中部署有计算资源、存储资源和网络资源等,且该计算资源可以是大量的计算设备(例如服务器)。数据库设计系统能够利用该云平台中部署的基础资源实现本技术实施例提供的数据库设计方法。例如,用户购买数据库设计云服务之后,云平台响应于用户触发的数据库设计系统实例创建操作,在云服务提供商提供的资源上创建数据库设计系统实例,然后向用户提供数据库设计界面,并根据用户在数据库设计界面创建的设计视图,或者根据用户对已有设计视图进行修改之后的设计视图,生成上述设计态数据库。62.应理解,数据库设计系统可以是一个硬件系统或者一个部署在硬件设备和/或虚拟机上的软件系统,数据库设计系统还可以通过硬件和软件结合实现。当数据库设计系统为硬件系统时,其可以是计算设备的集合。当数据库设计系统为软件系统时,数据库设计系统可以独立地部署在云平台中的服务器或虚拟机上,或者,数据库设计系统可以分布式地部署在云平台中的多台服务器上,或者,数据库设计系统可以分布式地部署在云平台中的多台虚拟机上,再或者,数据库设计系统可以分布式地部署在云平台中的服务器和虚拟机上。63.如图1b所示,数据库设计系统能够由云服务提供商在云平台抽象成一种数据库设计的云服务提供给用户。用户在云平台购买数据库设计云服务后,云平台能够利用部署在云平台的数据库设计系统向用户提供数据库设计云服务。例如,云平台可以向购买云服务的用户提供图形用户界面,在用户的用户设备上显示该图形用户界面,用户在该图形用户界面中进行数据库设计。其中,购买数据库设计云服务的方式可以包括:先预充值再根据最终资源的实际使用情况进行结算,或者,按使用云服务的时间或者按照购买的云服务的功能或资源结算。64.需要说明的是,在本技术实施例中,云平台可以是中心云的云平台、边缘云的云平台或包括中心云和边缘云的云平台,本技术实施例对其不做具体限定。并且,当云平台为包括中心云和边缘云的云平台时,该数据库设计系统可以部分部署在边缘云的云平台中,部分部署在中心云的云平台中。65.为了解决上述问题,本技术实施例提供一种数据库设计方法,能够从部署数据库的服务器中获取当前运行的数据库的内容信息,与数据库设计系统中指定版本的设计态数据库的内容信息进行对比,得到对比结果,并向用户提供对别结果。如图2所示,图2是本技术实施例提供的一种数据库设计方法的流程示意图,该方法包括s201至s203。66.s201、获取用户设置的对比任务。67.上述对比任务指示查看数据库设计系统中的设计态数据库与当前运行的数据库的差异。68.在一种具体的实现方式中,如图3a所示,用户在需要设置对比任务时,数据库设计系统可以向用户提供任务管理界面,用户通过数据库设计系统提供的任务管理界面设置上述对比任务。任务管理界面包括任务名称、看护数据库、基线模型分支、基线分支版本以及执行周期等选项。其中,看护数据库是指当前运行的数据库。基线模型分支与基线分支版本共同确定与当前运行的数据库进行对比设计态数据库。由于设计态数据库包括一个或者多个分支,例如,供用户项目开发使用的“开发分支”,供项目产品发布使用的“主干分支”等,每个分支又包括一个或者多个版本。基线模型分支是指设计态数据库所属的分支;基线分支版本是指设计态数据库在所属的分支中的版本。执行周期是指相邻两次执行该对比任务的间隔时长。69.当用户需要新建一个看护任务时,用户通过触发任务管理界面的“新建任务”按钮,数据库设计系统会向用户提供对比任务表,如图3b所示。用户在调出如图3b所示的对比任务表后,对上述选项进行配置。如图3b所示,“看护数据库”选项用于选择或者输入服务器中当前运行的数据库的名称。“基线分支版本”选项用于选择或者输入设计态数据库所属的分支以及所属分支中的版本。若选择启用执行周期,则数据库对比工具能够定时对当前运行的数据库与设计态数据库进行对比,并生成对比结果。“通知人”选项用于选择或者输入接收对比结果的人员信息。“任务描述”选项用于对对比任务进行描述,例如对比任务的目的,是对当前运行的数据库与设计态数据库内的全部数据进行对比,还是只对比部分表内的数据,如果只对比部分表内的数据,任务描述中需要输入或者选择需要对比的表的表名。70.示例性的,如图3b中所示,用户选择对名为“开发”(devops)的当前运行的数据库与运行态数据库基线分支中主(master)分支的最新审核(latestreviewed)版本进行对比,并生成对比结果。用户选择执行周期为天,即每隔一天上述两个数据库进行对比,并将对比结果发送给用户a和用户b。71.用户在上述对比任务表中配置好上述对比信息之后,点击“保存”按钮,则生成如图3c所示的对比任务,该任务管理界面中包括一个对比任务。可以理解,用户还能够通过触发任务管理界面的“新建任务”按钮创建多个对比任务,在此不再赘述。72.在另一种具体的实现方式中,用户可以在差异对比界面直接对需要进行对比的两个数据库进行对比。如图4所示,当用户需要获取两个数据库之间的差异信息时,用户调出差异比较界面,在差异比较界面中包括“源分支(版本号)”、“目标分支(版本号)”、“数据库名称”以及“数据库类型”等选项。其中,“源分支(版本号)”选项用于选择或者输入需要对比的设计态数据库的所属的分支以及版本号;“目标分支(版本号)”选项用于选择或者输入服务器当前运行的数据库名称。73.s202、根据所述对比任务,比较所述设计态数据库对应的结构与所述当前运行的数据库对应的结构的差异,获得对比结果。74.如果用户按照图3a至图3c所示的方法设置看护任务,则数据库设计系统每隔预设周期向当前运行的数据库所在的服务器发送获取请求;如果用户按照图4所示在差异比较界面中进行数据库对比,则用户在触发“数据库对比”按钮之后,数据库设计系统向当前运行的数据库所在的服务器发送获取请求。该获取请求包括当前运行的数据库的名称,该获取请求用于获取服务器中当前运行的数据库的内容信息,内容信息包括数据库中每个表的表名、每个表中的字段名称、数据类型以及各个表之间的逻辑关系等。内容信息包括以下任意一种或多种:当前运行的数据库中一个或多个表的信息、一个或多个表中每个字段的信息、触发器、外键信息与索引信息;75.服务器在接收到上述获取请求之后,根据获取请求中携带的数据库名称,将数据库名称对应的当前运行的数据库的内容信息发送给数据库设计系统。76.数据库设计系统接收到当前运行的数据库的内容信息之后,将当前运行的数据库的内容信息与设计态数据库的内容信息进行比较,确定当前运行的数据库的内容信息与设计态数据库的内容信息之间的差异信息,然后根据差异信息生成对比结果。其中,差异信息包括当前运行的数据库相比于所述设计态数据库增加或删除的表的数量、所述当前运行的数据库相比于所述设计态数据库增加或删除的表的表名等。对比结果包括当前运行的数据库的名称、设计态数据库的版本、对比结果的生成时间、对比任务的创建人以及上述差异信息等。应理解,本技术实施例不对比较的具体方式作限定,例如,将当前运行的数据库的内容信息与设计态数据库的内容信息进行比较的方式可以采用业界通用的扫描比较法或者采用业界已有的一些快速比较算法。77.s203、向用户提供对比结果。78.在一种具体的实施例中,如果用户通过图3a所示的任务管理界面创建如图3c所示的看护任务,则数据库设计系统每隔一天从服务器获取一次当前运行的数据库的内容信息,将当前运行的数据库的内容信息与设计态数据库的内容信息进行比较,并生成对比结果,然后向用户a和用户b发送对比结果。79.本技术实施例中,数据库设计系统能够通过多种方式向用户a和用户b发送对比结果。例如,数据库设计系统可以通过界面向用户显示对比结果,即数据库设计系统在获得对比结果之后,直接在数据库设计系统提供给用户的界面上显示对比结果。数据库设计系统也可以根据对比结果生成文档文件,将文档文件通过邮件或者即时通讯消息发送给用户a和用户b。数据库设计系统还可以向用户提供查看对比结果的链接,用户在收到链接之后,访问链接所指向的网页查看对比结果。本技术实施例对数据库设计系统行用户提供对比结果的方式不做具体限定。80.如图5所示,图5是本技术实施例提供一种对比结果通知的示意图。图6以网页链接的方式发送对比结果为例。图5中,看护时间是指对比任务的创建时间或者对比结果的生成时间。看护人是指创建该对比任务的创建人。看护状态包括看护失败和看护成功,看护失败是指对比结果显示设计态数据库与当前运行的数据库之间存在差异,看护成功是指设计态数据库与当前运行的数据库之间不存在差异。概览信息指示设计态数据库与当前运行的数据库之间的差异概况,例如设计态数据库相对于当前运行的数据库增加或删除的表的数量。图5中所示的对比结果是设计态数据库相对于当前运行的数据库删除了30个表。图5中网页链接所指向的网页包括图3c所示的对比任务的对比结果。接收到该链接的用户点击图5中的链接,就可以查看当前运行的数据库与设计态数据库之间的对比结果。81.在另一种具体的实施例中,如图6所示,图6是本技术实施例提供的另一种对比结果的示意图,在图4所示的差异比较界面,用户在设置完成之后,触发“数据库对比”按钮,则生成如图6所示的对比结果。图6中,用户选择的数据库test的设计态数据库相对于当前运行的数据库删除了四个表,增加了两个表,删除的四个表分别是“employee”、“stu”、“class”和“new_table4”,增加的两个表分别为“columns_priv”和“db”。82.可选的,上述s202中,数据库设计系统在获取到当前运行的数据库的内容信息之后,还可以根据当前运行的数据库的内容信息,生成当前运行的数据库对应的实现视图,然后向用户提供当前运行的数据库对应的实现视图、设计态数据库对应的设计视图以及设计视图与实现视图的差异信息。例如将设计视图中出现与实现视图有差异的地方进行标记,比如用不同的颜色进行标记等,通过提供用户提供当前运行的数据库对应的实现视图、设计态数据库对应的设计视图以及设计视图与实现视图的差异信息的方式,向用户显示对比结果。83.通过对比设计态数据库与服务器中当前运行的数据库,获得对比设计态数据库与服务器中当前运行的数据库之间的差异信息,并根据差异信息生成对比结果提供给用户。能够使用户及时获知设计态数据库与当前运行的数据库之间的差异,避免当前运行的数据库被修改后,用户没有及时获知而使用户对数据库失去控制的情况,能够避免用户在项目开发中不能及时获知数据库变化导致的失误。84.本技术提供了一种数据库设计装置,该数据库设计装置可以部署在云数据中心中。如图7所示,该数据库设计装置700可以包括:85.获取模块710,用于获取用户设置的对比任务,所述对比任务用于指示查看所述数据库设计系统中的设计态数据库与当前运行的数据库的差异。86.处理模块720,处理模块:用于:根据所述对比任务,比较所述设计态数据库对应的结构与所述当前运行的数据库对应的结构的差异,获得对比结果,并向所述用户提供所述对比结果。87.可选的,处理模块720还用于:向所述用户提供数据库设计界面,其中,所述用户为购买数据库设计云服务的用户;根据所述用户在所述数据库设计界面创建或修改的设计视图,生成所述设计态数据库。88.可选地,获取模块710,还用于:从部署所述当前运行的数据库的服务器中获取所述当前运行的数据库的内容信息,所述内容信息包括以下任意一种或多种:所述当前运行的数据库中一个或多个表的信息、字段的信息、触发器、外键与索引信息;89.处理模块720,具体用于:对比所述当前运行的数据库的内容信息与所述设计态数据库的内容信息,获得所述对比结果。90.可选地,处理模块720还用于:根据所述当前运行的数据库的内容信息,生成所述当前运行的数据库对应的实现视图;向所述用户提供所述实现视图、所述设计态数据库对应的设计视图以及所述设计视图与所述实现视图的差异信息。91.可选地,获取模块710具体用于:向所述用户提供对比任务表;根据所述用户在所述对比任务表中选择或输入的对比信息,生成所述对比任务,其中,所述对比信息包括:所述当前运行的数据库的名称、所述设计态数据库的版本。92.可选地,上述对比信息包括以下信息中的一种或多种:是否定时执行对比任务,定时执行对比任务的时间信息;所述用户的信息;所述对比任务的具体描述;所述对比结果的提供方式。93.可选地,处理模块720向用户提供对比结果,包括以下方式中的任意一种或多种:通过界面向所述用户呈现所述对比结果;通过邮件或即时通讯消息向所述用户通知所述对比结果;向所述用户提供查看所述对比结果的链接。94.上述单元之间互相可以通过通信通路进行数据传输,应理解,装置700包括的各模块可以为软件模块、也可以为硬件模块、或部分为软件模块部分为硬件模块。95.综上所述,通过对比设计态数据库与服务器中当前运行的数据库,获得对比设计态数据库与服务器中当前运行的数据库之间的差异信息,并根据差异信息生成对比结果提供给用户。能够使用户及时获知设计态数据库与当前运行的数据库之间的差异,避免当前运行的数据库被修改后,用户没有及时获知而使用户对数据库失去控制的情况,能够避免用户在项目开发中不能及时获知数据库变化导致的失误。96.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的时延保证系统、时延保证装置和各个模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。97.由于本技术实施例提供的数据库设计系统中的各个模块可以分布式地部署在同一环境或不同环境中的多个计算机上,因此,本技术实施例还提供一种计算设备,该计算设备可以为一个计算机系统,包括一个或多个计算机900。示例性地,如图8所示,每个计算机900包括存储器901、处理器902、通信接口903以及总线904。其中,存储器901、处理器902、通信接口903通过总线904实现彼此之间的通信连接。98.存储器901可以是只读存储器(readonlymemory,rom),静态存储设备,动态存储设备或者随机存取存储器(randomaccessmemory,ram)。存储器901可以存储程序,当存储器901中存储的程序被处理器902执行时,处理器902和通信接口903用于执行本技术实施例提供的数据库设计方法。存储器901中还可以包括操作系统等其他运行进程所需的软件模块和数据等。且操作系统可以为linuxtm,unixtm,windowstm等。99.处理器902可以采用通用的中央处理器(centralprocessingunit,cpu),微处理器,应用专用集成电路(applicationspecificintegratedcircuit,asic),图形处理器(graphicsprocessingunit,gpu)或者一个或多个集成电路。100.处理器902还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本技术的数据库设计系统的部分或全部功能可以通过处理器902中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器902还可以是通用处理器、数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器901,处理器902读取存储器901中的信息,结合其硬件完成本技术实施例的数据库设计系统的部分功能。101.通信接口903使用例如但不限于收发器一类的收发模块,来实现计算机900与其他设备或通信网络之间的通信。102.总线904可包括在计算机900各个部件(例如,存储器901、处理器902、通信接口903)之间传送信息的通路。103.上述每个计算机900间通过通信网络建立通信通路。每个计算机900用于数据库设计系统的部分功能。任一计算机900可以为云数据中心中的计算机(例如:服务器),或边缘数据中心中的计算机,或者终端计算机。104.上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。105.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。提供数据库设计云服务的计算机程序产品包括一个或多个计算机指令,在计算机上加载和执行这些计算机程序指令时,全部或部分地产生按照本技术实施例图2所述的流程或功能。106.所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质存储有提供数据库设计云服务的计算机程序指令。107.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以为非瞬态的可读存储介质,当计算机可读存储介质中的指令被计算机执行时,该计算机用于执行本技术提供的数据库设计方法。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如ssd)。108.本技术还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,在被计算设备执行时,该计算设备执行本技术实施例提供的数据库设计方法。109.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。110.在本技术实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“一个或多个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。111.本技术中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。112.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1