CN117785864A - 数据表展示方法、装置、电子设备及存储介质 - Google Patents
数据表展示方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117785864A CN117785864A CN202311491442.6A CN202311491442A CN117785864A CN 117785864 A CN117785864 A CN 117785864A CN 202311491442 A CN202311491442 A CN 202311491442A CN 117785864 A CN117785864 A CN 117785864A
- Authority
- CN
- China
- Prior art keywords
- data table
- canvas area
- grid
- determining
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000010586 diagram Methods 0.000 claims abstract description 34
- 238000009877 rendering Methods 0.000 claims abstract description 30
- 230000004044 response Effects 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 49
- 238000005457 optimization Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了数据表展示方法、装置、电子设备及存储介质,涉及云计算、分布式存储以及数据库等人工智能领域,可应用于智能云等场景下。其中的方法可包括:响应于获取到用户的数据表展示请求,确定出画布区域;根据画布区域从数据库中的各数据表中确定出待渲染的目标数据表;按照确定出的各目标数据表在画布区域中的展示位置,将各目标数据表加入画布区域进行渲染,得到各目标数据表对应的ER图,并将ER图展示给用户。应用本公开所述方案,可使得非技术人员能够以直观、高效的方式来查看和理解数据库中的数据表关系等。
Description
技术领域
本公开涉及人工智能技术,特别涉及云计算、分布式存储以及数据库等领域的数据表展示方法、装置、电子设备及存储介质。
背景技术
传统的数据库系统虽然能够存储和处理大量数据,但对于非技术人员来说,查看和理解数据库中的数据表关系通常是复杂和困难的。
发明内容
本公开提供了数据表展示方法、装置、电子设备及存储介质。
一种数据表展示方法,包括:
响应于获取到用户的数据表展示请求,确定出画布区域;
根据所述画布区域从数据库中的各数据表中确定出待渲染的目标数据表;
按照确定出的各目标数据表在所述画布区域中的展示位置,将各目标数据表加入所述画布区域进行渲染,得到各目标数据表对应的实体关系图,并将所述实体关系图展示给所述用户。
一种数据表展示装置,包括:第一确定模块、第二确定模块以及处理模块;
所述第一确定模块,用于响应于获取到用户的数据表展示请求,确定出画布区域;
所述第二确定模块,用于根据所述画布区域从数据库中的各数据表中确定出待渲染的目标数据表;
所述处理模块,用于按照确定出的各目标数据表在所述画布区域中的展示位置,将各目标数据表加入所述画布区域进行渲染,得到各目标数据表对应的实体关系图,并将所述实体关系图展示给所述用户。
一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上所述的方法。
一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行如以上所述的方法。
一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如以上所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开所述数据表展示方法实施例的流程图;
图2为本公开所述第一九宫格的示意图;
图3为本公开所述所展示的各目标数据表的示意图;
图4为本公开所述第二九宫格的示意图;
图5为本公开所述数据表展示装置实施例500的组成结构示意图;
图6示出了可以用来实施本公开的实施例的电子设备600的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本公开所述数据表展示方法实施例的流程图。如图1所示,包括以下具体实现方式。
在步骤101中,响应于获取到用户的数据表展示请求,确定出画布区域。
在步骤102中,根据画布区域从数据库中的各数据表中确定出待渲染的目标数据表。
在步骤103中,按照确定出的各目标数据表在画布区域中的展示位置,将各目标数据表加入画布区域进行渲染,得到各目标数据表对应的实体关系(ER,Entity-Relationship Diagram)图,并将ER图展示给用户。
采用上述方法实施例所述方案,可为用户提供可视化的ER图前端界面,从而使得非技术人员能够以直观、高效的方式来查看和理解数据库中的数据表关系,而且,可通过确定出各目标数据表的展示位置来提升展示效果等。
用户如何发出数据表展示请求不作限制,比如,可以是指点击前端界面上的预定按钮等。
针对数据表展示请求,可首先确定出画布区域。优选地,可获取预先设定的第一展示视口尺寸,并可将第一展示视口尺寸对应的矩形作为第一九宫格中的中心格,并可根据中心格确定出第一九宫格,其中的各非中心格的尺寸均与中心格的尺寸相同,进而可将第一九宫格区域作为所述画布区域。
第一展示视口尺寸可为开发者提供的默认的展示视口尺寸,包括宽度和高度。
图2为本公开所述第一九宫格的示意图。如图2所示,可将第一展示视口尺寸对应的矩形作为第一九宫格中的中心格,即5格,1格、2格、3格、4格、6格、7格、8格和9格均为非中心格,1格~9格组成第一九宫格,相应地,可将第一九宫格区域作为画布区域。可以看出,画布区域的尺寸相当于是将第一展示视口的尺寸扩大为3倍,即将第一展示视口的宽度*3以及将第一展示视口的高度*3。
通过上述处理,可简单方便地确定出所需的画布区域,从而为后续处理奠定了良好的基础。
根据画布区域,可从数据库中的各数据表确定出待渲染的目标数据表。优选地,可获取画布区域的宽度与默认值的商,并可将所述商向下取整,其中,各数据表在展示时的宽度均设置为所述默认值,之后可将向下取整结果作为目标数量,并从数据库中选出所述目标数量的数据表,作为默认数据表,进一步地,可分别从数据库中的数据表中选出与默认数据表存在直接关联关系的数据表,进而可将两次选出的数据表进行去重处理后作为确定出的目标数据表。
即可确定出画布区域中可水平排列多少张数据表,相应地,可计算画布区域的宽度与默认值(单张数据表的宽度)的商,并可将得到的商向下取整,从而得到默认数据表的数量,为便于表述,将所述数量称为目标数量。
另外,可分别从数据库中的数据表中选出与各默认数据表存在直接关联关系的数据表,进而可将各默认数据表以及选出的与各默认数据表存在直接关联关系的数据表进行去重处理后作为所需的目标数据表。
比如,假设数据库中共存在10(数字仅为举例说明,实际可能远大于此)张数据表,分别为数据表A、数据表B、......、数据表I和数据表J,假设选出了3张默认数据表,分别为数据表A、数据表B和数据表D,与数据表A存在直接关联关系的数据表为数据表B和数据表D,与数据表B存在直接关联关系的数据表为数据表C,与数据表D存在直接关联关系的数据表为数据表A、数据表C和数据表E,那么进行去重处理后,共可得到以下目标数据表:数据表A、数据表B、数据表C、数据表D和数据表E。
优选地,在从数据库中选出目标数量的数据表时,可按照预定方式对数据库中的各数据表进行排序,进而可将排序后处于前M位的数据表作为选出的数据表,M的取值等于所述目标数量。
所述预定方式具体为何种方式不作限制。比如,可按照加入数据库的时间由先到后的顺序对各数据表进行排序,或者,可按照优先级由高到低的顺序对各数据表进行排序等。
通过上述处理,可实现对于数据库中的数据表的有效筛选,从而提升了后续的处理效率,而且,将默认数据表以及与默认数据表存在直接关联关系的数据表均进行展示,从而提升了展示效果,使得用户可以更好的查看和理解数据表之间的关系等。
进一步地,可按照各目标数据表在画布区域中的展示位置,将各目标数据表加入画布区域进行渲染,从而得到各目标数据表对应的ER图,并可将所述ER图展示给用户。
如前所述,各数据表在展示时的宽度均设置为所述默认值,而对于每个数据表来说,在展示时的高度可为:表头名称高度+字段个数*单个字段默认高度,每个数据表中通常都会包括多个字段。
优选地,针对各目标数据表,可根据力导向布局算法确定出各目标数据表的展示位置,并可按照所述展示位置展示各目标数据表,以及可将存在直接关联关系的目标数据表通过连接线进行连接。
如可将各目标数据表分别通过基于数据驱动文档的脚本语言(D3.JS,Data-Driven Documents.JavaScript)库绘制成可缩放矢量图形(SVG,Scalable VectorGraphics)标签,加入画布区域进行渲染,并可通过目标数据表之间的直接关联关系,通过D3.JS库来绘制表示所述直接关联关系的连接线SVG标签,加入画布区域进行渲染。
D3.JS库是一个用于支持数据可视化的强大脚本语言(JavaScript)库,提供了丰富的图形绘制和交互功能,能够有效渲染复杂的数据图表等。
优选地,本公开所述方案中所用的力导向布局算法可包括:碰撞力的力导向布局算法(D3.forceCollide)、中心作用力的力导向布局算法(D3.forceCenter)以及连接力的力导向布局算法(D3.forceLink)。
其中,若将不同的目标数据表均视为ER图中的节点,那么D3.forceCollide可用于模拟不同节点之间的碰撞,防止不同节点发生重叠,D3.forceCenter用于将节点引力定位到画布的中心,使得节点可以尽量集中到画布中心区域,D3.forceLink用于表示连接线的力,使得连接线尽量的短。
在实际应用中,可同时结合上述三种力导向布局算法来确定出各目标数据表的展示位置,从而使得整体展示效果最优。
另外,可按照预定顺序对各目标数据表进行排序,并可遍历排序后的各目标数据表,针对每次遍历到的目标数据表,可分别进行以下处理:根据力导向布局算法确定出其展示位置,并根据所述展示位置加入画布进行渲染,并且,若根据力导向布局算法确定出需要对已加入的目标数据表的展示位置进行调整,则相应地进行调整等。
可以看出,采用上述处理方式,可借助于D3.JS库的力导向布局功能,对各目标数据表进行自动地排列和布局等,从而进一步提升了展示效果。
图3为本公开所述所展示的各目标数据表的示意图。如图3所示,连接线的箭头方向表示从起点指向终点的方向。另外,对于两个目标数据表来说,两者之间可能存在一条连接线,也可能存在多条连接线,假设两个目标数据表分别为目标数据表a和目标数据表b,并假设目标数据表a中的一个字段与目标数据表b中的一个字段存在直接关联关系,那么目标数据表a和目标数据表b之间则存在一条连接线,假设目标数据表a中的一个字段与目标数据表b中的两个字段存在直接关联关系,那么目标数据表a和目标数据表b之间则存在两条连接线,假设目标数据表a中的三个字段分别与目标数据表b中的对应一个字段存在直接关联关系,那么目标数据表a和目标数据表b之间则存在三条连接线。
优选地,响应于确定用户点击所展示的任一数据表,且所点击的数据表为默认数据表,那么可将所点击的数据表进行高亮展示,或者,可将所点击的数据表及相连接的连接线进行高亮展示。
即若用户所点击的数据表为默认数据表,那么可将所点击的数据表或者所点击的数据表及相连接的连接线进行高亮展示,以便突出显示所点击的数据表,方便用户查看等。
优选地,响应于确定用户点击所展示的任一数据表,且所点击的数据表为非默认数据表,且数据库中存在与所点击的数据表存在直接关联关系且未展示在画布区域中的数据表,将与所点击的数据表存在直接关联关系且未展示在画布区域中的数据表作为待添加数据表,并将待添加数据表加入画布区域进行渲染。
即若用户所点击的数据表为非默认数据表,那么可从数据库中的数据表中选出与所点击的数据表存在直接关联关系的数据表,假设选出两个数据表,其中一个数据表(如为默认数据表)已经展示在了画布区域中,那么则可将另外一个数据表作为待添加数据表,并加入画布区域进行渲染,从而使得用户可以方便地了解到与所点击的数据表直接关联的数据表信息等。
优选地,可在保持画布区域中已展示的数据表不进行位置变动的情况下,根据力导向布局算法确定出待添加数据表在画布区域中的展示位置,并根据所述展示位置展示待添加数据表,以及将待添加数据表与所点击的数据表通过连接线进行连接。
如可将待添加数据表通过D3.JS库绘制成SVG标签,加入画布区域进行渲染,并可根据所述直接关联关系,通过D3.JS库绘制对应的连接线SVG标签,加入画布区域进行渲染。而且,可维持画布区域中原来已展示的数据表不进行位置变动,从而便于用户查看新添加的数据表信息等。
另外,优选地,响应于用户对所点击的数据表中的内容执行了编辑操作,可将编辑后更新的内容保存到数据库中。
对于所展示的任一数据表来说,可将其中包括的各字段信息均进行展示,以方便用户进行查看,另外,用户点击任一数据表后,还可对其执行编辑操作,如对某个/某些字段内容进行修改等,相应地,可将所述修改对应保存到数据库中,从而增强了用户的友好性和可操作性等。
另外,本公开所述方案还可支持用户的拖动以及缩放等操作。
优选地,响应于用户对ER图执行了拖动操作,可根据拖动距离以及第一中心点位置确定出第二中心点位置,第一中心点位置为画布区域中的中心格的中心点位置,响应于第二中心点位置位于画布区域中的任一非中心格内,将该非中心格作为第二九宫格中的中心格,并根据第二九宫格中的中心格确定出第二九宫格,将第二九宫格区域作为更新后的画布区域,进而可确定出更新前已展示的数据表中位于更新后的画布区域内的数据表,作为待优化数据表,并可根据待优化数据表执行预定的优化处理。
第一中心点位置即为图2所示5格的中心点位置,拖动即相当于相对该中心点位置进行偏移。比如,若向左拖动的拖动距离大于中心格宽度的50%,那么第二中心点位置则位于4格内,若向右拖动的拖动距离大于中心格宽度的50%,那么第二中心点位置则位于6格内,若向右侧的斜上方拖动的拖动距离大于A表示中心格的宽度,B表示中心格的高度,那么第二中心点位置则位于3格内。
可将第二中心点位置所在的非中心格作为第二九宫格中的中心格,并可相应地生成第二九宫格,进而可将第二九宫格区域作为更新后的画布区域。
图4为本公开所述第二九宫格的示意图。如图4所示,假设新的中心格为(即第二九宫格的中心格)第一九宫格中的4格。可进一步确定出更新前已展示的数据表中位于更新后的画布区域内的数据表,作为待优化数据表,并可根据待优化数据表执行预定的优化处理,即执行更新渲染逻辑。
另外,优选地,响应于用户对ER图执行了缩放(缩小或放大)操作,可根据第一展示视口尺寸以及所述缩放操作对应的缩放比例确定出第二展示视口尺寸,并可将第二展示视口尺寸对应的矩形作为第三九宫格中的中心格,根据第三九宫格中的中心格确定出第三九宫格,并可将第三九宫格区域作为更新后的画布区域,进一步地,可确定出更新前已展示的数据表中位于更新后的画布区域内的数据表,作为待优化数据表,并可根据待优化数据表执行预定的优化处理。
缩放初始化默认值可为1,并可规定缩放范围,如[0.1,10]。用户触发缩放操作后,可根据缩放比例及第一展示视口尺寸确定出第二展示视口尺寸,如可用第一展示视口的尺寸乘以所述缩放比例。
根据第二展示视口尺寸,可生成第三九宫格,并可将第三九宫格区域作为更新后的画布区域,进而可确定出更新前已展示的数据表中位于更新后的画布区域内的数据表,作为待优化数据表,并可根据待优化数据表执行预定的优化处理,即执行更新渲染逻辑。
可以看出,本公开所述方案支持用户的拖动操作以及缩放操作,从而进一步增强了用户的友好性和可操作性等。
优选地,所述根据待优化数据表执行预定的优化处理的方式可包括:针对任一待优化数据表,响应于确定数据库中存在与该待优化数据表存在直接关联关系且未展示在更新后的画布区域中的数据表,可将确定出的数据表作为待处理数据表,并可将待处理数据表加入更新后的画布区域进行渲染。
优选地,可在保持更新后的画布区域中已展示的数据表不进行位置变动的情况下,根据力导向布局算法确定出待处理数据表在更新后的画布区域中的展示位置,并可根据所述展示位置展示待处理数据表,以及可将待处理数据表与对应的待优化数据表通过连接线进行连接。
如可将待处理数据表通过D3.JS库绘制成SVG标签,加入更新后的画布区域进行渲染,并可根据所述直接关联关系,通过D3.JS库绘制对应的连接线SVG标签,加入更新后的画布区域进行渲染。而且,可维持更新后的画布区域中原来已展示的数据表不进行位置变动,从而便于用户查看新添加的数据表信息等。
需要说明的是,对于前述的方法实施例,为了简单描述,将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本公开所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
图5为本公开所述数据表展示装置实施例500的组成结构示意图。如图5所示,包括:第一确定模块501、第二确定模块502以及处理模块503。
第一确定模块501,用于响应于获取到用户的数据表展示请求,确定出画布区域。
第二确定模块502,用于根据所述画布区域从数据库中的各数据表中确定出待渲染的目标数据表。
处理模块503,用于按照确定出的各目标数据表在所述画布区域中的展示位置,将各目标数据表加入所述画布区域进行渲染,得到各目标数据表对应的ER图,并将所述ER图展示给用户。
采用上述装置实施例所述方案,可为用户提供可视化的ER图前端界面,从而使得非技术人员能够以直观、高效的方式来查看和理解数据库中的数据表关系,而且,可通过确定出各目标数据表的展示位置来提升展示效果等。
针对数据表展示请求,可首先确定出画布区域。优选地,第一确定模块501可获取预先设定的第一展示视口尺寸,并可将第一展示视口尺寸对应的矩形作为第一九宫格中的中心格,并可根据中心格确定出第一九宫格,其中的各非中心格的尺寸均与中心格的尺寸相同,进而可将第一九宫格区域作为所述画布区域。
根据画布区域,可从数据库中的各数据表确定出待渲染的目标数据表。优选地,第二确定模块502可获取画布区域的宽度与默认值的商,并可将所述商向下取整,其中,各数据表在展示时的宽度均设置为所述默认值,之后可将向下取整结果作为目标数量,并从数据库中选出所述目标数量的数据表,作为默认数据表,进一步地,可分别从数据库中的数据表中选出与默认数据表存在直接关联关系的数据表,进而可将两次选出的数据表进行去重处理后作为确定出的目标数据表。
优选地,在从数据库中选出目标数量的数据表时,第二确定模块502可按照预定方式对数据库中的各数据表进行排序,进而可将排序后处于前M位的数据表作为选出的数据表,M的取值等于所述目标数量。
进一步地,处理模块503可按照各目标数据表在画布区域中的展示位置,将各目标数据表加入画布区域进行渲染,从而得到各目标数据表对应的ER图,并可将所述ER图展示给用户。
如前所述,各数据表在展示时的宽度均设置为所述默认值,而对于每个数据表来说,在展示时的高度可为:表头名称高度+字段个数*单个字段默认高度,每个数据表中通常都会包括多个字段。
优选地,针对各目标数据表,处理模块503可根据力导向布局算法确定出各目标数据表的展示位置,并可按照所述展示位置展示各目标数据表,以及可将存在直接关联关系的目标数据表通过连接线进行连接。
另外,优选地,处理模块503响应于确定用户点击所展示的任一数据表,且所点击的数据表为默认数据表,那么可将所点击的数据表进行高亮展示,或者,可将所点击的数据表及相连接的连接线进行高亮展示。
优选地,处理模块503响应于确定用户点击所展示的任一数据表,且所点击的数据表为非默认数据表,且数据库中存在与所点击的数据表存在直接关联关系且未展示在画布区域中的数据表,将与所点击的数据表存在直接关联关系且未展示在画布区域中的数据表作为待添加数据表,并将待添加数据表加入画布区域进行渲染。
其中,优选地,处理模块503可在保持画布区域中已展示的数据表不进行位置变动的情况下,根据力导向布局算法确定出待添加数据表在画布区域中的展示位置,并根据所述展示位置展示待添加数据表,以及将待添加数据表与所点击的数据表通过连接线进行连接。
另外,优选地,处理模块503响应于用户对所点击的数据表中的内容执行了编辑操作,可将编辑后更新的内容保存到数据库中。
本公开所述方案还可支持用户的拖动以及缩放等操作。
优选地,处理模块503响应于用户对ER图执行了拖动操作,可根据拖动距离以及第一中心点位置确定出第二中心点位置,第一中心点位置为画布区域中的中心格的中心点位置,响应于第二中心点位置位于画布区域中的任一非中心格内,将该非中心格作为第二九宫格中的中心格,并根据第二九宫格中的中心格确定出第二九宫格,将第二九宫格区域作为更新后的画布区域,进而可确定出更新前已展示的数据表中位于更新后的画布区域内的数据表,作为待优化数据表,并可根据待优化数据表执行预定的优化处理。
优选地,处理模块503响应于用户对ER图执行了缩放(缩小或放大)操作,可根据第一展示视口尺寸以及所述缩放操作对应的缩放比例确定出第二展示视口尺寸,并可将第二展示视口尺寸对应的矩形作为第三九宫格中的中心格,根据第三九宫格中的中心格确定出第三九宫格,并可将第三九宫格区域作为更新后的画布区域,进一步地,可确定出更新前已展示的数据表中位于更新后的画布区域内的数据表,作为待优化数据表,并可根据待优化数据表执行预定的优化处理。
其中,优选地,处理模块503根据待优化数据表执行预定的优化处理的方式可包括:针对任一待优化数据表,响应于确定数据库中存在与该待优化数据表存在直接关联关系且未展示在更新后的画布区域中的数据表,可将确定出的数据表作为待处理数据表,并可将待处理数据表加入更新后的画布区域进行渲染。
优选地,处理模块503可在保持更新后的画布区域中已展示的数据表不进行位置变动的情况下,根据力导向布局算法确定出待处理数据表在更新后的画布区域中的展示位置,并可根据所述展示位置展示待处理数据表,以及可将待处理数据表与对应的待优化数据表通过连接线进行连接。
图5所示装置实施例的具体工作流程可参照前述方法实施例中的相关说明,不再赘述。
总之,采用本公开所述方案,可使得非技术人员能够以直观、高效的方式来查看和理解数据库中的数据表关系,并提升了展示效果,而且,在实际应用中,本公开所述方案可通过一个软件开发工具包(SDK,Software Development Kit)的形式来实现,该SDK能够被轻松集成到各种不同的前端框架以及各种网页(web)应用程序中,具有极大的灵活性,并可降低集成的技术难度和成本等。
另外,本公开所述方案可应用于人工智能领域,特别涉及云计算、分布式存储以及数据库等领域。人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术,人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术,人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
本公开所述实施例中的数据表等并不是针对某一特定用户的,并不能反映出某一特定用户的个人信息。本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如本公开所述的方法。例如,在一些实施例中,本公开所述的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行本公开所述的方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开所述的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (29)
1.一种数据表展示方法,包括:
响应于获取到用户的数据表展示请求,确定出画布区域;
根据所述画布区域从数据库中的各数据表中确定出待渲染的目标数据表;
按照确定出的各目标数据表在所述画布区域中的展示位置,将各目标数据表加入所述画布区域进行渲染,得到各目标数据表对应的实体关系图,并将所述实体关系图展示给所述用户。
2.根据权利要求1所述的方法,其中,
所述确定出画布区域包括:
获取预先设定的第一展示视口尺寸;
将所述第一展示视口尺寸对应的矩形作为第一九宫格中的中心格,并根据所述中心格确定出所述第一九宫格,其中的各非中心格的尺寸均与所述中心格的尺寸相同;
将所述第一九宫格区域作为所述画布区域。
3.根据权利要求2所述的方法,其中,
所述根据所述画布区域从数据库中的各数据表中确定出待渲染的目标数据表包括:
获取所述画布区域的宽度与默认值的商,并将所述商向下取整,其中,各数据表在展示时的宽度均设置为所述默认值;
将向下取整结果作为目标数量,从所述数据库中选出所述目标数量的数据表,作为默认数据表;
分别从所述数据库中的各数据表中选出与所述默认数据表存在直接关联关系的数据表;
将两次选出的数据表进行去重处理后作为所述目标数据表。
4.根据权利要求3所述的方法,其中,
所述从所述数据库中选出所述目标数量的数据表包括:按照预定方式对所述数据库中的各数据表进行排序,将排序后处于前M位的数据表作为选出的数据表,所述M的取值等于所述目标数量。
5.根据权利要求3所述的方法,其中,
所述按照确定出的各目标数据表在所述画布区域中的展示位置,将各目标数据表加入所述画布区域进行渲染包括:
根据力导向布局算法确定出各目标数据表的展示位置,按照所述展示位置展示各目标数据表,并将存在所述直接关联关系的目标数据表通过连接线进行连接。
6.根据权利要求5所述的方法,还包括:
响应于确定所述用户点击所展示的任一数据表,且所点击的数据表为所述默认数据表,将所点击的数据表进行高亮展示,或者,将所点击的数据表及相连接的连接线进行高亮展示。
7.根据权利要求5所述的方法,还包括:
响应于确定所述用户点击所展示的任一数据表,且所点击的数据表为非默认数据表,且所述数据库中存在与所点击的数据表存在直接关联关系且未展示在所述画布区域中的数据表,将所述与所点击的数据表存在直接关联关系且未展示在所述画布区域中的数据表作为待添加数据表,并将所述待添加数据表加入所述画布区域进行渲染。
8.根据权利要求7所述的方法,其中,
所述将所述待添加数据表加入所述画布区域进行渲染包括:
在保持所述画布区域中已展示的数据表不进行位置变动的情况下,根据所述力导向布局算法确定出所述待添加数据表在所述画布区域中的展示位置,根据所述展示位置展示所述待添加数据表,并将所述待添加数据表与所点击的数据表通过连接线进行连接。
9.根据权利要求6、7或8所述的方法,还包括:
响应于所述用户对所点击的数据表中的内容执行了编辑操作,将编辑后更新的内容保存到所述数据库中。
10.根据权利要求2所述的方法,还包括:
响应于所述用户对所述实体关系图执行了拖动操作,根据拖动距离以及第一中心点位置确定出第二中心点位置,所述第一中心点位置为所述画布区域中的中心格的中心点位置;
响应于所述第二中心点位置位于所述画布区域中的任一非中心格内,将所述非中心格作为第二九宫格中的中心格,并根据所述第二九宫格中的中心格确定出所述第二九宫格,将所述第二九宫格区域作为更新后的画布区域;
确定出更新前已展示的数据表中位于所述更新后的画布区域内的数据表,作为待优化数据表,并根据所述待优化数据表执行预定的优化处理。
11.根据权利要求2所述的方法,还包括:
响应于所述用户对所述实体关系图执行了缩放操作,根据第一展示视口尺寸以及所述缩放操作对应的缩放比例确定出第二展示视口尺寸,将所述第二展示视口尺寸对应的矩形作为第三九宫格中的中心格,并根据所述第三九宫格中的中心格确定出所述第三九宫格,将所述第三九宫格区域作为更新后的画布区域;
确定出更新前已展示的数据表中位于所述更新后的画布区域内的数据表,作为待优化数据表,并根据所述待优化数据表执行预定的优化处理。
12.根据权利要求10或11所述的方法,其中,
所述根据所述待优化数据表执行预定的优化处理包括:
针对任一待优化数据表,响应于确定所述数据库中存在与所述待优化数据表存在直接关联关系且未展示在所述更新后的画布区域中的数据表,将确定出的数据表作为待处理数据表,并将所述待处理数据表加入所述更新后的画布区域进行渲染。
13.根据权利要求12所述的方法,其中,
所述将所述待处理数据表加入所述更新后的画布区域进行渲染包括:在保持所述更新后的画布区域中已展示的数据表不进行位置变动的情况下,根据力导向布局算法确定出所述待处理数据表在所述更新后的画布区域中的展示位置,根据所述展示位置展示所述待处理数据表,并将所述待处理数据表与对应的待优化数据表通过连接线进行连接。
14.一种数据表展示装置,包括:第一确定模块、第二确定模块以及处理模块;
所述第一确定模块,用于响应于获取到用户的数据表展示请求,确定出画布区域;
所述第二确定模块,用于根据所述画布区域从数据库中的各数据表中确定出待渲染的目标数据表;
所述处理模块,用于按照确定出的各目标数据表在所述画布区域中的展示位置,将各目标数据表加入所述画布区域进行渲染,得到各目标数据表对应的实体关系图,并将所述实体关系图展示给所述用户。
15.根据权利要求14所述的装置,其中,
所述第一确定模块获取预先设定的第一展示视口尺寸,将所述第一展示视口尺寸对应的矩形作为第一九宫格中的中心格,并根据所述中心格确定出所述第一九宫格,其中的各非中心格的尺寸均与所述中心格的尺寸相同,将所述第一九宫格区域作为所述画布区域。
16.根据权利要求15所述的装置,其中,
所述第二确定模块获取所述画布区域的宽度与默认值的商,并将所述商向下取整,其中,各数据表在展示时的宽度均设置为所述默认值,将向下取整结果作为目标数量,从所述数据库中选出所述目标数量的数据表,作为默认数据表,分别从所述数据库中的各数据表中选出与所述默认数据表存在直接关联关系的数据表,将两次选出的数据表进行去重处理后作为所述目标数据表。
17.根据权利要求16所述的装置,其中,
所述第二确定模块按照预定方式对所述数据库中的各数据表进行排序,将排序后处于前M位的数据表作为选出的数据表,所述M的取值等于所述目标数量。
18.根据权利要求16所述的装置,其中,
所述处理模块根据力导向布局算法确定出各目标数据表的展示位置,按照所述展示位置展示各目标数据表,并将存在所述直接关联关系的目标数据表通过连接线进行连接。
19.根据权利要求18所述的装置,其中,
所述处理模块进一步用于,响应于确定所述用户点击所展示的任一数据表,且所点击的数据表为所述默认数据表,将所点击的数据表进行高亮展示,或者,将所点击的数据表及相连接的连接线进行高亮展示。
20.根据权利要求18所述的装置,其中,
所述处理模块进一步用于,响应于确定所述用户点击所展示的任一数据表,且所点击的数据表为非默认数据表,且所述数据库中存在与所点击的数据表存在直接关联关系且未展示在所述画布区域中的数据表,将所述与所点击的数据表存在直接关联关系且未展示在所述画布区域中的数据表作为待添加数据表,并将所述待添加数据表加入所述画布区域进行渲染。
21.根据权利要求20所述的装置,其中,
所述处理模块在保持所述画布区域中已展示的数据表不进行位置变动的情况下,根据所述力导向布局算法确定出所述待添加数据表在所述画布区域中的展示位置,根据所述展示位置展示所述待添加数据表,并将所述待添加数据表与所点击的数据表通过连接线进行连接。
22.根据权利要求19、20或21所述的装置,其中,
所述处理模块进一步用于,响应于所述用户对所点击的数据表中的内容执行了编辑操作,将编辑后更新的内容保存到所述数据库中。
23.根据权利要求15所述的装置,其中,
所述处理模块进一步用于,响应于所述用户对所述实体关系图执行了拖动操作,根据拖动距离以及第一中心点位置确定出第二中心点位置,所述第一中心点位置为所述画布区域中的中心格的中心点位置,响应于所述第二中心点位置位于所述画布区域中的任一非中心格内,将所述非中心格作为第二九宫格中的中心格,并根据所述第二九宫格中的中心格确定出所述第二九宫格,将所述第二九宫格区域作为更新后的画布区域,确定出更新前已展示的数据表中位于所述更新后的画布区域内的数据表,作为待优化数据表,并根据所述待优化数据表执行预定的优化处理。
24.根据权利要求15所述的装置,其中,
所述处理模块进一步用于,响应于所述用户对所述实体关系图执行了缩放操作,根据第一展示视口尺寸以及所述缩放操作对应的缩放比例确定出第二展示视口尺寸,将所述第二展示视口尺寸对应的矩形作为第三九宫格中的中心格,并根据所述第三九宫格中的中心格确定出所述第三九宫格,将所述第三九宫格区域作为更新后的画布区域,确定出更新前已展示的数据表中位于所述更新后的画布区域内的数据表,作为待优化数据表,并根据所述待优化数据表执行预定的优化处理。
25.根据权利要求23或24所述的装置,其中,
所述处理模块针对任一待优化数据表,响应于确定所述数据库中存在与所述待优化数据表存在直接关联关系且未展示在所述更新后的画布区域中的数据表,将确定出的数据表作为待处理数据表,并将所述待处理数据表加入所述更新后的画布区域进行渲染。
26.根据权利要求25所述的装置,其中,
所述处理模块在保持所述更新后的画布区域中已展示的数据表不进行位置变动的情况下,根据力导向布局算法确定出所述待处理数据表在所述更新后的画布区域中的展示位置,根据所述展示位置展示所述待处理数据表,并将所述待处理数据表与对应的待优化数据表通过连接线进行连接。
27.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法。
28.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行权利要求1-13中任一项所述的方法。
29.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311491442.6A CN117785864A (zh) | 2023-11-09 | 2023-11-09 | 数据表展示方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311491442.6A CN117785864A (zh) | 2023-11-09 | 2023-11-09 | 数据表展示方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117785864A true CN117785864A (zh) | 2024-03-29 |
Family
ID=90378671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311491442.6A Pending CN117785864A (zh) | 2023-11-09 | 2023-11-09 | 数据表展示方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785864A (zh) |
-
2023
- 2023-11-09 CN CN202311491442.6A patent/CN117785864A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113590776B (zh) | 基于知识图谱的文本处理方法、装置、电子设备及介质 | |
CN114862656A (zh) | 基于多gpu的分布式深度学习模型训练代价的获取方法 | |
CN113377890B (zh) | 一种地图质检方法、装置、电子设备及存储介质 | |
CN113780098A (zh) | 文字识别方法、装置、电子设备以及存储介质 | |
CN114330249A (zh) | 信息的编辑方法、装置、设备以及存储介质 | |
CN114428902B (zh) | 信息搜索方法、装置、电子设备及存储介质 | |
CN113762109B (zh) | 一种文字定位模型的训练方法及文字定位方法 | |
CN117971661A (zh) | 大模型测试方法、装置、电子设备及存储介质 | |
CN114327057A (zh) | 对象选择方法、装置、设备、介质及程序产品 | |
CN112464040B (zh) | 图结构识别、可视化展示及显示操作方法及装置 | |
CN117390195A (zh) | 基于图编辑器的知识溯源连线方法、系统、设备和介质 | |
CN114882313B (zh) | 生成图像标注信息的方法、装置、电子设备及存储介质 | |
CN117785864A (zh) | 数据表展示方法、装置、电子设备及存储介质 | |
CN113722593B (zh) | 事件数据处理方法、装置、电子设备和介质 | |
CN114817476A (zh) | 语言模型的训练方法、装置、电子设备和存储介质 | |
US11106344B2 (en) | Methods and devices for capturing heuristic information via a weighting tool | |
CN113407745A (zh) | 数据标注方法、装置、电子设备及计算机可读存储介质 | |
CN114268746B (zh) | 一种视频生成方法、装置、设备及存储介质 | |
EP4109358A1 (en) | Intelligent transportation road network acquisition method and apparatus, electronic device and storage medium | |
CN112860874B (zh) | 问答交互方法、装置、设备和存储介质 | |
JPH09292961A (ja) | データ表示処理システム | |
CN115994970B (zh) | 量子电路图渲染方法、装置、设备、存储介质及程序产品 | |
JP4221007B2 (ja) | データ表示処理システム | |
CN116610244A (zh) | 缩略图展示控制方法、装置、设备及存储介质 | |
CN115730105A (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 |