CN114930285B - 一种软件架构的可视化方法及装置 - Google Patents

一种软件架构的可视化方法及装置 Download PDF

Info

Publication number
CN114930285B
CN114930285B CN202080089531.6A CN202080089531A CN114930285B CN 114930285 B CN114930285 B CN 114930285B CN 202080089531 A CN202080089531 A CN 202080089531A CN 114930285 B CN114930285 B CN 114930285B
Authority
CN
China
Prior art keywords
dimensional view
dimensional
functional component
view
functional
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.)
Active
Application number
CN202080089531.6A
Other languages
English (en)
Other versions
CN114930285A (zh
Inventor
杨少兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Publication of CN114930285A publication Critical patent/CN114930285A/zh
Application granted granted Critical
Publication of CN114930285B publication Critical patent/CN114930285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一种软件架构的可视化方法及装置。展示装置接收到软件的架构信息后,可以先根据该架构信息构建三维视图。在构建了三维视图之后,展示装置可以展示该三维视图,还可以展示二维视图。该架构信息指示软件包括一个或多个功能组件,在三维视图可以通过一个立体图形表征一个功能组件。用户在查看三维视图时,还可以对三维视图执行一系列操作。展示装置响应于用户对三维视图的操作,可以调整三维视图,并展示调整后的三维视图。通过三维视图可以更加直观的展示软件架构,还可以灵活的通过对三维视图调整软件架构。

Description

一种软件架构的可视化方法及装置
相关申请的交叉引用
本申请要求在2019年12月23日提交中华人民共和国知识产权局、申请号为201911336428.2、发明名称为“一种软件架构的可视化方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种软件架构的可视化方法及装置。
背景技术
一个软件可以被分为多个不同的功能组件,软件架构用于描述软件的构成以及软件中各个功能组件之间的关联关系。为了能够更加直观的展示一个软件的软件架构,目前可以采用二维视图,在二维平面内显示该软件中的各个功能组件,利用形状以及连接线,展示软件架构。例如,在二维视图中可以利用形状代表功能组件,不同形状代表不同的功能组件。用连接线表征功能组件之间的关联关系。
但二维视图受限于维度,已形成的二维视图中的图形并不能进行旋转平移。二维视图的展示软件架构的方法灵活性和直观性较差。
发明内容
本申请提供一种软件架构的可视化方法及装置,用以提高软件架构展示的灵活性以及直观性。
第一方面,本申请实施例提供了一种软件架构的可视化方法,该方法可以由展示装置执行,方法包括:当展示装置接收到软件的架构信息时,可以先根据该架构信息构建三维视图。可选的,也可以构建二维视图。在构建了三维视图之后,展示装置可以展示该三维视图,还可以展示二维视图。其中,该架构信息指示软件包括一个或多个功能组件,在三维视图可以通过一个立体图形表征一个功能组件。
用户在查看三维视图时,还可以对三维视图执行一些操作。展示装置响应于用户对三维视图的操作,可以调整三维视图,并展示调整后的三维视图。展示装置也可以调整二维视图,并在用户的触发下显示二维视图。
通过上述方法,展示装置可以通过三维视图展示软件架构,这种展示方式更加直观,另外,还可以对三维视图进行调整,能够较为灵活、方便的调整软件架构。
在一种可能的设计中,展示装置在响应于用户对三维视图的操作,调整三维视图时,可以先更新软件的架构信息;之后,利用更新后的软件的架构信息调整三维视图。
通过上述方法,展示装置通过更新架构信息调整三维视图,这种调整方式更加便捷。
在一种可能的设计中,软件的架构信息用于描述该软件的架构,软件的架构信息包括以下至少一个:软件中功能组件的名称、软件中功能组件之间的关联关系、功能组件占用计算资源、软件中功能组件之间的从属关系、功能组件的结构信息。
通过上述方法,软件的架构信息包括的信息越丰富,三维视图所展示的信息越多,使得三维视图更加直观。
在一种可能的设计中,三维视图展示软件的架构的方式有很多,例如,三维视图中的立体图形之间的连接线可以指示软件中功能组件之间的关联关系,三维视图中立体图形可以指示软件中功能组件占用的计算资源,三维视图中立体图形之间的包含关系可以指示软件中功能组件之间的从属关系,三维视图中立体图形中三维图形可以指示功能组件中的实例。
通过上述方法,三维视图可以展示较多的信息,这些信息可以在三维视图中通过图形化的方式展示,三维视图能够更加直观、灵活的展示软件的架构。
在一种可能的设计中,用户对三维视图的操作有很多种,例如,用户可以对三维视图中国的立体图形执行旋转操作。展示装置响应于用户对三维视图中立体图形的旋转操作,可以旋转立体图形。
通过上述方法,用户通过对立体图形的旋转,可以改变立体图形的展示方向,以便可以全方位的查看该立体图形对应的功能组件。
在一种可能的设计中,用户对三维视图的操作有很多种,例如,用户可以对三维视图中国的立体图形执行移动操作。展示装置响应于用户对三维视图中立体图形的移动操作,移动立体图形。
通过上述方法,用户通过对立体图形的移动,可以改变立体图形的展示位置,可以改变功能组件之间的从属关系,也可以更清晰的查看该立体图形对应的功能组件。
在一种可能的设计中,三维视图中立体图形指示软件中功能组件占用的计算资源的方式有很多。例如,立体图形的横截面积可以指示功能组件占用的一种计算资源,立体图形的高可以指示功能组件中实例的数量。又例如,立体图形中三个不同方向的边可以分别指示功能组件占用的一种计算资源。
用户对三维视图的操作有很多种。例如,用户可以对三维视图中国的立体图形执行缩放操作。展示模块响应于用户对三维视图中立体图形的缩放操作,可以缩放立体图形,以调整立体图形对应的功能组件占用的计算资源。
通过上述方法,展示装置通过缩放该立体图形,可以较为便捷的变更功能组件占用的计算资源。
在一种可能的设计中,当立体图形的边用于指示功能组件所占用的不同计算资源时,若用户对三维视图中立体图形的边执行拉伸操作,展示装置响应于用户对三维视图中立体图形的边的拉伸操作,拉伸边,以调整立体图形对应的功能组件所占用的边对应的计算资源。
若用户对三维视图中立体图形的顶点执行拉伸操作,展示装置响应于用户对三维视图中立体图形的顶点的拉伸操作,沿拉伸操作的方向等比例缩放立体图形的全部边,以调整立体图形对应的功能组件所占用各个边对应的计算资源。
通过上述方法,展示装置通过缩放该立体图形的边,可以较为便捷的变更功能组件占用的不同计算资源。
在一种可能的设计中,三维视图中立体图形包括三维图形,一个立体图形包括的三维图形指示立体图形对应的功能组件内的实例。用户可以对三维视图中三维视图进行移动、旋转、或缩放等操作,展示装置响应于用户对三维视图中三维图形的操作,调整三维图形。
例如,展示装置可以响应于用户对三维视图中三维图形的缩放操作,缩放三维图形,调整三维图形指示的实例占用的计算资源。
通过上述方法,展示装置通过调整该三维图形,可以较为便捷的变更功能组件中实例占用的计算资源。
在一种可能的设计中,三维视图中三维图形指示功能组件中实例占用的计算资源的方式有很多。例如,三维图形的横截面积可以指示功能组件中实例占用的一种计算资源,三维图形的高可以指示功能组件中实例的另一种计算资源。又例如,三维图形中三个不同方向的边可以分别指示功能组件中实例占用的一种计算资源。
当用户对响应于用户对三维视图中三维图形执行缩放操作时,若用户对三维视图中三维图形的边的执行拉伸操作,展示装置响应于用户对三维视图中三维图形的边的拉伸操作,沿拉伸操作的方向缩放三维图形的边,以调整三维图形对应的实例所占用的边对应的计算资源。若用户对三维视图中三维图形的顶点的执行拉伸操作,展示装置响应于用户对三维视图中三维图形的顶点的拉伸操作,沿拉伸操作的方向等比例缩放三维图形的全部边,以调整三维图形对应的实例所占用的所有边对应的计算资源。
通过上述方法,展示装置通过缩放该三维图形的边或顶点,可以较为便捷的变更功能组件中实例占用的不同计算资源。
在一种可能的设计中,展示装置在调整三维视图之后,还可以根据调整后的三维视图更新二维视图,二维视图为预先构建的,用于展示软的架构。二维视图中的二维图形代表软件架构中的功能组件,二维图形之间的连接线可以表征功能组件间的关联关系,二维图形之间的包含关系可以表征功能组件之间的从属关系。
更新后,展示装置在用户的触发下,可以展示更新后的二维视图。
通过上述方法,展示装置除了展示三维视图,还可以展示二维视图,展示软件架构的方式更加多样化。
在一种可能的设计中,展示装置可以接收软件的架构的更新信息,更新信息包括软件中变更的功能组件的名称以及变更的功能组件的变更方式;该更新信息可以是其他装置发送的,也可以是由用户对三维视图执行操作时所产生的。展示装置可以根据更新信息更新三维视图或二维视图;并在用户触发下展示更新后的三维视图或二维视图。
通过上述方法,展示装置可以及时更新三维视图或二维视图,以使得三维视图和二维视图可以更加准确的展示软件的架构。
第二方面,本申请实施例还提供了一种展示装置,有益效果可以参见第一方面的描述此处不再赘述。该装置具有实现上述第一方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括接收模块、构建模块、以及展示模块,这些模块可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第三方面,本申请实施例还提供了一种计算设备,所述计算设备包括处理器和存储器,还可以包括通信接口以及显示屏,所述处理器执行所述存储器中的程序指令执行上述第一方面或第一方面任一可能的实现方式提供的方法。所述存储器与所述处理器耦合,其保存确定交通流量的过程中必要的程序指令和数据。所述通信接口,用于与其他设备进行通信,如接收软件的架构信息或更新信息。所述显示屏用于在所述处器的触发下向用户显示三维视图或二维视图。
第四方面,本申请提供了一种计算设备集群,该计算设备集群包括至少一个计算设备。每个计算设备包括存储器和处理器。至少一个计算设备的处理器用于访问所述存储器中的代码以执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第五方面,本申请提供了一种非瞬态的可读存储介质,所述非瞬态的可读存储介质被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该存储介质中存储了程序。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard disk drive,HDD)、固态硬盘(solid state drive,SSD)。
第六方面,本申请提供了一种计算设备程序产品,所述计算设备程序产品包括计算机指令,在被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面的任意可能的实现方式中提供的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
第七方面,本申请还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。
附图说明
图1为本申请提供的一种展示装置的结构示意图;
图2A至图2B为本申请提供的一种二维逻辑视图的示意图;
图3为本申请提供的一种二维运行视图的示意图;
图4为本申请提供的一种二维部署视图的示意图;
图5A为本申请提供的一种三维逻辑视图的示意图;
图5B至图5H为本申请提供的一种调整三维逻辑视图的示意图;
图6为本申请提供的一种三维运行视图的示意图;
图7为本申请提供的一种三维部署视图的示意图;
图8A至图8B为本申请提供的另一种三维逻辑视图的示意图;
图8C至图8F为本申请提供的一种调整三维逻辑视图的示意图;
图9为本申请提供的另一种二维部署视图的示意图;
图10为本申请提供的另一种三维逻辑视图的示意图;
图11本申请提供的另一种三维映射视图的示意图;
图12为本申请提供的一种视图构建方法示意图;
图13为本申请提供的一种展示软件架构的界面示意图;
图14本申请提供的另一种展示软件架构的界面示意图;
图15为本申请提供的一种视图更新方法示意图;
图16为本申请提供的一种计算机集群的结构示意图;
图17为本申请提供一种系统的结构示意图。
具体实施方式
通常,一个软件从逻辑上可以分拆为多个功能组件,每个功能组件能够用于实现一种或者一系列相关的功能。每个功能组件也可以划分为更小粒度的功能组件。在本申请实施例中功能组件包括但不限于:模块、组件、服务、微服务以及实例。
为方便理解,下面对前述几种不同类型的功能组件进行说明。
1、模块(module),是指将软件按照根据功能划分的一种组成部分,本申请实施例并不限定软件的划分方式。以订票软件为例,从功能上可以划分为数据库模块、匹配模块、以及支付模块。数据库模块中保存有不同列车的发车时间、每辆列车的各个停靠站点的时间、列车的余票数量以及价格等信息;匹配模块用于根据用户的需求从数据库中匹配满足要求的列车;支付模块可以在用户的触发下指示用户进行车票支付。
2、组件(component),可以作为软件架构中模块的组成部分。在本申请实施例中组件可以指基于C/C++等编程语言,在逻辑上划分的独立部分。例如组件可以是一个独立的.so或是.dll文件。
3、实例(instance),可以是模块,或组件,或部署了模块或组件的计算实体。计算实体可以是虚拟机或容器或其他提供计算能力的实体。每个实例占用的计算资源包括以下一种或多种:处理器、内存、磁盘空间、带宽等。
每个功能组件包括至少一个实例。一个功能组件中包括的实例可以相同,此种情况下,软件架构中相同的实例被聚集到统一功能组件中,例如订票软件的软件架构中包括多个数据库模块,多个匹配模块,多个支付模块。在一种实现方式中,该订票软件的软件架构中包括3个功能组件,一个功能组件包括了多个数据库模块,另一个功能组件包括了多个匹配模块,另一个功能组件包括了支付模块。在另一种实现方式中,该订票软件的软件架构中包括3个功能组件,一个功能组件包括了多个运行了数据库的计算实体,另一个功能组件包括了多个运行了匹配模块的计算实体,另一个功能组件包括了多个运行了支付模块的计算实体。一个功能组件中包括的实例也可以不相同,此种情况下,软件架构中功能关联的实例被聚集到统一功能组件中,例如订票软件的软件架构中包括3个数据库模块,3个匹配模块,3个支付模块和1个负载均衡模块。那么该订票软件的软件架构中包括4个功能组件,其中1至3号功能组件中的每一个功能组件包括了1个数据库模块、1个匹配模块、1个支付模块,4号功能组件包括了负载均衡模块。其中,4号功能组件内的负载均衡模块用于在1至3号功能组件中负载均衡。在另一种实现方式中,该订票软件的软件架构中包括4个功能组件,其中1至3号功能组件中的每一个功能组件包括了1个运行了数据库模块的计算实体、1个运行了匹配模块的计算实体、1个运行了支付模块的计算实体,4号功能组件包括了运行负载均衡模块的计算实体。
本申请实施例提供一种软件架构的可视化方法,该方法由展示装置执行。如图1所示,为本申请实施例提供的一种展示装置的结构示意图,该展示装置100包括接收模块110、构建模块120、展示模块130。
接收模块110可以接收待展示的软件的架构信息。该架构信息包括但不限于:该软件中包括的功能组件的名称、功能组件之间的关联关系。可选的,还可以包括功能组件的结构信息。
构建模块120根据该架构信息构建三维视图,可选的,构建模块120还可以构建二维视图。
展示模块130用于在用户的触发下展示三维视图,展示模块130还可以响应于用户的操作,调整三维视图。
在本申请实施例中软件架构不再局限于二维视图,而是可以按照软件的架构信息构建两种维度不同的视图,在用户的触发下,可以按照用户的需求展示三维视图。在本申请实施例中,可以通过三维视图展示软件架构,三维视图相对于二维视图,更具有直观性,所能展示的信息也更多,可以有效提高软件架构展示的灵活性。
一般,基于架构视图所展示的信息,架构视图可以分逻辑视图、运行视图、部署视图等,其中,逻辑视图侧重于展示软件中功能组件的关联关系以及从属关系;关联关系是指功能组件之间存在信息交互,存在连接;从属关系是指功能组件的包含与被包含的关系,可以理解为功能组件的进一步细化。
运行视图侧重于展示软件中功能组件的运行状态或功能组件中实例的运行状态,如故障、正常运行等。
部署视图侧重于展示软件中功能组件部署的位置,如功能组件所处的服务器、所在的地理区域等。
而从架构视图的维度上,架构视图可以分为二维视图、三维视图等等,在本申请实施例中展示软件的架构视图从维度上可以分为两种,分别为二维视图和三维视图,下面对二维视图和三维视图展示软件架构的方式进行说明。
如图2A所示,为一种软件架构的二维视图,在二维视图中,可以利用二维图形代表软件架构中的功能组件(也就是一个功能组件对应一个二维图形),二维图形之间的连接线可以表征功能组件间的关联关系,二维图形之间的包含关系可以表征功能组件之间的从属关系。
图2A所示的二维视图中包括五个功能组件,分别为功能组件1、功能组件2、功能组件3、功能组件4以及功能组件5。功能组件1利用线性框表示,功能组件2、功能组件3、功能组件4以及功能组件5利用特定的二维图标表示。线性框中包括代表功能组件2和功能组件3的二维图标,表示了功能组件1与功能组件2和功能组件3之间的从属关系,也即功能组件1中包括功能组件2和功能组件3。代表功能组件2的二维图标与代表功能组件4、功能组件5的二维图标之间有连接线,表明功能组件2与功能组件4、功能组件5之间存在关联。同样的,功能组件3与功能组件5之间存在关联。
由于图2A所示的二维逻辑视图中一些功能组件是利用二维图标表示的,二维图标不便于进行划分,无法进一步展示这些功能组件的内部结构。作为一种可能的实施方式,在二维视图中功能组件也可以均采用线性框表征,这样当对线性框进行划分后,可以利用线性框划分的多个组成部分,表征功能组件的内部结构。如图2B所示,为一种软件架构的二维视图,二维视图中包括五个功能组件,分别为功能组件1、功能组件2、功能组件3、功能组件4以及功能组件5。这五个功能组件均用线性框表示。功能组件1对应的线性框中包括代表功能组件2和功能组件3的线性框,表示了功能组件1与功能组件2和功能组件3之间的从属关系,也即功能组件1中包括功能组件2和功能组件3。代表功能组件2的线性框与代表功能组件4、功能组件5的线性框之间有连接线,表明功能组件2与功能组件4、功能组件5之间存在关联。同样的,功能组件3与功能组件5之间存在关联。另外,代表功能组件2的线性框中进一步进行划分,划分为三个相同的小线性框,每个小线性框可以表征该功能组件的一个实例,表明功能组件2中包括3个实例。同样的,功能组件3中包括4个实例。功能组件4中包括2个实例,功能组件5中包括2个实例。在二维视图中尽可能多的展示信息。
如图2A和图2B所示的二维视图侧重展示软件中功能组件的关联关系和包含关系,可以看做是软件架构的二维逻辑视图。由于运行视图需要展示功能组件的运行状态,目前二维视图下功能组件的运行状态可以借助文字信息,在二维逻辑视图的基础上,通过文字信息显示各个功能组件的运行状态。如图3所示,图3中每个功能组件的名称旁用文字的方式显示了功能组件的运行状态。图3中的文字显示,功能组件1、功能组件2和功能组件3运行正常,功能组件5运行故障,功能组件4运行缓慢。
部署视图展示功能组件的部署位置,在二维视图下功能组件的部署位置也可以借助文字信息显示在二通逻辑视图的基础上。如图4所示,图4中每个功能组件旁用文字的方式显示了功能组件的部署位置。图4中的文字显示,功能组件1、功能组件2和功能组件3部署在服务器1中,功能组件5部署在服务器2中,功能组件4部署在服务器3中。
从图2A至图4中,二维视图受限于维度,能够展示的信息有限,显示的方式也不够生动、直观。
下面对本申请实施例提供的软件架构的三维视图进行说明,功能组件中的实例相同或不同,三维视图展示软件架构的方式存在一定的区别,下面分别进行说明:
方式一:功能组件中的实例不同,功能组件中的实例互相配合实现该功能组件的功能。
在三维视图中,可以利用立体图形代表软件架构中的功能组件,立体图形之间的连接线可以表征功能组件间的关联关系。立体图形之间的包含关系可以表征功能组件之间的从属关系。立体图形内部的构成可以表征功能组件中的实例。
如图5A所示,为本申请实施例提供的一种软件架构的三维视图,三维视图中包括五个功能组件,分别为功能组件1、功能组件2、功能组件3、功能组件4以及功能组件5。功能组件1利用扁平的长方体表示,功能组件2、功能组件3、功能组件4以及功能组件5利用高度较大的长方体表示。扁平的长方体上放置了代表功能组件2和功能组件3的长方体,表示了功能组件1与功能组件2和功能组件3之间的从属关系,也即功能组件1中包括功能组件2和功能组件3,功能组件2和功能组件3之间相互配合实现功能组件1所实现的功能。代表功能组件2的长方体与代表功能组件4、功能组件5的长方体之间有连接线,表明功能组件2与功能组件4、功能组件5之间存在关联,例如,功能组件2与功能组件4、功能组件5之间可以进行信息交互。同样的,功能组件3与功能组件5之间存在关联。另外,代表功能组件2的长方体中进一步进行划分,划分为三个相同的小长方体,每个小长方体可以表征该功能组件的一个实例,表明功能组件2中包括3个实例,功能组件2中包括的3个实例相互配合实现功能组件2所实现的功能。同样的,功能组件3中包括4个实例。功能组件4中包括2个实例,功能组件5中包括2个实例。
如图5A所示的三维视图侧重展示软件中功能组件的关联关系和包含关系,可以看做是软件架构的三维逻辑视图。
展示模块130可以向用户展示如图5A所示的三维逻辑视图,用户在查看该三维逻辑视图时,还可以对三维逻辑视图执行一些操作,该操作包括但不限于:旋转、平移、缩放。构建模块响应于用户的操作,构建模块120可以对三维逻辑视图中功能组件对应的立体图形进行旋转、平移、缩放等,调整三维逻辑视图,展示模块130展示调整后的三维逻辑视图。
操作一、旋转
用户可以通过光标对三维逻辑视图中功能组件对应的立体图形执行旋转操作,构建模块120响应于该旋转操作,构建模块120可以按照光标的旋转方向,旋转该功能组件对应的立体图形。通过旋转该立体图形,用户可以全方位的查看该功能组件。
参见图5B,当光标移动至功能组件2对应的长方体时,显示向右旋转的箭头501和向左旋转的箭头502,用户可以通过点击向右旋转的箭头501或向左旋转的箭头502,使得功能组件2对应的长方体向右旋转,或向左旋转,图5B以点击向左旋转为例。
作为一种可能的实施方式,三维逻辑视图中每个功能组件对应的立体图形设置有旋转操作区域,光标移动至旋转操作区域,用户触发光标在该旋转操作区域移动的移动方向以及移动角度指示该功能组件对应的长方体的旋转方向和旋转角度。光标的移动角度可以是基于长方体上某一点为固定点,移动前光标与该固定点的第一直线、和移动后光标与该固定点的第二直线,这两条直线之间的夹角确定。
参见图5C,功能组件2对应的长方体可以设置为旋转操作区域,用户触发光标在该长方体向上移动,以该长方体的A点为固定点,移动前光标503与A点的连线、移动后的光标504与A点的连线,这两个连线的夹角为30度,响应于该旋转操作,构建模块120可以将该长方体以该长方体的中心线为轴,逆时针旋转三十度。
在上述说明中以用户触发光标移动执行旋转操作为例,可以理解,当显示该三维逻辑视图的显示屏为触摸屏时,用户也可以通过在触摸屏上的手势(如用户在触摸屏上点触立方图形,并触摸屏上画弧线)执行旋转操作。
操作二、移动
用户可以通过光标对三维逻辑视图中功能组件对应的立体图形执行移动操作,构建模块120响应于该移动操作,可以按照光标的移动方向和移动位置,移动该功能组件对应的立体图形,将该功能组件对应的立体图像移动到光标停留的位置。三维逻辑视图中立体图形中的移动可以改变软件架构中功能组件之间的从属关系,通过移动操作,用户更加方便的变更功能组件之间的从属关系。另外,三维视图中各个立体图形之间也可能存在遮挡,通过移动三维视图中立体图形的位置,也能够使用户更加清晰的查看该三维逻辑视图。
参见图5D,当光标移动至功能组件2对应的长方体时,显示向右平移的箭头505和向左平移的箭头506,用户可以通过点击向右平移的箭头505或向左旋转的箭头506,使得功能组件2对应的长方体向右平移,或向左平移,图5D中以点击向左旋转的箭头506为例。
作为一种可能的实施方式,三维逻辑视图中每个功能组件对应的立体图形设置有移动操作区域,光标移动至移动操作区域,用户触发光标在该移动操作区域的移动方向以及移动位置指示该功能组件2对应的长方体的移动方向和移动位置。
参见图5E,功能组件2对应的长方体的上表面可以设置为移动操作区域,用户触发光标在该长方体的上表面向斜上方移动,移动前光标507和移动后光标508的位置参见图5E,构建模块120可以将该长方体向斜上方移动,移动至光标停留的位置。
前述内容中以构建模块120移动的该功能组件对应的立体图形的方式为例进行说明,用户不仅可以对立体图形执行移动操作,也可以对立体图形之间的连接线进行移动,例如可以改变连接线所连接的立体图形。响应于该移动操作,构建模块120可以按照光标的移动方向和移动位置,改变该连接线所连接的立体图形,将该连接线所连接的立体图形变为光标所在的立体图形。三维逻辑视图中立体图形之间连接线的移动可以改变软件架构中功能组件之间的关联关系,通过移动操作,用户更加方便的变更功能组件之间的关联关系。
参见图5F,当光标移动至连接线L的端点P1,端点P1连接功能组件4,用户可以通过拖动该连接线的端点P1,改变该连接线L的端点P1所连接的立体图形,拖动后端点P1所在的位置为P2,P2位于功能组件5,拖动后,连接线L连接功能组件5对应的长方体和功能组件3对应的长方体。
在上述说明中以用户触发光标移动执行移动操作为例,可以理解,当显示该三维逻辑视图的显示屏为触摸屏时,用户也可以通过在触摸屏上的手势(如用户在触摸屏上点触立方图形,并触摸屏上画直线或弧线)执行移动操作。
操作三、放大或缩小操作(简称缩放操作)
用户可以通过光标对三维逻辑视图中功能组件对应的立体图形执行放大或缩小操作,构建模块120响应于该放大或缩小操作,可以按照光标的移动方向和移动位置,放大或缩小该功能组件对应的立体图形。通过缩小或放大该立体图形,用户可以更加清楚的查看三维逻辑视图,通过放大该立体图形也便于用户查看该功能组件的内部结构。
作为一种可能的实施方式,三维逻辑视图中每个功能组件对应的立体图形设置有缩放操作区域,光标移动至缩放操作区域,用户触发光标在该缩放操作区域的移动方向可以指示该功能组件对应的立方图形放大或缩小,光标在该缩放操作区域的移动位置可以指示该功能组件对应的立方图形放大或缩小的程度。例如,可以将三维视图中的立方图形(如长方体)的各条边以及各个顶点设置为缩放操作区域,三维视图中的立体图形(如长方体)的一条边的移动指示该缩小或放大操作为立体图形的一个维度上的放大或缩小。例如,在长方体的长、宽或高的方向进行放大。光标在各个顶点的移动指示该缩小或放大操作为等比例缩小或放大,也就是说,该立体图形的各个面均进行同等程度的缩小或放大。
参见图5G,功能组件对应的长方体的各条边以及各个顶点可以设置为缩放操作区域,用户触发光标在功能组件2对应的长方体的边B(长方体的宽度方向的边)向右移动,移动前光标509和移动后光标510的位置参见图5F,构建模块120可以将该长方体进行放大,增加该长方体的长度,也就是增加边C的长度,放大至光标停留的位置。
参见图5H,用户触发光标在该长方体的顶点C向斜上方移动,移动前光标511和移动后光标512的位置参见图5G,构建模块120可以将该长方体进行等比例放大,放大至光标停留的位置。
在上述说明中以用户触发光标移动执行缩放操作为例,可以理解,当显示该三维逻辑视图的显示屏为触摸屏时,用户也可以通过在触摸屏上的手势(如用户在触摸屏双指点触立方图形所在区域,触摸屏上双指移动方向相对远离或靠近。又例如,用户在触摸屏双指点触立方图形的某一边或顶点,在触摸屏上画直线或弧线)执行移动操作。
由上可以看出图5A所示的三维视图所展示的软件架构与图2A所述的二维视图所展示的软件架构基本相同,图5A与图2A比较,还能够进一步展示每个功能组件的内部结构。二维视图中利用二维图形(如线性框、图标)表征功能组件,二维图形只能进行移动、缩放。三维视图中利用三维图形(如长方体)表征功能组件,三维图形可以进行旋转、移动、缩放。显然,相较于二维图形,三维图形能够展示的细节更多,展示的信息更丰富,展示方式也更加灵活、直观。
此外,本申请实施例还提供了三维运行视图以及三维部署视图,下面结构图6和图7分别进行介绍:
如图6所述,为本申请实施例提供的一种三维运行视图,在如图5A所示的三维逻辑视图的基础上,可以变更代表功能组件对应的长方体的颜色,利用不同颜色表征功能组件的不同运行状态。
图6中,白色表示功能组件运行正常,黑色条纹表示功能组件运行缓慢,运行缓慢的原因为该功能组件的磁盘空闲空间达到临近值,黑色表示功能组件运行故障。从图6中可以较为直接的获知功能组件2和功能组件3运行正常,功能组件5运行故障,功能组件4运行缓慢。相较于如图4所示的二维运行视图,三维运行视图能够更加形象的展示功能组件的运行状态。
需要说明的是,图6中利用颜色表征功能组件的运行状态的方式仅是举例,在实际应用中,颜色可以不局限在白色、黑色条纹以及黑色,运行状态也可以不局限在正常、缓慢以及故障。例如,可以利用同种颜色的明暗程度表征功能组件的运行效率,以用绿色表征功能组件的运行正常为例,绿色越深,表明功能组件的运行效率越高,绿色越浅,表明功能组件的运行效率越低。凡是能够通过颜色表征功能运行状态的方式均适用于本申请实施例。图6只显示了较大粒度的功能组件的运行状态,采用类似的方式,通过变更功能组件中包括的功能组件对应的立体图形(如小长方体)的颜色,通过不同的颜色可以表征小粒度的功能组件的不同运行状态。
如图7所述,为本申请实施例提供的一种三维部署视图,在如图7所示的三维逻辑视图的基础上,可以增加能够表示功能组件部署位置的三维图形,利用功能组件所在的三维图形表示功能组件所在的位置。
图7中增加了表征服务器的三维图形,功能组件1、功能组件2、以及功能组件3部署在服务器1,功能组件4部署在服务器2,功能组件5部署在服务器3。从图7中可以较为直接的获知各个功能组件的部署位置。相较于如图4所示的二维部署视图,三维部署视图更加便于查看。
展示模块130可以向用户展示如图6所示的三维运行视图以及如图7所示的三维部署视图时,用户在查看该三维运行视图或三维部署视图时,也可以对该三维运行视图或三维部署视图执行旋转、平移、缩放等操作,构建模块120响应于用户的操作,可以对三维运行视图或三维部署视图中功能组件对应的立体图形进行旋转、平移、缩放。构建模块120可以对三维运行视图或三维部署视图中功能组件对应的立体图形进行旋转、平移、缩放的方式与构建模块120可以对三维逻辑视图中功能组件对应的立体图形进行旋转、平移、缩放的方式相同,具体可参见前述内容,此处不再赘述。
应需注意的是,前述内容对旋转、平移以及缩放操作进行了说明,本申请实施例并不限定于旋转、平移以及缩放操作这三种操作。例如用户还可以通过光标或手势的方式,可以触发构建模块120删除三维视图中的立体图形(也就是删除软件架构中该立体图形对应的功能组件),删除三维视图中的三维图形(也就是删除软件架构中该三维图形对应的功能组件),删除三维视图中的立体图形之间的连接线(也就是删除软件架构中该立体图形对应的功能组件之间的关联关系)。也可以触发构建模块120添加三维视图中的立体图形(也就是在软件架构中增加该立体图形对应的功能组件),添加三维视图中的三维图形(也就是在软件架构中增加该三维图形对应的功能组件),添加三维视图中的立体图形之间的连接线(也就是添加软件架构中该立体图形对应的功能组件之间的关联关系)。也可以触发构建模块120变更三维视图中的立体图形的颜色(也就是变更软件架构中该立体图形对应的功能组件的运行状态),变更三维视图中的三维图形的颜色(也就是变更软件架构中该三维图形对应的功能组件的运行状态)。
方式二:一个功能组件中多个实例相同。
在三维视图中,可以利用立体图形代表软件架构中的功能组件,立体图形可以指示功能组件占用的计算资源。立体图形之间的连接线可以表征功能组件间的关联关系。立体图形中包括的三维图形表征该功能组件中包括的实例。
立体图形指示功能组件占用的计算资源的方式有许多种,下面列举其中两种:
第一种,立体图形的横截面的面积指示功能组件中实例占用的第一计算资源(如处理器、内存、磁盘空间等)。立体图形的高度可以指代功能组件中实例的数量。
可选的,立体图形中的三维图形的横截面的面积指示功能组件中一个实例占用的一种计算资源,立体图形中的三维图形的高度指示功能组件中一个实例占用的另一种计算资源。
图8A所示,为本申请实施例提供的一种软件架构的三维视图,该三维视图中包括三个功能组件,分别为功能组件1、功能组件2、以及功能组件3。功能组件1、功能组件2、以及功能组件3均用长方体表示。长方体的上表面的面积用于指示功能组件中实例的处理器的数量。可见,功能组件2对应的长方体的上表面积大于功能组件3对应的长方体的上表面积,功能组件2中实例中的处理器数量大于功能组件3中实例中的处理器数量,同理,功能组件3中实例中的处理器数量大于功能组件1中实例中的处理器数量。长方体的高度用于指示功能组件中实例的数量。可见,功能组件2对应的长方体的高度大于功能组件1对应的长方体的高度,功能组件2中实例中的数量大于功能组件1中实例的数量,同理,功能组件3中实例的数量大于功能组件1中实例的数量。
功能组件1对应的长方体包括2个上表面与该长方体相同、高度存在差异的小长方体,功能组件2对应的长方体包括3个上表面与该长方体相同、高度存在差异的小长方体,功能组件3对应的长方体包括3个上表面与该长方体相同、高度相同的小长方体。
每个小长方体用于表征该功能组件中一个实例,小长方体上表面用于表示该实例中的处理器,上表面的面积越大表明该实例的处理器的数量越多,小长方体的高度用于表示该实例中的内存,小长方体的高度越大表明该实例的处理器的内存越大。可见,图8A中,同一功能组件中的实例的处理器数量相同,功能组件1中包括两个内存大小不同的实例,功能组件2中包括三个内存大小不同的实例,功能组件3中包括三个内存大小相同的实例。代表功能组件2的长方体与代表功能组件1、功能组件3的长方体之间有连接线,表明功能组件2与功能组件1、功能组件3之间存在关联。
图8A中,同一功能组件中的实例的处理器数量相同,若同一功能组件中的实例的处理器数量不同,也可以将功能组件对应的长方体划分为上表面积不同的小长方体,小长方体的上表面积不同表明该功能组件中的实例的处理器的数量不同。功能组件对应的长方体的上表面积可以指示功能组件中实例所占用的处理器的最大数量。
第二种、三维视图中立体图形的不同方向的边分别指示不同的计算资源,如立体图形中长、宽以及高分别指示一种计算资源。
具体到立体图形中的三维图形,三维图形的长度、宽度、高度分别指示功能组件中一个实例占用的计算资源。
图8B所示,为本申请实施例提供的另一种软件架构的三维视图,该三维视图中包括三个功能组件,分别为功能组件1、功能组件2、以及功能组件3。功能组件1、功能组件2、以及功能组件3均用长方体表示。长方体的宽指示功能组件中所占用的处理器,长方体的长指示功能组件中所占用的内存,长方体的高指示功能组件中所占用的磁盘空间。
功能组件对应的长方体可以进一步划分,划分为多个小长方体,每个小长方体代表一个实例,小长方体的宽度代表实例的处理器数量,小长方体的宽度越大,表明实例中处理器的数量越多;小长方体的长度代表实例的内存,小长方体的长度约大,表明实例中内存的空间越大,小长方体的高度代表实例的磁盘空间,小长方体的高度越大,表明该实例的磁盘空间越多。
功能组件1对应的长方体包括2小长方体,功能组件2对应的长方体和功能组件3对应的长方体包括3个小长方体。
如图8A和图8B所示的三维视图侧重展示软件中功能组件的关联关系和包含关系,可以看做是软件架构的三维逻辑视图。
展示模块130可以向用户展示如图8A或图8B所示的三维逻辑视图,用户在查看该三维逻辑视图时,还可以对三维逻辑视图执行一些操作,该操作包括但不限于:旋转、移动、缩放。构建模块120响应于用户的操作,可以对三维逻辑视图中功能组件对应的立体图形进行旋转、平移、缩放等操作。构建模块120可以对三维逻辑视图中功能组件对应的立体图形进行旋转、移动的方式可以参见前述内容,此处不再赘述。
由于如图8A或图8B所示的三维逻辑视图展示了功能组件中的资源,功能组件对应的长方体的放大或缩小表明该功能组件中资源发生变化,下面对缩放操作进行说明。
用户可以通过光标对三维逻辑视图中功能组件对应的立体图形执行放大或缩小操作,响应于该放大或缩小操作,构建模块120可以按照光标的移动方向和移动位置,放大或缩小该功能组件对应的立体图形,变更该功能组件所占用的计算资源。用户还可以通过光标对功能组件对应的立体图形中的三维图形执行放大或缩小操作,构建模块120响应于该放大或缩小操作,可以按照光标的移动方向和移动位置,放大或缩小该功能组件对应的立体图形中的三维图形。通过缩小或放大该三维图形,用户可以更加清楚的查看三维逻辑视图,还可以变更该功能组件中实例所占用的计算资源。
作为一种可能的实施方式,三维逻辑视图中每个功能组件对应的立体图形,以及该立体图形中包括的三维图形设置有缩放操作区域,光标移动至缩放操作区域,用户触发光标在该缩放操作区域的移动方向可以指示该功能组件对应的立体图形或该立体图形中的三维图形放大或缩小,光标在该缩放操作区域的移动位置可以指示该功能组件对应的长方体或该立体图形中的三维图形放大或缩小的程度。例如,三维视图中的立方图形或三维图形的各条边以及各个顶点可以设置为缩放操作区域。三维视图中的立体图形或三维图形(如长方体)的一条边的移动指示该缩小或放大操作为立体图形或三维图形的一个维度上的放大或缩小,表明立体图形所表征的功能组件所占用的一种计算资源发生变化,或三维图形所占用的一种计算资源发生变化。例如,在长方体的长度、宽度或高度的方向进行放大。光标在各个顶点的移动指示该缩小或放大操作为等比例缩小或方大,也就是说,该立体图形的各个面均进行同等程度的缩小或放大,表明立体图形所表征的功能组件所占用的所有计算资源发生变化,或三维图形所占用的所有计算资源发生变化。
针对如图8A所示的三维逻辑视图,将功能组件对应的长方体的各条边以及各个顶点设置为缩放操作区域。若功能组件1中各个实例的处理器的数量需要增加,参见图8C,用户可以触发光标在功能组件1对应的该长方体的边D(长方体的宽度方向的边)向右移动,移动前光标801和移动后光标802的位置参见图8C,构建模块120可以将该长方体进行放大,增加该长方体的长度,也就是增加边E的长度,放大至光标停留的位置,增加该功能组件对应的长方体上表面的面积。
针对如图8A所示的三维逻辑视图,将功能组件对应的长方体的各条边以及各个顶点设置为缩放操作区域。若功能组件1中一个实例的内存的空间缩减,参见图8D,用户可以触发光标在功能组件1对应的长方体中的一个小长方体的边F(小长方体的长度方向的边)向上移动,移动前光标803和移动后光标804的位置参见图8D,构建模块120可以将该小长方体的下表面向上移动,缩小至光标停留的位置,减少该功能组件对应的长方体中的一个小长方体的高度。
针对如图8B所示的三维逻辑视图,将功能组件对应的长方体的各条边以及各个顶点设置为缩放操作区域。若功能组件1中一个实例的处理器的数量需要增加,参见图8E,用户可以触发光标该实例对应的小长方体的边G(小长方体的长度方向的边)向下移动,移动前光标805和移动后光标806的位置参见图8E,构建模块120可以将该小长方体在宽度方向上进行放大,增加该长方体的宽度,放大至光标停留的位置。
针对如图8B所示的三维逻辑视图,将功能组件对应的长方体的各条边以及各个顶点设置为缩放操作区域。若功能组件1中一个实例的内存的空间缩减,参见图8F,用户可以触发光标在该实例对应的小长方体的边P(小长方体的宽度方向的边)向左移动,移动前光标807和移动后光标808的位置参见图8F,构建模块120可以将该小长方体在长度方向上进行缩小大,减少该长方体的长度,缩小至光标停留的位置。
本申请实施例还提供了三维运行视图以及三维部署视图,下面结构图9和图10分别进行介绍:
如图9所述,为本申请实施例提供的一种三维运行视图,在如图8A所示的三维逻辑视图的基础上,可以变更代表功能组件对应的长方体、或实例对应的小长方体的颜色,利用不同颜色表征功能组件的不同运行状态,或实例的不同的运行状态。
图9中,白色表示功能组件运行正常,黑色条纹表示功能组件运行缓慢,运行缓慢的原因为该功能组件的磁盘空闲空间达到临近值,黑色表示功能组件运行故障。从图9中可以较为直接的获知功能组件1的实例运行正常,功能组件2中的一个实例运行故障,两个实例运行正常,功能组件3中的两个实例运行缓慢,一个实例运行正常。
需要说明的是,图9中利用颜色表征功能组件的运行状态的方式仅是举例,在实际应用中,颜色可以不局限在白色、黑色条纹以及黑色,运行状态也可以不局限在正常、缓慢以及故障。例如,可以利用同种颜色的明暗程度表征功能组件的运行效率。
如图10所述,为本申请实施例提供的一种三维部署视图,在如图10所示的三维逻辑视图的基础上,可以增加能够表示功能组件部署位置的三维图形,利用功能组件所在的三维图形表示功能组件所在的位置。
图10中增加了表征服务器的三维图形,功能组件1部署在服务器1,功能组件2和功能组件部署在服务器2。
展示模块130可以向用户展示如图9所示的三维运行视图以及如图10所示的三维部署视图时,用户在查看该三维运行视图或三维部署视图时,也可以对该三维运行视图或三维部署视图执行旋转、移动、缩放等操作,构建模块120响应于用户的操作,可以对三维运行视图或三维部署视图中功能组件对应的立体图形进行旋转、移动、缩放。构建模块120可以对三维运行视图或三维部署视图中功能组件对应的立体图形进行旋转、移动、缩放的方式与构建模块120可以对三维逻辑视图中功能组件对应的立体图形进行旋转、移动、缩放的方式相同,具体可以参见前述内容,此处不再赘述。
需要说明的是,三维视图中除了逻辑视图、运行视图以及部署视图,还可以提供实体装置与功能组件的映射视图。当软件架构中的功能组件与实体装置有对应关系是指该功能组件的功能实际应用中,可以通过该实体装置实现,映射视图中可以绘制该实体装置以及存在对应关系的功能组件,利用实体装置与功能组件之间的连接表征功能组件与实体装置之间的对应关系。如图11所示,为本申请实施例提供的一种三维映射视图,该三维映射视图中绘制服务器机箱的三维结构,功能组件1、功能组件2以及功能组件3与该服务器机箱之间存在对应关系,在图11中,利用功能组件与服务器机箱之间的箭头表明该对应关系。
前述内容,对二维视图、三维视图展示软件架构的方法,以及三维视图的变更方法进行了说明。下面对二维视图和三维视图的构建方法进行说明。二维视图和三维视图的构建方法包括两方面,一方面为软件架构的视图的初步构建方法,另一方面软件架构的视图的更新方法。其中,软件架构的视图的更新方法可以分为基于更新信息的更新方法,以及根据更新的一种视图更新另一种视图的方法。
下面结合图12对本申请实施例提供软件架构的视图的初步构建方法进行说明,如图12所示,该方法包括:
步骤1201:接收模块110接收软件的架构信息,该架构信息中可以包括软件中的功能组件的名称、功能组件之间的关联关系。
该架构信息可以是其他设备发送给接收模块110的,例如,其他设备可以向接收模块110发送视图展示请求,该视图展示请求用于请求软件的视图,视图展示请求携带有该软件的架构信息。
该架构信息也可以是在用户的触发下所产生的,例如,用户可以在一个界面输入该软件的架构信息,接收模块110在检测到用户的输入操作后,接收该架构信息。
该架构信息中除了软件中包括的功能组件、功能组件之间的关联关系之外,还可以包括其他信息,该架构信息中包括的信息与视图所需展示的信息有关。
举例来说,若后续只需展示软件的逻辑视图,该架构信息中可以包括该软件中各个功能组件的名称、各个功能组件之间的关联关系。若软件中功能组件之间存在包含关系,该架构信息中还可以包括功能组件之间的包含关系。可选的,还可以包括功能组件的结构信息,该结构信息指示该功能组件的内部结构,例如功能组件中包括实例的数量、实例的数量、处理器的数量、所能占用的磁盘空间的大小等。
若后续只需展示软件的运行视图,该架构信息中可以包括该软件中各个功能组件的名称、功能组件之间的关联关系、各个功能组件的运行状态。若软件中功能组件之间存在包含关系,该架构信息中还可以包括功能组件之间的包含关系。该架构信息中还可以包括功能组件中的结构信息。
若后续只需展示软件的部署视图,该架构信息中可以包括该软件中各个功能组件的名称、功能组件之间的关联关系、各个功能组件的位置信息。若软件中功能组件之间存在包含关系,该架构信息中还可以包括功能组件之间的包含关系。
若后续需展示软件的逻辑视图、运行视图以及部署视图,该架构信息可以包括各个功能组件的名称、各个功能组件之间的关联关系、各个功能组件的运行状态以及各个功能组件的位置信息。若软件中功能组件之间存在包含关系,该架构信息中还可以包括功能组件之间的包含关系。
步骤1202:构建模块120根据该架构信息构建二维视图,并将二维视图转换为三维视图。
构建模块120获取该架构信息,可以按照视图构建的难易程度,先构建二维视图,之后将二维视图转换为三维视图。构建模块120也可以按照视图展示信息的丰富程度,先构建三维视图,之后将三维视图转换为二维视图。
下面对二维视图、三维视图的构建以及两种视图之间的转换方式进行说明:
(1)构建二维视图。
构建模块120可以读取架构信息,确定该软件中包括功能组件的数量以及各个功能组件的名称,构建相同数量的二维图形,每个二维图形代表一个功能组件(也就是说,每个功能组件对应一个二维图形),并在每个二维图形上添加上对应的功能组件的名称。
构建模块120还可以通过架构信息确定功能组件之间的关联关系,在存在关联关系的功能组件所对应的二维图形间增加连接线。
若该架构信息中还包括各个功能组件的运行状态,构建模块120可以在每个功能组件对应的二维图形上添加描述该功能组件的运行状态的文字信息。
若该架构信息中还包括各个功能组件的位置信息,构建模块120可以在每个功能组件对应的二维图形上添加描述该功能组件的位置信息的文字信息。
(2)构建三维视图。
构建模块120可以读取架构信息,确定该软件中包括功能组件的数量以及各个功能组件的名称,构建相同数量的立体图形,每个立体图形代表一个功能组件(也就是说,每个功能组件对应一个立体图形),并在每个立体图形上添加上对应的功能组件的名称。
构建模块120还可以通过架构信息确定功能组件之间的关联关系,在存在关联关系的功能组件所对应的立体图形间增加连接线。
若该架构信息中可以包括功能组件中的结构信息。构建模块120可以根据功能组件中的结构信息对该功能组件所对应的立体图形进行划分,利用划分出空间用于表征该功能组件的结构。例如,功能组件中包括三个实例,构建模块120可以将该功能组件所对应的立体图形均分为三个小的立体图形,例如每个小的立体图形表征一个实例。
若该架构信息中还包括各个功能组件的运行状态,构建模块120可以变更每个功能组件对应的立体图形的颜色,将该功能组件的颜色变更为该功能组件的运行状态所对应的颜色。
若该架构信息中还包括各个功能组件的位置信息,构建模块120可以增加描述位置的三维图形,将位置信息相同的功能组件所对应的三维图形放置的同一个三维图形中,还可以根据功能组件的位置信息设置该三维图形的名称。
(3)、二维视图和三维视图的转换。
构建模块120在构建了二维视图后,可以根据二维视图中的二维图形转换为立体图形,若二维视图中包括用于描述功能组件运行状态的文字信息,构建模块120可以根据该文字信息将该功能组件对应的立体图形的颜色变更该功能组件运行状态所对应的颜色。若二维视图中包括用于描述功能组件位置信息的文字信息,构建模块120可以根据该文字信息,增加三维图形,将位置信息相同的功能组件对应的立体图像放置同一个三维图形中。由此完成二维视图到三维视图的转换。
需要说明的是,当架构信息中还包括功能组件的结构信息,由于二维视图中没有展示功能组件的结构信息。构建模块120可以读取架构信息中的功能组件的结构信息,根据功能组件中的结构信息对该功能组件所对应的立体图形进行划分,利用划分出的空间(如三维图形)用于表征该功能组件的结构。
(4)、三维视图和二维视图的转换。
构建模块120在构建了三维视图后,可以根据三维视图中的立体图形转换为二维图形,若三维视图中各个功能组件所对应的立体图形具备不同的颜色,构建模块120可以根据功能组件所对应的立体图形的颜色确定该功能组件的运行状态,在二维图形上添加描述根据该运行状态的文字信息。若三维视图包括了用于描述功能组件的位置的三维图形,构建模块120可以删除该三维图形,在该三维图形中包括的立体图形转换后的二维图形上添加文字信息,添加的文字信息可以是该三维图形的名称。由此完成三维视图到二维视图的转换。
步骤1203:展示模块130在用户的触发下展示二维视图或三维视图。
构建模块120在构建了二维视图以及三维视图之后,可以根据用户的触发展示该二维视图或三维视图。
示例性的,展示模块130可以向用户提供二维视图和三维视图这两种展示选项,如图13所示的界面所示,用户可以根据自身的需求,选择二维视图或三维视图,展示模块130在接收到用户的触发后,可以在展示区域显示用户所选择的视图。
作为一种可能的实施方式,展示模块130可以向用户提供多种展示选项,例如展示模块130可以向用户提供如图14所示的显示界面,该界面中提供了二维视图、三维逻辑视图、三维部署视图、三维运行视图。以便用户可以有针对性的查看软件架构。
用户可以根据自身需要选择所需的视图,用户在点击了相应的选项之后,在视图展示区域可以展示所选择的视图。
通常,软件架构是可以发生变更的。例如,对软件的架构信息进行更新(如软件进行优化、重组等操作)时,软件架构中包括的功能组件的数量、功能组件之间的关联关系等会发生变化。为了能够准确的显示软件架构,当软件架构发生变化时,软件架构的视图也可以发生一定的更新。又例如,当三维视图和二维视图中一个视图发生更新,三维视图和二维视图中的另一个视图也需要发送更新。
下面结合图15对本申请实施例提供软件架构的视图的更新方法中进行说明,如图15所示,该方法包括:
步骤1501:接收模块110接收软件的架构的更新信息,该更新信息中包括软件架构中所变更的功能组件,可选的,该更新信息中还可以包括变更的关联关系。
该更新信息携带的信息与软件发生的变更有关,下面列举该更新信息中可能包括的几类信息:
1、当软件架构中的功能组件发生变更时,该更新信息中可以包括变更的功能组件的名称以及变更的方式。
在本申请实施例中,功能组件的变更方式包括但不限于删除功能组件、添加功能组件。当删除功能组件时,该更新信息中可以包括删除的功能组件的名称。当添加功能组件时,该更新信息中可以包括添加的功能组件的名称。可选的,该更新信息中还可以包括添加的功能组件与其他功能组件的关联关系。
2、当软件架构中的功能组件的运行状态发生变更时,该更新信息中可以包括变更的功能组件的名称、以及变更后该功能组件的运行状态。
3、当软件架构中的功能组件的部署位置发生变更时,该更新信息中可以包括变更的功能组件的名称、以及变更后该功能组件的位置信息。
4、当软件架构中的功能组件的结构发生变更时,该更新信息中可以包括变更的功能组件的名称、以及变更后该功能组件的结构信息。
例如,可以变更该功能组件中所占用计算资源,如增加或减少实例、增加或减少实例所能占用的磁盘空间、处理器或内存等。
接收模块110接收该更新信息的方式与接收模块110接收该架构信息的方式相同,具体可参见前述内容,此处不再赘述。
作为一种可能的实施方式该更新信息,也可以是构建模块120在检测到用户对二维视图或对三维视图执行一些操作所产生的,如用户对二维视图或三维视图进行移动、缩放操作时,构建模块120在检测到该操作后,生成软件的架构信息,生成该软件的更新信息。
步骤1502:构建模块120根据该更新信息更新二维视图和三维视图。构建模块120根据该更新信息更新二维视图和三维视图时,构建模块120可以先更新二维视图,之后利用更新后二维视图更新三维视图。构建模块120可以先更新三维视图,之后利用更新后三维视图更新二维视图。构建模块120也可以分别更新二维视图和三维视图。
更新信息中包括的信息不同,构建模块120更新二维视图和三维视图的方式也不同,下面分别进行说明:
该更新信息携带的信息与软件发生的变更有关,下面列举该更新信息中可能包括的几类信息:
1、该更新信息包括变更的功能组件的名称以及变更的方式。
对于二维视图,当变更为删除功能组件,构建模块120可以在二维视图中删除该功能组件所对应的二维图形,还可以删除该功能组件所对应的二维图形与其他功能组件所对应的二维图形之间的连接线。
对于三维视图,当变更为删除功能组件,构建模块120可以在三维视图中删除该功能组件所对应的立体图形,还可以删除该功能组件所对应的立体图形与其他功能组件所对应的立体图形之间的连接线。
对于二维视图,当变更为添加功能组件,构建模块120可以在二维视图中添加该功能组件所对应的二维图形,还可以增加该功能组件所对应的二维图形与其他功能组件所对应的二维图形之间的连接线。
对于三维视图,当变更为添加功能组件,构建模块120可以在三维视图中添加该功能组件所对应的立体图形,还可以增加该功能组件所对应的立体图形与其他功能组件所对应的立体图形之间的连接线。
对于三维视图,当变更为调节功能组件所占用的计算资源或功能组件中实例所占用的计算资源,构建模块120可以在三维视图中调整该功能组件所对应的立体图形的大小(如调整立体图形的横截面积、高度、长度、宽度),该实例所对应的三维图形的大小(如调整三维图形的横截面积、高度、长度、宽度)。
2、该更新信息中包括变更的功能组件的名称、以及变更后该功能组件的运行状态。
对于二维视图,构建模块120可以在二维视图中根据变更后该功能组件的运行状态更新描述该功能组件运行状态的文字信息。
对于三维视图,构建模块120可以在三维视图中根据变更后该功能组件的运行状态更新该功能组件所对应的立体图形的颜色。
3、该更新信息中包括变更的功能组件的名称、以及变更后该功能组件的位置信息。
对于二维视图,构建模块120可以在二维视图中根据变更后该功能组件的位置信息更新描述该功能组件位置信息的文字。
对于三维视图,构建模块120可以在三维视图中根据变更后该功能组件的位置信息更新该功能组件所对应的立体图形所在的三维图像的名称。
前述内容介绍了分别更新三维视图和二维视图的方式,下面对构建模块120利用更新后的二维视图更新三维视图,以及利用更新后的三维视图更新二维视图的方式进行说明:
(1)、构建模块120利用更新后的二维视图更新三维视图。
1、更新后的二维视图中功能组件发生变更,如删除功能组件或添加功能组件。
构建模块120确定在更新后的二维视图中删除的功能组件,在三维视图中删除相同功能组件所对应的立体图形,还可以删除该功能组件所对应的立体图形与其他功能组件所对应的立体图形之间的连接线。
构建模块120确定在更新后的二维视图中添加的功能组件,在三维视图中添加相同功能组件所对应的立体图形,还可以根据二维视图中记录该功能组件与其他功能组件的关联关系,在三维视图中增加该功能组件所对应的立体图形与其他功能组件所对应的立体图形之间的连接线。
2、更新后的二维视图中功能组件的运行状态发生变更。
构建模块120确定更新后的二维视图中变更的更新描述功能组件运行状态的文字信息,根据该文字信息在三维视图中更新相同功能组件所对应的立体图形的颜色。
3、更新后的二维视图中功能组件的位置信息发生变更。
构建模块120确定更新后的二维视图中变更的描述功能组件位置信息的文字信息,根据该文字信息,在三维视图中更新该功能组件所对应的立体图形所在的三维图形的名称。
(2)、构建模块120利用更新后的三维视图更新二维视图。
1、更新后的三维视图中功能组件发生变更,如删除功能组件或添加功能组件。
构建模块120确定更新后的三维视图中删除的功能组件,在二维视图中删除相同功能组件所对应的二维图形,还可以删除该功能组件所对应的二维图形与其他功能组件所对应的二维图形之间的连接线。
构建模块120确定更新后的三维视图中添加的功能组件,在二维视图中添加相同功能组件所对应的二维图形,还可以根据三维视图中记录该功能组件与其他功能组件的关联关系,在二维视图中增加该功能组件所对应的二维图形与其他功能组件所对应的二维图形之间的连接线。
2、更新后的三维视图中功能组件的运行状态发生变更。
构建模块120确定更新后的三维视图中变更的功能组件所对应的立体图形的颜色,根据该颜色修改二维视图中,描述该功能组件运行状态的文字信息。
3、更新后的三维视图中功能组件的位置信息发生变更。
构建模块120确定更新后的三维视图中变更的功能组件所对应的立体图形所在的三维图形的名称,根据该三维图形的名称修改二维视图中,描述该功能组件位置信息的文字。
需要说明的是,当三维视图中功能组件所占用计算资源发生变更时,如前述内容中图8C至图8F所示的变更。当二维视图可以展示功能组件的内部结构,则根据三维视图中功能组件对应的立体图形的变更方式或该立体图形中三维图形的变更方式更新二维视图中相同功能组件对应的二维图形。例如,如三维视图中功能组件对应的立体图形的高度增大,功能组件包括的实例数量增大,可以增加二维视图中相同功能组件对应的线性框的数量。但若二维视图未展示功能组件的内部结构,则可以不更新三维视图。
步骤1503:展示模块130在用户的触发下展示更新后的三维视图或二维视图。
构建模块120对二维视图和三维视图更新之后,展示模块130可以执行步骤1503,展示模块130执行步骤1503的方式与展示模块130执行步骤903的方式相同,具体可参见前述内容,此处不再赘述。
基于与方法实施例同一发明构思,本申请实施例还提供了一种计算机集群,用于执行上述方法实施例中所示的方法,相关特征可参见上述方法实施例,此处不再赘述,如图16所示,为本申请实施例提供的一种计算机集群,该计算机集群中包括多个计算设备1600,每个计算设备1600间通过通信网络建立通信通路。
每个计算设备1600中包括总线1601、处理器1602、通信接口1603以及存储器1604,可选的,计算设备1600中还可以包括显示屏1605。处理器1602、存储器1604和通信接口1603之间通过总线1601通信。
其中,处理器1602可以由一个或者多个通用处理器构成,例如中央处理器(central processing unit,CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器1604可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器1604还可以包括非易失性存储器(non-volatilememory,NVM),例如只读存储器(read-only memory,ROM),快闪存储器,硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD)。存储器1604还可以包括上述种类的组合。
存储器1604中存储存可执行代码,处理器1602可以读取存储器1604中的该可执行代码实现功能,还可以通过通信接口1603与其他计算设备进行通信,处理器1602还可以触发显示屏1605向用户显示信息,如本申请实施例中如图2A至图11中的信息。在本申请实施例中,处理器1602可以实现展示装置100的一个或多个模块(如接收模块110、构建模块120、以及展示模块130中的一个或多个模块)的功能,这种情况下,存储器1604中存储有展示装置100的一个或多个模块(如接收模块110、构建模块120、以及展示模块130中的一个或多个模块)。
在本申请实施例中,多个计算设备1600中的处理器1602可以协调工作,执行本申请实施例提供的支持多变更的软件代码变更方法。
如图17所示,为本申请实施例提供的一种系统架构,该系统架构中包括客户端200和部署有变更装置的云端设备300,客户端200与云端设备300通过网络连接,该云端设备300位于云环境中,可以是部署在云数据中心中的服务器或者虚拟机,图17中,仅是以该展示装置部署在一个云端设备300为例,作为一种可能的实施方式,该展示装置可以分布式地部署在多个云端设备300上。
如图17所示,客户端200包括总线201、处理器202、通信接口203、存储器204以及显示屏205。处理器202、存储器204和通信接口203之间通过总线201通信。其中,处理器202和存储器204的类型可以参见处理器1602以及存储器1604的相关说明,此处不再赘述。存储器204中存储存可执行代码,处理器202可以读取存储器204中的该可执行代码实现功能。处理器202还可以触发显示屏205向用户显示信息,如本申请实施例中如图2A至图11中的信息。处理器202还可以通过通信接口203与云端设备进行通信。例如处理器202可以通过显示屏205提示用户输入软件的架构信息,通过通信接口203将架构信息反馈给云端设备300。还可以通过通信接口203接收三维视图或二维视图,并通过显示屏205展示三维视图或二维视图。又例如处理器202可以通过显示屏205检测用户对三维视图的操作,产生更新信息,通过通信接口203将更新信息反馈给云端设备300。还可以通过通信接口203接收调整后的三维视图或二维视图,并通过显示屏205展示调整后的三维视图或二维视图。
如图17所示,云端设备300包括总线301、处理器302、通信接口303以及存储器304。处理器302、存储器304和通信接口303之间通过总线301通信。其中,处理器302和存储器304的类型可以参见处理器1602以及存储器1604的相关说明,此处不再赘述。存储器304中存储存可执行代码,处理器302可以读取存储器304中的该可执行代码实现功能,还可以通过通信接口303与客户端200进行通信。在本申请实施例中,处理器302可以实现展示装置100的功能,这种情况下,存储器304中存储有展示装置100的接收模块110、构建模块120、以及展示模块130中的一个或多个模块。
处理器302通过通信接口303从客户端200接收到软件的架构信息(或更新信息)后,可以调用存储器304中存储的模块实现本申请实施例提供的软件架构的可视化方法,生成三维视图,处理器302可以通过通信接口303向客户端200发送三维视图。

Claims (23)

1.一种软件架构的可视化方法,其特征在于,所述方法包括:
接收针对软件的视图展示请求,所述软件包括一个或多个功能组件;
展示三维视图,所述三维视图通过立体图形表征所述软件的功能组件,所述三维视图体现如下的一种或多种组合:所述软件的功能组件与服务器的部署关系或者所述软件的功能组件与实例的绑定关系;
在所述三维视图中使用第三颜色体现所述实例的故障状态,在所述三维视图中使用第四颜色体现所述实例的正常运行状态。
2.如权利要求1所述的方法,其特征在于,所述三维视图体现所述功能组件的运行状态,所述功能组件的运行状态包括如下的一种或多种组合:故障状态或者正常运行状态。
3.如权利要求1或2所述的方法,其特征在于,
在所述三维视图中使用第一颜色体现所述功能组件的故障状态;或者,
在所述三维视图中使用第二颜色体现所述功能组件的正常运行状态。
4.如权利要求1至3任一项所述的方法,其特征在于,所述方法包括:
当所述功能组件的运行状态变更时,在所述三维视图中展示所述功能组件的更新的运行状态。
5.如权利要求1至4任一项所述的方法,其特征在于,
所述三维视图体现所述实例的运行状态,所述实例的运行状态包括如下的一种或多种组合:故障状态或者正常运行状态。
6.如权利要求1至5任一项所述的方法,其特征在于,
所述三维视图通过立体图形表征所述服务器或者所述实例。
7.如权利要求1至6任一项所述的方法,其特征在于,所述方法包括:
接收用户对所述三维视图中所述立体图形的操作,所述操作包括如下的一种或多种组合:旋转、平移或者缩放;
响应于所述操作,调整所述三维视图中所述立体图形的展示。
8.如权利要求1至7任一项所述的方法,其特征在于,所述方法包括:
接收用户对所述三维视图的操作,所述操作包括如下的一种或多种组合:旋转、平移或者缩放;
响应于所述操作,调整所述三维视图的展示。
9.如权利要求1至8任一项所述的方法,其特征在于,
所述三维视图体现所述功能组件占用的资源,所述资源包括如下的一种或多种组合:处理器、内存或者磁盘空间。
10.如权利要求9所述的方法,其特征在于,所述方法包括:
当所述功能组件占用的资源量变化时,在所述三维视图中展示更新的资源量。
11.一种展示装置,其特征在于,所述装置包括:
接收模块,用于接收针对软件的视图展示请求,所述软件包括一个或多个功能组件;
展示模块,用于展示三维视图,所述三维视图通过立体图形表征所述软件的功能组件,所述三维视图体现如下的一种或多种组合:所述软件的功能组件与服务器的部署关系或者所述软件的功能组件与实例的绑定关系;
所述展示模块,用于在所述三维视图中使用第三颜色体现所述实例的故障状态,在所述三维视图中使用第四颜色体现所述实例的正常运行状态。
12.如权利要求11所述的装置,其特征在于,所述三维视图体现所述功能组件的运行状态,所述功能组件的运行状态包括如下的一种或多种组合:故障状态或者正常运行状态。
13.如权利要求11或12所述的装置,其特征在于,
在所述三维视图中使用第一颜色体现所述功能组件的故障状态;或者,
在所述三维视图中使用第二颜色体现所述功能组件的正常运行状态。
14.如权利要求11至13任一所述的装置,其特征在于,
所述展示模块,用于当所述功能组件的运行状态变更时,在所述三维视图中展示所述功能组件的更新的运行状态。
15.如权利要求11至14任一所述的装置,其特征在于,
所述三维视图体现所述实例的运行状态,所述实例的运行状态包括如下的一种或多种组合:故障状态或者正常运行状态。
16.如权利要求11至15任一所述的装置,其特征在于,所述三维视图通过立体图形表征所述服务器或者所述实例。
17.如权利要求11至16任一所述的装置,其特征在于,
所述接收模块,用于接收用户对所述三维视图中所述立体图形的操作,所述操作包括如下的一种或多种组合:旋转、平移或者缩放;
所述展示模块,用于响应于所述操作,调整所述三维视图中所述立体图形的展示。
18.如权利要求12至17任一所述的装置,其特征在于,
所述接收模块,用于接收用户对所述三维视图的操作,所述操作包括如下的一种或多种组合:旋转、平移或者缩放;
所述展示模块,用于响应于所述操作,调整所述三维视图的展示。
19.如权利要求12至18任一所述的装置,其特征在于,
所述三维视图体现所述功能组件占用的资源,所述资源包括如下的一种或多种组合:处理器、内存或者磁盘空间。
20.如权利要求19所述的装置,其特征在于,
所述展示模块,用于当所述功能组件占用的资源量变化时,在所述三维视图中展示更新的资源量。
21.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;
所述存储器,用于存储计算机程序指令;
所述处理器执行所述存储器中的计算机程序指令,使得所述计算设备执行权利要求1至10中任一项所述的方法。
22.一种计算设备集群,其特征在于,所述计算设备集群中包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备中的存储器,用于存储计算机程序指令;
所述至少一个计算设备中的处理器执行所述存储器中存储的计算机程序指令,使得所述至少一个计算设备执行权利要求1至10中任一项所述的方法。
23.一种非瞬态的可读存储介质,其特征在于,所述可读存储介质存储的计算机程序用于实现权利要求1至10中任一项所述的方法。
CN202080089531.6A 2019-12-23 2020-12-07 一种软件架构的可视化方法及装置 Active CN114930285B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019113364282 2019-12-23
CN201911336428.2A CN111198674B (zh) 2019-12-23 2019-12-23 一种软件架构的可视化方法及装置
PCT/CN2020/134338 WO2021129366A1 (zh) 2019-12-23 2020-12-07 一种软件架构的可视化方法及装置

Publications (2)

Publication Number Publication Date
CN114930285A CN114930285A (zh) 2022-08-19
CN114930285B true CN114930285B (zh) 2023-08-04

Family

ID=70744268

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201911336428.2A Active CN111198674B (zh) 2019-12-23 2019-12-23 一种软件架构的可视化方法及装置
CN202080089531.6A Active CN114930285B (zh) 2019-12-23 2020-12-07 一种软件架构的可视化方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201911336428.2A Active CN111198674B (zh) 2019-12-23 2019-12-23 一种软件架构的可视化方法及装置

Country Status (3)

Country Link
US (1) US20220326916A1 (zh)
CN (2) CN111198674B (zh)
WO (1) WO2021129366A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111198674B (zh) * 2019-12-23 2021-10-15 华为技术有限公司 一种软件架构的可视化方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870287A (zh) * 2006-09-29 2014-06-18 西门子公司 为医疗成像产生和运行软件应用程序的系统
CN107077339A (zh) * 2014-10-02 2017-08-18 西门子公司 利用紧密耦合逻辑和物理仿真的3d图形编辑器中的编程自动化
KR20180087729A (ko) * 2017-01-25 2018-08-02 한국전자통신연구원 데이터 시각화 장치 및 방법
CN110059436A (zh) * 2019-04-28 2019-07-26 北京航空航天大学 航天飞行器自主保障系统三维可视化软件开发

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7849416B2 (en) * 2000-06-13 2010-12-07 National Instruments Corporation System and method for graphically creating a sequence of motion control, machine vision, and data acquisition (DAQ) operations
US20140204083A1 (en) * 2013-01-23 2014-07-24 Brent Thomson Systems and methods for real-time distortion processing
CN104216691B (zh) * 2013-05-31 2017-11-17 华为技术有限公司 一种创建应用的方法及装置
US20140358604A1 (en) * 2013-05-31 2014-12-04 Sap Ag Three-dimensional representation of software usage
CN204155263U (zh) * 2014-09-03 2015-02-11 中国人民解放军63892部队 支持功能订制的组合式视景仿真系统
US20160094837A1 (en) * 2014-09-30 2016-03-31 3DOO, Inc. Distributed stereoscopic rendering for stereoscopic projecton and display
US10496943B2 (en) * 2015-03-30 2019-12-03 Oracle International Corporation Visual task assignment system
US10198167B2 (en) * 2015-07-13 2019-02-05 Microsoft Technology Licensing, Llc Interacting with nonconforming applications in a windowing environment
CN106559438B (zh) * 2015-09-24 2019-12-31 阿里巴巴集团控股有限公司 一种基于目标网络平台的程序上传方法和装置
CN107545507B (zh) * 2016-06-23 2020-11-27 杭州海康威视数字技术股份有限公司 一种关系网络生成方法及装置
CN106326580B (zh) * 2016-08-29 2019-11-29 广州地铁设计研究院股份有限公司 一种高架结构bim模型建模设计方法
CN108133502B (zh) * 2016-11-30 2021-06-01 中航(成都)无人机系统股份有限公司 一种业务流程图的展示方法
US10706554B2 (en) * 2017-04-14 2020-07-07 Adobe Inc. Three-dimensional segmentation of digital models utilizing soft classification geometric tuning
CN107170050A (zh) * 2017-06-05 2017-09-15 北京寰和通创科技有限公司 物联图元的3d场景建立方法及系统
CN110555222B (zh) * 2018-06-01 2022-12-16 中国科学院沈阳计算技术研究所有限公司 基于三维可视化服务平台的快速构建三维可视化应用方法
US20200104028A1 (en) * 2018-08-22 2020-04-02 Nitin Vats Realistic gui based interactions with virtual gui of virtual 3d objects
CN109656665A (zh) * 2018-12-20 2019-04-19 成都四方伟业软件股份有限公司 一种数据的可视化展示方法、组件及可读存储介质
CN109634592A (zh) * 2018-12-29 2019-04-16 深圳点猫科技有限公司 图形化Python编程交互方法、系统及电子设备
CN111198674B (zh) * 2019-12-23 2021-10-15 华为技术有限公司 一种软件架构的可视化方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870287A (zh) * 2006-09-29 2014-06-18 西门子公司 为医疗成像产生和运行软件应用程序的系统
CN107077339A (zh) * 2014-10-02 2017-08-18 西门子公司 利用紧密耦合逻辑和物理仿真的3d图形编辑器中的编程自动化
KR20180087729A (ko) * 2017-01-25 2018-08-02 한국전자통신연구원 데이터 시각화 장치 및 방법
CN110059436A (zh) * 2019-04-28 2019-07-26 北京航空航天大学 航天飞行器自主保障系统三维可视化软件开发

Also Published As

Publication number Publication date
CN111198674B (zh) 2021-10-15
US20220326916A1 (en) 2022-10-13
CN111198674A (zh) 2020-05-26
WO2021129366A1 (zh) 2021-07-01
CN114930285A (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
US10691284B2 (en) Canvas layout algorithm
US9852534B2 (en) Method and apparatus for contextually varying imagery on a map
US9652115B2 (en) Vertical floor expansion on an interactive digital map
US8928657B2 (en) Progressive disclosure of indoor maps
US8610714B2 (en) Systems, methods, and computer-readable media for manipulating graphical objects
US9569066B2 (en) Interface for navigating imagery
US8711147B2 (en) Method and system for generating and displaying an interactive dynamic graph view of multiply connected objects
US8294710B2 (en) Extensible map with pluggable modes
WO2015006205A2 (en) Providing indoor map data to a client computing device
Sawicki et al. Efficient visualization of 3D models by web browser
US20160005385A1 (en) Response to user input based on declarative mappings
JP2018101215A (ja) 情報処理装置、プログラム、閲覧システム
CN114930285B (zh) 一种软件架构的可视化方法及装置
US20090172570A1 (en) Multiscaled trade cards
US10621699B2 (en) Displaying computer graphics according to arrangement and orientation attributes
Bues et al. VD1: a technical approach to a hybrid 2D and 3D desktop environment
Schmauder et al. Distributed visual analytics on large-scale high-resolution displays
Rooney et al. HiReD: a high-resolution multi-window visualisation environment for cluster-driven displays
US10262631B1 (en) Large scale highly detailed model review using augmented reality
CN110888787A (zh) 一种数据监测方法、装置及系统
US20150178991A1 (en) Computer-Implemented Method for Designing a Three-Dimensional Modeled Object
JP2022536554A (ja) 大量の時系列データの滑らか且つ解像度が扱いやすいビュー
JP2017059067A (ja) クライアント装置、および、データ表示プログラム
US20150116309A1 (en) Subtle camera motions in a 3d scene to anticipate the action of a user
CN109426539A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40075203

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant