CN110309314B - 一种血缘关系图的生成方法、装置、电子设备及存储介质 - Google Patents
一种血缘关系图的生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110309314B CN110309314B CN201810246345.3A CN201810246345A CN110309314B CN 110309314 B CN110309314 B CN 110309314B CN 201810246345 A CN201810246345 A CN 201810246345A CN 110309314 B CN110309314 B CN 110309314B
- Authority
- CN
- China
- Prior art keywords
- element data
- entity element
- entity
- determining
- data
- 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
Links
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种血缘关系图的生成方法、装置、电子设备及存储介质,该方法包括:A:获取待渲染的用户数据,其中用户数据中包括至少两个实体元素数据以及依赖关系;确定第一实体元素数据,确定第一实体元素数据的第一位置;B:若识别到第一实体元素数据依赖的第二实体元素数据,遍历第二实体元素数据,根据遍历的顺序,确定第二实体元素数据的第二位置,进行步骤C;若未识别到所述第一实体元素数据依赖的第二实体元素数据,进行步骤D;C:将每个第二实体元素数据依次作为第一实体元素数据,返回B;D:根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图,本发明提高了血缘关系图渲染时的灵活性。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种血缘关系图的生成方法、装置、电子设备及存储介质。
背景技术
所谓血缘关系图是指,数据的产生、加工融合、流转流通,到最终消亡,数据之间自然会形成一种关系。借鉴人类社会中类似的一种关系来表达数据之间的这种关系,称之为数据的血缘关系(Lineage/kinship/Relationship by Blood)。表达这种血缘关系形成的层次拓扑结构图,称之为血缘关系拓扑图,或血缘图,或血统图。
HTML(HyperText Markup Language,超级文本标记语言)5是HTML最新的修订版本,目的是在互联网应用迅速发展的时候,使网络标准能够匹配当代的网络需求。相较于HTML,HTML5添加了许多新的语法特征,其中包括<video>、<audio>和<canvas>等元素,同时集成了SVG(Scalable Vector Graphics,可缩放矢量图形)内容。Canvas(画布)与SVG是两种HTML5技术中用于创建图形的方法。canvas技术通过Javascript绘制2D图形,通过精确的计算血缘关系图的实体、字段的坐标、区分颜色、绘制连接线并生成血缘关系拓扑图。svg技术使用XML描述图形,标签式的语法能让用户像写html页面一样绘制血缘关系拓扑图。
现有技术在绘制血缘关系图时,先获取需要待渲染的元素和元素之间的依赖关系等原始的用户数据,以及接收用户输入的元素位置等显示数据,再根据获取到的这些数据及预先设置的模板,进行渲染,生成血缘关系图,或者是在渲染关系图的过程中,不使用模板,实时请求关系图中所需的元素位置等显示数据,针对请求到的元素位置完成对应元素部分的关系图渲染。因此在现有技术中在html网页上生成并展示血缘关系图时,都需要依赖获取到的显示数据,才能完成血缘关系图,因此血缘关系图在绘制时灵活性差。
发明内容
本发明提供了一种血缘关系图的生成方法、装置、电子设备及存储介质,用以解决现有技术中血缘关系图在绘制时灵活性差的问题。
本发明提供一种血缘关系图的生成方法,应用于电子设备,该方法包括:
A:获取待渲染的用户数据,其中所述用户数据中包括至少两个实体元素数据,以及不同实体元素数据之间存在的依赖关系;在所述至少两个实体元素数据中确定第一实体元素数据,确定第一实体元素数据的第一位置;
B:若识别到所述第一实体元素数据依赖的第二实体元素数据,遍历每个第二实体元素数据,根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置,进行步骤C;若未识别到所述第一实体元素数据依赖的第二实体元素数据,进行步骤D;
C:将所述每个第二实体元素数据依次作为第一实体元素数据,将所述每个第二实体元素数据的第二位置确定为每个第一位置,返回步骤B;
D:根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图。
本发明实施例提供的血缘关系图的生成方法中仅需获取到血缘关系图中所需原始的用户数据,而渲染血缘关系图时所需的坐标信息和连接线等显示数据,可以根据获取到的用户数据进行确定,因此提高了血缘关系图渲染时的灵活性。
进一步地,所述确定第一实体元素数据的第一位置包括:
将预设的顶点坐标作为所述第一实体元素数据的第一顶点坐标;
根据所述第一顶点坐标及预设的元素宽度,确定所述第一实体元素数据的第二顶点坐标;
根据所述第一实体元素数据中包含的字段元素数据的数量、预设的字段元素长度、所述第一顶点坐标及所述第二顶点坐标,确定所述第二实体元素的第三顶点坐标及第四顶点坐标,并确定所述第一实体元素数据的第一位置。
本发明实施例提供的血缘关系图的生成方法中通过确定第一实体元素数据的四个顶点,确定了第一位置对应的区域范围,从而实现在血缘关系图中展示该第一实体元素数据。
进一步地,所述根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置包括:
根据预设的横向间距,确定所述每个第二实体元素数据的横向偏移量;并根据遍历的顺序及预设的纵向间距,确定所述每个第二实体元素数据的纵向偏移量;
根据所述第一位置,所述每个第二实体元素数据的横向偏移量,及所述每个第二实体元素数据的纵向偏移量,确定所述每个第二实体元素数据的第二位置。
本发明实施例提供的血缘关系图的生成方法中根据遍历的顺序,对每个第二实体元素数据进行横向和纵向的偏移,使每个第二实体元素数据的第二位置互相不重叠,避免了在显示每个第二实体元素数据时,区域范围存在重叠导致的内容显示不完整的问题。
进一步地,根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线包括:
针对存在依赖关系的第三实体元素数据和第四实体元素数据,其中所述第四实体元素数据依赖所述第三实体元素数据;根据所述第三实体元素数据的位置,确定连接线的起点,根据所述第四实体元素数据的位置,确定连接线的终点;根据所述起点和所述终点,确定连接线的至少两个锚点;根据所述起点、所述终点及至少两个锚点,确定所述第三实体元素数据和所述第四实体元素数据的连接线。
本发明实施例提供的血缘关系图的生成方法中根据存在依赖关系的每两个实体元素数据的位置,确定连接线的起点和终点,及至少两个锚点,从而确定存在依赖关系的每两个实体元素数据的连接线,进而实现了血缘关系图的绘制。
进一步地,每个实体元素数据包含至少一个字段元素数据,所述用户数据还包括至少两个字段元素数据,以及包含在不同实体元素数据中的字段元素数据之间存在的第二依赖关系;
所述根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线之前,所述方法还包括:
针对每个字段元素数据,确定该字段元素数据所属的目标实体元素数据;根据所述目标实体元素数据的第一位置,确定该字段元素数据的第三位置;
根据所述第二依赖关系,确定存在第二依赖关系的每两个字段元素数据的第二连接线。
进一步地,所述根据所述目标实体元素数据的第一位置,确定该字段元素数据的第三位置包括:
根据所述目标实体元素数据的第一位置,及预先保存的该字段元素数据在所述目标实体元素数据中的序号,确定该字段元素数据在所述目标实体元素数据中的第三位置。
进一步地,所述根据所述第二依赖关系,确定存在第二依赖关系的每两个字段元素数据的第二连接线包括:
针对存在依赖关系的第一字段元素数据和第二字段元素数据,其中所述第二字段元素数据依赖所述第一字段元素数据;根据所述第一字段元素数据的位置,确定第二连接线的第二起点,根据所述第二字段元素数据的位置,确定第二连接线的第二终点;根据所述第二起点和所述第二终点,确定第二连接线的至少两个第二锚点;根据所述第二起点、所述第二终点及所述至少两个第二锚点,确定所述第一字段元素数据和所述第二字段元素数据的第二连接线。
本发明实施例提供的血缘关系图的生成方法中还可以在血缘关系图中展示字段元素数据及字段元素数据之间的依赖关系,渲染得到的血缘关系图内容更加完整。
进一步地,所述根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图之前,所述方法还包括:
根据每个第一实体元素数据的第一位置,预先保存的预留宽度及预留长度,确定画布的显示区域;
所述生成血缘关系图后,所述方法还包括:
在所述显示区域的画布上,展示所述血缘关系图。
本发明实施例提供的血缘关系图的生成方法中确定画布的显示区域,因此可以在该显示区域对应的画布上显示生成的血缘关系图。
本发明提供一种血缘关系图的生成装置,应用于电子设备,该装置包括:
第一确定模块,用于获取待渲染的用户数据,其中所述用户数据中包括至少两个实体元素数据,以及不同实体元素数据之间存在的依赖关系;在所述至少两个实体元素数据中确定第一实体元素数据,确定第一实体元素数据的第一位置;
第二确定模块,用于当识别到所述第一实体元素数据依赖的第二实体元素数据时,遍历每个第二实体元素数据,根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置,触发第三确定模块;若未识别到所述第一实体元素数据依赖的第二实体元素数据,触发生成模块;
第三确定模块,用于将所述每个第二实体元素数据依次作为第一实体元素数据,将所述每个第二实体元素数据的第二位置确定为每个第一位置,触发所述第二确定模块;
生成模块,用于根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图。
本发明提供一种电子设备,包括存储器和处理器;
所述处理器,用于读取所述存储器中的程序,执行上述任一项所述方法的步骤。
本发明提供一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述任一项所述方法的步骤。
本发明提供了一种血缘关系图的生成方法、装置、电子设备及存储介质,该方法包括:A:获取待渲染的用户数据,其中所述用户数据中包括至少两个实体元素数据,以及不同实体元素数据之间存在的依赖关系;在所述至少两个实体元素数据中确定第一实体元素数据,确定第一实体元素数据的第一位置;B:若识别到所述第一实体元素数据依赖的第二实体元素数据,遍历每个第二实体元素数据,根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置,进行步骤C;若未识别到所述第一实体元素数据依赖的第二实体元素数据,进行步骤D;C:将所述每个第二实体元素数据依次作为第一实体元素数据,将所述每个第二实体元素数据的第二位置确定为每个第一位置,返回B;D:根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图,本发明中仅需获取到血缘关系图中所需原始的用户数据,而渲染血缘关系图时所需的坐标信息和连接线等显示数据,可以根据获取到的用户数据进行确定,因此提高了血缘关系图渲染时的灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实例1提供的一种血缘关系图的生成过程的示意图;
图2为本发明实施例2提供的一种实体元素位置确定的示意图;
图3为本发明实施例5提供的一种血缘关系图的生成过程示意图;
图4为本发明实施例5提供的一种血缘关系图示意图;
图5为本发明实施例6提供的一种获取渲染所需数据过程示意图;
图6为本发明实施例6提供的一种血缘关系图示意图;
图7为本发明实施例7提供的一种电子设备的结构示意图;
图8为本发明实施例8提供的一种电子设备的结构示意图;
图9本发明实施例提供的一种血缘关系图的生成装置示意图。
具体实施方式
为了提高血缘关系图在绘制时的灵活性,本发明实施例提供了一种血缘关系图的生成方法、装置、电子设备及存储介质。
本发明实施例提供的血缘关系图的生成方法,可以应用于电子设备上,该电子设备包括硬件层,运行在硬件层之上的操作系统层,以及运行在操作系统上的应用层。
该硬件层包括中央处理器(CPU,Central Processing Unit)、内存管理单元(MMU,Memory Management Unit)和内存等硬件。
该操作系统可以是任意一种或多种通过进程(Process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包括浏览器等能够生成显示血缘关系图的应用。
并且在本发明实施例中该电子设备可以是智能手机、平板电脑等手持设备,也可以是桌面计算机、便携式计算机等终端设备,本发明实施例中并未特别限定,只要能够通过运行记录有本发明实施例中的血缘关系图的生成方法的代码的程序,实现血缘关系图的生成即可。
本发明实施例中的生成血缘关系图的执行主体可以是电子设备,或者是电子设备中能够调用程序并执行程序的功能模块。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种血缘关系图的生成过程的示意图,该过程包括以下步骤:
S101:获取待渲染的用户数据,其中所述用户数据中包括至少两个实体元素数据,以及不同实体元素数据之间存在的依赖关系;在所述至少两个实体元素数据中确定第一实体元素数据,确定第一实体元素数据的第一位置;
本发明实施例中提供的血缘关系图的生成方法应用于电子设备,该电子设备为可以获取到待渲染的用户数据的电子设备。
电子设备获取用户数据的过程可以是接收用户输入的用户数据,也可以是在保存用户数据的设备中请求用户数据等。
电子设备中可以是安装有用于存储用户数据的后端程序,和用于血缘关系图生成的前端程序,后端程序和前端程序均为计算机程序。
待渲染的用户数据为用于生成血缘关系图的用户数据。根据分析得到的血缘关系图的结构特征,确定待生成的血缘关系图中涉及到的图形的元素包括实体和实体间依赖关系的连接线,则获取到的用户数据中包括至少两个实体元素数据,以及不同实体元素数据之间存在的依赖关系。存在依赖关系的两个实体元素数据之间存在前后向关系,如存在依赖关系的两个的实体元素数据为A和B,实体元素数据B依赖实体元素数据A,则实体元素数据A为实体元素数据B的前向依赖。
通常每个实体元素数据中包含至少一个字段元素数据,且包含在不同实体元素数据的字段元素数据之间也存在依赖关系,因此用户数据中还可以包括至少两个字段元素数据,及包含在不同实体元素数据的字段元素数据之间存在的依赖关系。对于存在依赖关系的任意两个实体元素数据来说,包含在该任意两个实体元素数据中的字段元素数据之间存在的依赖关系的前后向,与该任意两个实体元素数据之间存在的依赖关系的前后向相同,例如存在依赖关系的两个的实体元素数据为A和B,实体元素数据A中包含一个字段元素数据a且实体元素数据B中包含一个字段元素数据b,若字段元素数据b依赖字段元素数据a,则实体元素数据B也满足依赖实体元素数据A。
电子设备获取到用户数据后,在至少两个实体元素数据中,确定第一实体元素数据,电子设备确定第一实体元素数据的过程可以是,在至少两个实体元素数据中任意选取一个实体元素数据,作为第一实体元素数据,或者是根据依赖关系,如某一实体元素数据不作为其余实体元素数据的前向依赖,则将该实体元素数据确定为第一实体元素数据。
电子设备针对确定第一实体元素数据,确定该第一实体元素数据的第一位置,可以将预设位置确定为该第一实体元素数据的第一位置。第一实体元素数据的第一位置可以为顶点位置,也可以为区域范围等。
如果电子设备采用前端程序生成血缘关系图,则前端程序中可以包含用于生成血缘关系图的网页模板,前端程序从后端程序中获取到用户数据后,可以依据网页模板中的配置项对用户数据进行解析,确定用户数据中的至少两个实体元素及不同实体元素数据之间存在的依赖关系。
S102:判断是否识别到所述第一实体元素数据依赖的第二实体元素数据;如果是,进行S103,如果否,进行S105。
由于电子设备获取到了不同实体元素数据之间存在的依赖关系,因此电子设备可以根据依赖关系,判断是否识别到第一实体元素数据依赖的第二实体元素数据。所述电子设备判断是否识别到第一实体元素数据依赖的第二实体元素数据的过程属于现有技术,在本发明实施例中不做赘述。
电子设备根据不同的判断结果,执行不同的步骤,若识别到第一实体元素数据依赖的第二实体元素数据,则进行S103,若未识别到第一实体元素数据依赖的第二实体元素数据,则进行S105。
S103:遍历每个第二实体元素数据,根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置,进行S104。
若识别到第一实体元素数据依赖的第二实体元素数据,则遍历每个第二实体元素数据,电子设备在遍历每个第二实体元素数据时,可以是采用任意顺序进行遍历,也可以是根据接收到的每个第二实体元素数据的时间顺序进行遍历。
电子设备可以根据遍历的顺序,在第一位置的基础上,确定每个第二实体元素数据的第二位置,如可以是在第一位置的基础上,按照遍历的顺序,在第一实体元素数据的横向方向和/或纵向方向上,依次排列每个第二实体元素数据,从而确定每个第二实体元素数据的第二位置。
S104:将所述每个第二实体元素数据依次作为第一实体元素数据,将所述每个第二实体元素数据的第二位置确定为每个第一位置,返回S102;
为了保证能够确定每个实体元素数据的位置,可以将每个第二实体元素数据依次作为第一实体元素数据,将第二实体元素数据的第二位置确定为第一位置,依次返回S102,实现了针对每个第二实体元素数据依次确定其前向依赖的实体元素数据的位置。
S105:根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图。
若未识别到第一实体元素数据依赖的第二实体元素数据,则可以认为已经确定了每个实体元素数据的位置,因此可以根据依赖关系,确定存在依赖关系的每两个实体元素数据的连接线。电子设备确定的连接线可以为直线可以为曲线。
例如如果连接线为直线,则可以是根据存在依赖关系的两个实体元素数据的位置,确定连接线的起点和终点,根据该起点和终点确定连接线;如果连接线为曲线,则可以是根据存在依赖关系的两个实体元素数据的位置,确定连接线的起点和终点,根据该起点和终点确定连接线的锚点,根据该起点、终点和锚点确定连接线。当然根据连接点的起点和终点确定连接线的方式有多种,在本发明实施例中不做限定。
电子设备可以根据每个实体元素数据的位置,及存在依赖关系的每两个实体元素数据的连接线,生成血缘关系图,所述生成血缘关系图的过程属于现有技术,在本发明实施例中不做赘述。
如果电子设备采用前端程序生成血缘关系图,则前端程序中包含的网页模板,还可以用来确定血缘关系图的每个实体元素数据的位置,及存在依赖关系的每两个实体元素数据的连接线,从而生成血缘关系图。
如果电子设备中采用前端程序生成血缘关系图,则可以采用不同的绘图技术来实现,如采用canvas或SVG等,由于不同的绘图技术实现时采用的页面语言不同,则可以依据本发明实施例中提供的血缘关系图的生成方法,采用与绘图技术相应的页面语言预先设置网页模板。
本发明实施例中仅需获取到血缘关系图中所需原始的用户数据,而渲染血缘关系图时所需的坐标信息和连接线等显示数据,可以根据获取到的用户数据进行确定,因此提高了血缘关系图渲染时的灵活性。
实施例2:
在上述实施例的基础上,本发明实施例中,所述确定第一实体元素数据的第一位置包括:
将预设的顶点坐标作为所述第一实体元素数据的第一顶点坐标;
根据所述第一顶点坐标及预设的元素宽度,确定所述第一实体元素数据的第二顶点坐标;
根据所述第一实体元素数据中包含的字段元素数据的数量、预设的字段元素长度、所述第一顶点坐标及所述第二顶点坐标,确定所述第一实体元素数据的第三顶点坐标及第四顶点坐标,并确定所述第一实体元素数据的第一位置。
如果第一实体元素数据的第一位置为区域范围,则需要确定该第一位置的坐标边界点,即确定该区域范围的四个顶点。
电子设备中预先保存有预设的顶点坐标,该顶点坐标可以为页面上坐标轴的原点坐标,也可以是其他任意点坐标,将该预设的顶点坐标确定为第一实体元素数据的第一顶点坐标。
为了符合页面上坐标轴的视觉习惯,x轴即横轴正向为右,y轴即纵轴正向为下如图2所示,则较佳地,该第一顶点坐标可以为该第一实体元素数据的区域范围的左上角顶点坐标(如图2所示)或右下角顶点坐标(如图2所示)。
电子设备中保存有预设的元素宽度,该元素宽度可以为任意宽度,也可以是根据获取到的每个实体元素数据的实体名称中,实体名称对应的文本字符数量的最大值确定。
电子设备根据第一顶点坐标及该元素宽度,可以确定第一实体元素数据的第二顶点坐标,具体地第二顶点坐标的横坐标可以为第一顶点坐标的横坐标与该元素宽度的差值或和值,第二顶点坐标的纵坐标与第一顶点坐标的纵坐标相同,以第一顶点坐标为左上角顶点坐标为例,第二顶点坐标为右上角顶点坐标(如图2所示的右上角)。
每个实体元素数据中包含至少一个字段元素数据,在血缘关系图中展示实体元素数据时,实体元素数据中包含的字段元素数据可以一同进行展示。
如果在血缘关系图中展示实体元素数据,及实体元素数据中包含的字段元素数据,则在确定实体元素数据的区域范围时,需要考虑实体元素数据中包含的字段元素数据的数量,并且电子设备中还保存有预设的字段元素长度,因此根据第一实体元素数据中包含的字段元素数据的数量,可以确定该第一实体元素数据的显示长度。
具体地该第一实体元素数据的显示长度可以为字段元素数据的数量与该字段元素长度的乘积,或通常在展示该第一实体元素数据时会展示该第一实体元素数据的实体名称,则可以确定字段元素数据的数量与该字段元素长度的乘积,将该乘积与预设的数值的和值确定为该第一实体元素数据的显示长度,该预设的数量可以为实体元素长度,用来显示实体名称。
根据该第一实体元素数据的显示长度和第一顶点坐标,可以确定该第一实体元素数据的第三顶点坐标,具体地第三顶点坐标的横坐标与第一顶点坐标的横坐标相同,第三顶点坐标的纵坐标可以为第一顶点坐标的纵坐标与该显示长度的差值或和值,以第一顶点坐标为左上角顶点坐标为例,第三顶点坐标为左下角顶点坐标(如图2所示的左下角)。
根据该第一实体元素数据的显示长度和第二顶点坐标,可以确定该第一实体元素数据的第四顶点坐标,具体地,第四顶点坐标的横坐标与第二顶点坐标的横坐标相同,第四顶点坐标的纵坐标可以为第二顶点坐标的纵坐标与该显示长度的差值或和值,以第一顶点坐标为左上角顶点坐标为例,第四顶点坐标为右下角顶点坐标(如图2所示的右下角)。
电子设备根据第一顶点坐标、第二顶点坐标、第三顶点坐标和第四顶点坐标,可以确定第一位置对应的区域范围。
由于本发明实施例中通过确定第一实体元素数据的四个顶点,确定了第一位置对应的区域范围,从而实现在血缘关系图中展示该第一实体元素数据。
实施例3:
在上述各实施例的基础上,本发明实施例中,所述根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置包括:
根据预设的横向间距,确定所述每个第二实体元素数据的横向偏移量;并根据遍历的顺序及预设的纵向间距,确定所述每个第二实体元素数据的纵向偏移量;
根据所述第一位置,所述每个第二实体元素数据的横向偏移量,及所述每个第二实体元素数据的纵向偏移量,确定所述每个第二实体元素数据的第二位置。
为了避免在显示每个第二实体元素数据时,区域范围存在重叠导致的内容显示不完整的问题,根据遍历的顺序,对每个第二实体元素数据进行横向和纵向的偏移,使每个第二实体元素数据的第二位置互相不重叠。
电子设备根据每个第二实体元素数据的横向偏移量和纵向偏移量,确定的每个第二实体元素数据的第二位置,相当于在确定每个第二实体元素数据的第二位置过程中,重新确定了每个第二实体元素数据与依赖其的第一实体元素数据的相对位置重新进行了计算。
电子设备中保存有预设的横向间距,根据该预设的横向间距,可以确定每个第二实体元素数据的横向偏移量,如将该横向距离确定为每个第二实体元素数据的横向偏移量。
电子设备中保存有预设的纵向间距,根据遍历每个第二实体元素数据的顺序,及该纵向间距,可以确定每个第二实体元素数据的纵向偏移量。
电子设备根据遍历的顺序,及该纵向间距,确定每个第二实体元素数据的纵向偏移量可以是将遍历的顺序对应的数值与该纵向间距的乘积,确定为每个第二实体元素数据的纵向偏移量,也可以是确定遍历的顺序对应数值与预设数值的差值,将该差值与该纵向间距的乘积,确定为每个第二实体元素数据的纵向偏移量。
血缘关系图是针对每个实体来说的,该实体即为第一实体元素数据,以该第一实体元素数据为基准,确定每个第二实体元素数据的第二位置可以理解为以第一位置为参考,将每个第二实体元素数据在x轴上偏移该横向偏移量,并将每个第二实体元素数据在y轴上偏移该纵向偏移量。
在确定每个实体元素数据后,还可以在实体元素数据对应的位置显示实体名称,具体可以是根据每个实体元素数据的第一顶点坐标、第三顶点坐标、预设的实体文本横向间距和预设的实体文本纵向间距,确定实体文本起始坐标,根据该实体文本起始坐标,显示实体名称。
预设的实体文本横向间距和实体文本纵向间距保存在电子设备中,实体文本横向间距和实体文本纵向间距可以根据用户需求设定。
本发明实施例中根据遍历的顺序,对每个第二实体元素数据进行横向和纵向的偏移,使每个第二实体元素数据的第二位置互相不重叠,避免了在显示每个第二实体元素数据时,区域范围存在重叠导致的内容显示不完整的问题。
实施例4:
在上述各实施例的基础上,本发明实施例中,根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线包括:
针对存在依赖关系的第三实体元素数据和第四实体元素数据,其中所述第四实体元素数据依赖所述第三实体元素数据;根据所述第三实体元素数据的位置,确定连接线的起点,根据所述第四实体元素数据的位置,确定连接线的终点;根据所述起点和所述终点,确定连接线的至少两个锚点;根据所述起点、所述终点及至少两个锚点,确定所述第三实体元素数据和所述第四实体元素数据的连接线。
根据存在依赖关系的每两个实体元素数据的位置,确定连接线的起点和终点,及至少两个锚点,从而确定存在依赖关系的每两个实体元素数据的连接线,进而实现了血缘关系图的绘制。
若根据存在依赖关系的第三实体元素数据和第四实体元素数据,确定第四实体元素数据依赖第三实体元素数据。根据第三实体元素数据的位置,确定连接线的起点,若第三实体元素数据的位置为顶点,则连接点的起点可以为该顶点,若第三实体元素数据的位置为区域范围,则连接点的起点可以为该区域范围的任一顶点,或位于任意两个顶点的连线上。根据第四实体元素数据的位置,确定连接线的终点,若第四实体元素数据的位置为顶点,则连接点的终点可以为该顶点,若第四实体元素数据的位置为区域范围,则连接点的终点可以为该区域范围的任一顶点,或位于任意两个顶点的连线上。
确定连接线的起点和终点后,可以确定连接线的至少两个锚点,该锚点的数量可以根据用户需求进行设置。电子设备根据起点和终点,确定连接线的至少两个锚点的过程可以采用现有技术实现,在此不做赘述。
根据起点、终点和至少两个锚点确定的连接线可以为曲线,具体地该曲线可以为贝塞尔曲线。
为了更好地体现连接线对应的依赖关系,在连接线的终点可以显示箭头,因此确定终点后,还可以根据终点的位置确定箭头的显示区域。
实体元素数据中包含至少一个字段元素数据,为了使血缘关系图在展示时逻辑更加清晰,则在待生成的血缘关系图中涉及到的图形的元素还可以包括字段间依赖关系的连接线。在确定每个实体元素数据的位置后,还可以确定实体元素数据中包含的字段元素数据的位置。
每个实体元素数据包含至少一个字段元素数据,所述用户数据还包括至少两个字段元素数据,以及包含在不同实体元素数据中的字段元素数据之间存在的第二依赖关系;
所述根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线之前,所述方法还包括:
针对每个字段元素数据,确定该字段元素数据所属的目标实体元素数据;根据所述目标实体元素数据的第一位置,确定该字段元素数据的第三位置;
根据所述第二依赖关系,确定存在第二依赖关系的每两个字段元素数据的第二连接线。
由于每个实体元素中包含至少一个字段元素数据,还可以在生成的血缘关系图中展示字段元素数据。
用户数据中除包括至少两个实体元素数据,及不同实体元素数据之间的第一依赖关系,用户数据还包括至少两个字段元素数据,以及包含在不同实体元素数据中的字段元素数据之间存在的第二依赖关系。
若某一字段元素数据包含在某一实体元素数据中,可以理解该字段元素数据属于该实体元素数据。
如果需要在血缘关系图中展示字段元素数据,除需要确定每个第一实体元素数据的第一位置,和存在第一依赖关系的两个实体元素数据之间的第一连接线,则还需要确定每个字段元素数据的第三位置,及存在第二依赖关系的两个字段元素数据之间的第二连接线。
在确定每个字段元素数据的第三位置时,根据每个字段元素数据所属的目标实体元素数据的第一位置确定,具体如下:
所述根据所述目标实体元素数据的第一位置,确定该字段元素数据的第三位置包括:
根据所述目标实体元素数据的第一位置,及预先保存的该字段元素数据在所述目标实体元素数据中的序号,确定该字段元素数据在所述目标实体元素数据中的第三位置。
根据实体元素数据包含的字段元素数据,可以确定每个字段元素数据所属的目标实体元素数据,由于针对每个实体元素数据,预先保存有该实体元素数据包含的每个字段元素数据的序号,因此可以确定字段元素数据在其所属的目标实体元素数据中的第三位置。
具体可以是,针对每个字段元素数据,根据该字段元素数据在目标实体元素数据中的序号、目标实体元素数据的第一顶点坐标,及预设的字段元素高度,确定该字段元素数据的第五顶点坐标,根据第五顶点坐标及预设的元素宽度,确定该字段元素数据的第六顶点坐标,根据第五顶点坐标、第六顶点坐标和预设的字段元素高度,确定该字段元素数据的第七顶点坐标和第八顶点坐标,从而确定该字段元素数据的第三位置。
下面以一个例子进行说明,针对某一字段元素数据,若该字段元素数据所属的目标实体元素数据的第一顶点坐标为(0,0),预设的字段元素高度为20,预设的元素宽度为216,该字段元素数据在其所属的目标实体元素数据中的序号为2,则该字段元素数据的第五顶点坐标可以为(0,40),第六顶点坐标为(216,40),第七顶点坐标为(0,60),第八顶点坐标为(216,60)。
在确定每个字段元素数据的第三位置后,还可以在字段元素数据对应的第三位置显示字段名称,具体可以是根据每个字段元素数据的第五顶点坐标、第七顶点坐标、预设的字段文本横向间距和预设的字段文本纵向间距,确定字段文本起始坐标,根据该字段文本起始坐标,显示字段名称。
预设的字段文本横向间距和字段文本纵向间距保存在电子设备中,字段文本横向间距和字段文本纵向间距可以根据用户需求设定。
在确定存在第二依赖关系的每两个字段元素数据的第二连接线时,具体如下:
所述根据所述第二依赖关系,确定存在第二依赖关系的每两个字段元素数据的第二连接线包括:
针对存在依赖关系的第一字段元素数据和第二字段元素数据,其中所述第二字段元素数据依赖所述第一字段元素数据;根据所述第一字段元素数据的位置,确定第二连接线的第二起点,根据所述第二字段元素数据的位置,确定第二连接线的第二终点;根据所述第二起点和所述第二终点,确定第二连接线的至少两个第二锚点;根据所述第二起点、所述第二终点及所述至少两个第二锚点,确定所述第一字段元素数据和所述第二字段元素数据的第二连接线。
确定存在第二依赖关系的每两个字段元素数据的第二连接线的过程,确定存在第一依赖关系的每两个实体元素数据的第一连接线的过程基本相同,在此不做赘述。
由于本发明实施例中,根据存在依赖关系的每两个实体元素数据的位置,确定连接线的起点和终点,及至少两个锚点,从而确定存在依赖关系的每两个实体元素数据的连接线,进而实现了血缘关系图的绘制。
实施例5:
所述根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图之前,所述方法还包括:
根据每个第一实体元素数据的第一位置,预先保存的预留宽度及预留长度,确定画布的显示区域;
所述生成血缘关系图后,所述方法还包括:
在所述显示区域的画布上,展示所述血缘关系图。
在待生成的血缘关系图中涉及到的元素还可以画布。
根据每个第一实体元素数据的第一位置和预先保存的预留宽度可以确定画布的显示区域的宽度,根据每个第一实体元素数据的第一位置和预设保存的预留长度,可以确定画布的显示区域的高度。根据画布的显示区域的宽度和高度,可以确定画布的显示区域。
如果用户数据中包含至少两个实体元素数据及不同实体元素数据之间存在的依赖关系,则血缘关系图中在对应的位置展示实体元素数据,及存在依赖关系的实体元素数据的连接线。
如果电子设备根据预先设置的网页模板生成血缘关系图,则图3为本发明实施例提供的一种血缘关系图的生成过程示意图:
电子设备获取渲染所需数据,根据渲染数据中包括的至少两个实体元素数据和实体元素数据的第一位置,及实体元素数据之间的第一连接线,至少两个字段元素数据和字段元素数据的第三位置,及字段元素数据之间的第二连接线,和预先设置的网页模板,先渲染显示区域对应的画布,然后渲染实体元素数据、字段元素数据以及第一连接线和第二连接线,生成血缘关系图,生成的血缘关系图如图4所示,血缘关系图中包含画布元素、实体元素、字段元素、实体连接线元素和字段连接线元素。
如果用户数据中包含至少两个实体元素数据、至少两个字段元素数据、不同实体元素数据之间存在的第一依赖关系、及包含在不同实体元素数据的字段元素数据之间存在的第二依赖关系,则在血缘关系图中在对应的位置展示实体元素数据和字段元素数据,并且可选地在血缘关系图中展示存在第一依赖关系的实体元素数据的第一连接线,和/或存在第二依赖关系的字段元素数据的第二连接线。
由于本发明实施例中确定画布的显示区域,因此可以在该显示区域对应的画布上显示生成的血缘关系图。
实施例6:
在上述各实施例的基础上,在本发明实施例中,如果电子设备根据预先设置的网页模板生成血缘关系图,则可以采用SVG技术作为血缘关系图的绘图技术,以数据作为模板渲染的引擎,依据数据和网页模板生成血缘关系图。本方法较优地采用SVG作为绘图技术,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以在其他技术下做出变形或改进,这些都属于本发明的保护范围。
预先设置的网页模板中预留有可配置项,根据用户输入数据或获取用户数据可以确定各配置项对应的值,因此可以实现用户与图形的交互。
具体的网页模板中预留的可配置项如下:
一、画布:画布区域的宽、高属性为配置项;画布标题的标题名称为配置项;画图区域的坐标范围和主题色为配置项;
二:实体元素数据(以下简称实体):实体的标题名称、实体名、实体区域颜色、实体坐标边界点、实体名称坐标起点为配置项,此外在渲染实体时,对实体依次渲染,不同种类的实体可以定义不同的颜色来进行显示,如实体的种类包括数据表、视图和接口程序等;
三、字段元素数据(以下简称字段):字段名称、字段区域颜色、字段坐标边界点、字段名称坐标起点为配置项,一个实体包含至少一个字段,此外在渲染字段时,对字段依次渲染;
四、连接线包括实体级关系连接线和字段级关系连接线:实体级关系连接线,起始位置、路径过程、路径颜色、箭头颜色大小为可配置项;字段级关系连接线,起始位置、路径过程、路径颜色、箭头颜色大小为可配置项;
五、开关:显示字段的总开关为配置项,当开关打开时,图形展示字段级血缘关系,否则展示实体级血缘关系,该总开关默认打开;实体显示字段的分开关为配置项,比显示字段的总开关的优先级更高,当开关打开时,该实体的前后向以字段级连接线展示血缘关系,否则,该实体的前后向以实体级连接线展示血缘关系,该分开关默认打开,其中前后向表示依赖关系;此外通过开关控制血缘关系连接线,同一个实体,可以不同时展现实体级关系连接线和字段级关系连接线,当前实体级关系连接线和字段级关系连接线,可以根据用户的需求设置为可同时显示。
根据获取的用户数据定义最终数据,该最终数据为页面渲染所需要的数据:
一、实体:至少包括实体的id即实体的标识信息、名称、类型、包含的所有字段id即字段的标识信息,颜色、所占区域坐标边界点、文字名称坐标起点、显示字段的开关;
二、实体的字段:至少包括字段的id、名称、颜色、所占区域坐标边界点、文字名称坐标起点;
三、连接线:实体间的前后向关系,连接线的起终点的实体id、路径坐标贝塞尔曲线过程、路径颜色、箭头区域坐标边界点;字段间的前后向关系,连接线的起终点的字段id、路径坐标贝塞尔曲线过程、路径颜色、箭头区域坐标边界点;
四、画布:画布区域的宽高、画图区域的坐标范围;画布的标题和主题色;是否显示字段的总开关。
无论是向后台请求得到血缘关系的用户数据,或者用户输入的血缘关系的用户数据,这些数据不需要按照页面最终渲染所需要的数据严格输入,但是血缘关系图中所需的实体元素数据、字段元素数据、实体元素数据之间的依赖关系和字段元素数据之间的依赖关系等信息不可缺少。
具体地,如果后台请求或用户输入的用户数据中定义了坐标,则可以直接按用户数据中定义的坐标渲染,如果后台请求或用户输入的用户数据中未定义坐标,则需要根定义的实体和字段的前后向关系即依赖关系确定的,其中所有实体、字段、连接线、画布等坐标均可以根据用户数据计算得到。
如果用户数据未定义颜色、尺寸,则所有实体、字段、连接线、画布背景等按系统默认设置的颜色、尺寸来渲染;如果用户数据中未定义显示字段的总开关,该总开关默认为开启状态;如用户数据中未定义显示字段的开关,该开关默认为开启状态。
用户数据中包括的实体,可以至少包括实体的id、名称、类型和包含的所有字段id,颜色、显示字段的开关为非必需项,所占区域坐标边界点、文字名称坐标起点为非必需项。如果这些非必需项未被定义,则需要指定实体间的前后向关系来进行计算,前向定义输入,包括输入的实体类型和实体的id,后向定义输出,包括输出的实体类型和实体的id,前后向关系都是多对多的关系,前后向关系可能为空,表示没有输入或输出。
用户数据中包括实体的字段,可以至少包括字段的id和名称,颜色为非必需项,所占区域坐标边界点、文字名称坐标起点为非必需项。如果这些非必需项未被定义,则需要指定字段间的前后向关系来进行计算,前向定义输入,包括输入的字段id,后向定义输出,包括输出的字段的id,前后向关系都是多对多的关系,前后向关系可能为空,表示没有输入或输出;
如果用户数据中定义了实体中指定实体的前后向关系,则连接线的起终点、路径坐标贝塞尔曲线过程、箭头区域坐标边界点根据计算得到,路径颜色如未定义则设为默认值;如果用户数据中定义了字段中指定了字段的前后向关系,则连接线的起终点、路径坐标贝塞尔曲线过程、箭头区域坐标边界点根据计算得到,路径颜色如未定义则设为默认值;
如果用户数据中实体、字段定义中指定了前后向关系,则画布区域的宽高、画图区域的坐标范围等可以通过计算得到;画布的标题和主题色为非必需项,如未设定,采用系统默认值;显示字段的总开关为非必需项,如未设定,采用系统默认值。
图5为本发明实施例提供的一种获取渲染所需数据过程示意图:
S301:定义默认尺寸。
在步骤中,预先定义系统默认的画布相关的尺寸规格,及预先定义系统默认的各元素尺寸规则。
画布的尺寸规格:画布左右预留空间canvasPaddingLeft=20,画布上下预留空间canvasPaddingTop=32,其中画布左右预留空间即为预留宽度,画布上下预留空间即为预留长度。
各元素的尺寸规格:实体尺寸,实体宽度即元素宽度tableAndColumnWidth=216,实体名称所在区块高即实体元素长度tableNameHeight=32,实体所在区块距离下面的实体所在区块的距离即纵向间距tableMarginBottom=32,实体所在区块距离右边的实体所在区块的距离即横向间距tableMarginRight=90,实体名称文字在区块内与左边缘距离即实体文本横向间距tableNameTextPaddingLeft=8,实体名称文字在区块内与上边缘距离即实体文本纵向间距tableNameTextPaddingTop=18;
字段尺寸,字段宽度与实体宽度相等,字段名称所在区域高度即字段元素长度columnNameHeight=20,字段名称文字在区块内与左边缘距离即字段文本横向间距columnNameTextPaddingLeft=16,字段名称文字在区块内与上边缘距离即实体文本纵向间距columnNameTextPaddingTop=14;
箭头尺寸,箭头区域宽度arrowWidth=10,箭头区域高度arrowHeight=8;
连接线尺寸,贝塞尔曲线锚点的水平距离占连接线路径的水平距离的比例basselAnchorRadian=0.6。
S302:读取用户输入,判断用户输入数据是否合法;如果是,进行S503;如果否,进行S504。
在此步骤中,可以用户向后台请求用户数据,或用户直接在页面上输入。
电子设备可以判断用户数据是否合法,例如可以判断用户数据中包括有血缘关系图所必须的数据,如果是,则认为合法,如果否则认为非法。
S503:判断用户输入数据中是否已定义坐标;如果是,进行S507;如果否,进行S505。
如果电子设备判断用户数据合法,在此步骤中,电子设备判断用户数据中是否已定义坐标,如果是,则进行S507;如果否,进行S505。
S504:不渲染用户输入数据,结束当前流程。
如果电子设备确定用户数据不合法,则不渲染用户数据,结束当前流程,等待用户的下一次输入。
S505:根据前后向关系计算起止连接点。
如果用户数据中未定义实体、字段及连接线的坐标,则必须定义前后向输入输出关系,即实体之间的依赖关系和/或字段之间的依赖关系。
在此步骤中,电子设备需要根据实体、字段间的输入输出关系,计算得到实体间的起止连接点、字段间的起止连接点,每一个依赖关系都对应一个数据对象,起止连接点分别为该数据对象的两个属性,分别为起点元素的id和终点元素的id。
S506:计算各实体、字段的起始坐标。
在此步骤中,电子设备初始化所有实体的位置为position=[0,0],定义最大偏移量offset=[0,0];
血缘关系图是针对某个实体来说的,该实体即为目标实体,以目标实体为基准,遍历它的前向,每一层前向,相对于当前处理的实体向x轴横向偏移-1,如一层有多个前向,则第一个前向在y轴上不偏移,第二个及以后的依次在y轴上偏移-1,更新每个实体的位置,遍历完成后返回最大偏移量;遍历所有实体,将实体的位置分别在坐标轴上正向偏移最大偏移量的绝对值,以符合页面上坐标轴的视觉习惯,即左上角为原点,x轴正向向右,y轴正向向下;排序后的实体元素数据之间的相对位置关系如图6所示。
计算所有实体的横向起点坐标coordinateX=canvasPaddingLeft+(tableAndColumnWidth+tableMarginRight)*position[i],记录横向最大坐标值为maxX;在此过程中,可以以左上角实体作为目标实体,以初始化的位置确定该目标实体的位置中横向起点坐标,其余实体i的横向起点坐标,根据目标实体的横向起点坐标确定,position[i]为其余相对目标实体的位置,也可以理解为横向层次方向上的偏移量,实体的横向起点坐标和纵向起点坐标,可以理解为实体的起点的横坐标和纵坐标。
计算所有实体的纵向起点坐标,按纵向位置依次分层计算,位置在y轴上的,层次j=0,其纵向坐标coordinateY[j]=canvasPaddingTop,实体的总高度包含实体内字段的高度,记录该层实体的最大高度maxPreHeightY[j],作为下一层的纵向坐标计算的依据,依次计算j>1的层次纵坐标coordinateY[j]=canvasPaddingTop+coordinateY[j-1]+maxPreHeightY[j-1]+tableMarginBottom,其中maxPreHeightY[j]是根据所在层次相应变化的如果j为最后一层,则将maxPreHeightY[j]记录为totalHeight。
计算字段的起始坐标,用entity表示实体,index表示该字段在实体中若干个字段的序号,字段的坐标基于实体计算,其起始横坐标coordinateX=entity.coordinate[0],纵坐标coordinateY=entity.coordinate[1]+index*columnNameHeight+tableNameHeight。每个实体的位置和实体中的字段的位置如图6所示。
S507:计算实体区域范围和文字坐标。
如果确定了坐标,则确定坐标对应的实体的位置即区域范围,以及实体文本的显示坐标。
S508:计算字段区域范围和文字坐标。
计算实体名称所在的区域范围和文字坐标,区域范围用一组矩形的边界点坐标表示,bgCoordinate=coordinate[0]+','+coordinate[1]+”+coordinate[0]+','+(coordinate[1]+tableNameHeight)+”+(coordinate[0]+tableAndColumnWidth)+','+(coordinate[1]+tableNameHeight)+”+(coordinate[0]+tableAndColumnWidth)+','+coordinate[1],实体名称的文字横坐标textCoordinateX=coordinate[0]+tableNameTextPaddingLeft,纵坐标textCoordinateY=coordinate[1]+tableNameTextPaddingTop。
边界点坐标为实体所在区域的顶点坐标,在此步骤中,coordinate[0]+','+coordinate[1]为实体的第一顶点坐标,coordinate[0]+','+(coordinate[1]+tableNameHeight)为实体的第三顶点坐标,(coordinate[0]+tableAndColumnWidth)+','+(coordinate[1]+tableNameHeight)为实体的第四顶点坐标,coordinate[0]+tableAndColumnWidth)+','+coordinate[1]为实体的第二顶点坐标。
确定字段的边界点坐标后,可以采用与实体相同的方式确定字段的区域范围,字段名称文字的起始横坐标textCoordinateX=coordinate[0]+columnNameTextPaddingLeft,纵坐标textCoordinateY=coordinate[1]+columnNameTextPaddingTop。
S509:计算连接线的贝塞尔曲线和连接线尾部的箭头坐标范围。
计算实体间的关系线的路径和箭头,以entityFrom、entityTo表示前后向关系的实体,关系线路径基于关系两端的实体来计算,贝塞尔曲线路径besselAnchor='M'+(entityFrom.coordinate[0]+tableAndColumnWidth)+','+(entityFrom.coordinate[1]+arrowWidth)+'C'+((entityFrom.coordinate[0]+tableAndColumnWidth)+(entityTo.coordinate[0]-(entityFrom.coordinate[0]+tableAndColumnWidth))*besselAnchorRadian)+','+(entityFrom.coordinate[1]+arrowWidth)+”+(entityTo.coordinate[0]-(entityTo.coordinate[0]-(entityFrom.coordinate[0]+tableAndColumnWidth))*besselAnchorRadian)+','+(entityTo.coordinate[1]+arrowWidth)+”+(entityTo.coordinate[0]-arrowWidth)+','+(entityTo.coordinate[1]+arrowWidth)。
箭头图形坐标区域arrowCoordinate=(entityTo.coordinate[0]-arrowWidth)+','+(entityTo.coordinate[1]+arrowWidth-arrowHeight/2)+”+entityTo.coordinate[0]+','+(entityTo.coordinate[1]+arrowWidth)+”+(entityTo.coordinate[0]-arrowWidth)+','+(entityTo.coordinate[1]+arrowWidth+arrowHeight/2)+”+(entityTo.coordinate[0]-arrowWidth)+','+(entityTo.coordinate[1]+arrowWidth-arrowHeight/2);在此步骤中,(entityFrom.coordinate[0]+tableAndColumnWidth)+','+(entityFrom.coordinate[1]+arrowWidth)为连接线的起点,entityTo.coordinate[0]-arrowWidth)+','+(entityTo.coordinate[1]+arrowWidth-arrowHeight/2)为连接点的终点,其余坐标为连接线的锚点。
字段间的连接线的计算方式与实体间的连接线的计算方式相同,在此不做赘述。
S510:计算画布大小。
计算画布尺寸,若用户输入的各元素已计算好坐标,则画布尺寸在原有的坐标尺寸最大值的基础上即在实体坐标计算过程中确定的maxX和totalHeight的基础上,横向增加canvasPaddingLeft,纵向增加canvasPaddingTop;
计算画布尺寸,宽度svgWidth=maxX+tableAndColumnWidth+canvasPaddingLeft,高度svgHeight=totalHeight+canvasPaddingTop;
计算画布的坐标范围即画布的区域范围,用一组矩形的边界点表示canvasBackground='0,0 0,'+svgHeight+”+svgWidth+','+svgHeight+”+svgWidth+',0';
S511:生成渲染所需的最终数据。
根据预先设置的网页模板,采用确定的坐标和连接线等显示数据渲染,生成渲染所需的最终数据。
如图6所示为采用该网页模板生成的血缘关系图,其中该血缘关系图中仅显示了字段元素数据之间的连接线。
此外现有技术中采用canvas技术绘制血缘关系图时,需要通过Javascript语言来实现,前端程序在渲染关系图的过程中,需要实时向后端程序请求关系图中所需的坐标信息,后端程序计算好后发送给前端程序,前端程序再根据获取到的坐标信息完成坐标信息对应部分的关系图渲染,因此逻辑和展示不能分开,前后端程序交互差,分离不彻底。采用svg技术渲染血缘关系图时,需要通过HTML标签语言实现,但HTML语言本质上还是XML语言,后端程序预先定义好关系图中所需的元素和元素位置,将元素和元素位置推给前端程序进行展示,因此前后端程序分离不彻底。如果采用本发明实施例提供的血缘关系图生成方法,本发明实施例中可以是仅接收到原始的用户数据后,根据用户数据计算得到用于生成血缘关系图时所需的坐标和连接线等显示数据。
由于本发明实施例中仅需获取到血缘关系图中所需原始的用户数据,而渲染血缘关系图时所需的坐标信息和连接线等显示数据,可以根据获取到的用户数据进行确定,因此提高了血缘关系图渲染时的灵活性。
实施例7:
在上述各实施例的基础上,本发明实施例还提供了一种电子设备700,如图7所示,包括:处理器701和存储器702;
所述处理器701,用于执行读取存储器702中的程序,执行下列过程:
A:获取待渲染的用户数据,其中所述用户数据中包括至少两个实体元素数据,以及不同实体元素数据之间存在的依赖关系;在所述至少两个实体元素数据中确定第一实体元素数据,确定第一实体元素数据的第一位置;B:若识别到所述第一实体元素数据依赖的第二实体元素数据,遍历每个第二实体元素数据,根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置,进行步骤C;若未识别到所述第一实体元素数据依赖的第二实体元素数据,进行步骤D;C:将所述每个第二实体元素数据依次作为第一实体元素数据,将所述每个第二实体元素数据的第二位置确定为每个第一位置,返回步骤B;D:根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图。
基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电子设备解决问题的原理与血缘关系图的生成方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器701代表的一个或多个处理器和存储器702代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。收发机703可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器701负责管理总线架构和通常的处理,存储器702可以存储处理器701在执行操作时所使用的数据。
可选的,处理器701可以是CPU(中央处埋器)、ASIC(Application SpecificIntegrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
所述处理器701,具体用于将预设的顶点坐标作为所述第一实体元素数据的第一顶点坐标;根据所述第一顶点坐标及预设的元素宽度,确定所述第一实体元素数据的第二顶点坐标;根据所述第一实体元素数据中包含的字段元素数据的数量、预设的字段元素长度、所述第一顶点坐标及所述第二顶点坐标,确定所述第二实体元素的第三顶点坐标及第四顶点坐标,并确定所述第一实体元素数据的第一位置。
所述处理器701,具体用于根据预设的横向间距,确定所述每个第二实体元素数据的横向偏移量;并根据遍历的顺序及预设的纵向间距,确定所述每个第二实体元素数据的纵向偏移量;根据所述第一位置,所述每个第二实体元素数据的横向偏移量,及所述每个第二实体元素数据的纵向偏移量,确定所述每个第二实体元素数据的第二位置。
所述处理器701,具体用于针对存在依赖关系的第三实体元素数据和第四实体元素数据,其中所述第四实体元素数据依赖所述第三实体元素数据;根据所述第三实体元素数据的位置,确定连接线的起点,根据所述第四实体元素数据的位置,确定连接线的终点;根据所述起点和所述终点,确定连接线的至少两个锚点;根据所述起点、所述终点及至少两个锚点,确定所述第三实体元素数据和所述和第四实体元素数据的连接线。
所述处理器701,还用于根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图之前,根据每个第一实体元素数据的第一位置,预先保存的预留宽度及预留长度,确定画布的显示区域;生成血缘关系图后,在所述显示区域的画布上,展示所述血缘关系图。
在本发明实施例中,仅需获取到血缘关系图中所需原始的用户数据,而渲染血缘关系图时所需的坐标信息和连接线等显示数据,可以根据获取到的用户数据进行确定,因此提高了血缘关系图渲染时的灵活性。
实施例8:
在上述各实施例的基础上,本发明实施例还提供了一种电子设备,如图8所示,包括:处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信;
所述存储器803中存储有计算机程序,当所述程序被所述处理器801执行时,使得所述处理器801执行如下步骤:
A:获取待渲染的用户数据,其中所述用户数据中包括至少两个实体元素数据,以及不同实体元素数据之间存在的依赖关系;在所述至少两个实体元素数据中确定第一实体元素数据,确定第一实体元素数据的第一位置;B:若识别到所述第一实体元素数据依赖的第二实体元素数据,遍历每个第二实体元素数据,根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置,进行步骤C;若未识别到所述第一实体元素数据依赖的第二实体元素数据,进行步骤D;C:将所述每个第二实体元素数据依次作为第一实体元素数据,将所述每个第二实体元素数据的第二位置确定为每个第一位置,返回B;D:根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图。
本发明实施例提供的电子设备具体可以为桌面计算机、服务器、网络侧设备等。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口802用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
在本发明实施例中,处理器执行存储器上所存放的程序时,仅需获取到血缘关系图中所需原始的用户数据,而渲染血缘关系图时所需的坐标信息和连接线等显示数据,可以根据获取到的用户数据进行确定,因此提高了血缘关系图渲染时的灵活性。
实施例9:
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
A:获取待渲染的用户数据,其中所述用户数据中包括至少两个实体元素数据,以及不同实体元素数据之间存在的依赖关系;在所述至少两个实体元素数据中确定第一实体元素数据,确定第一实体元素数据的第一位置;B:若识别到所述第一实体元素数据依赖的第二实体元素数据,遍历每个第二实体元素数据,根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置,进行步骤C;若未识别到所述第一实体元素数据依赖的第二实体元素数据,进行步骤D;C:将所述每个第二实体元素数据依次作为第一实体元素数据,将所述每个第二实体元素数据的第二位置确定为每个第一位置,返回B;D:根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
在本发明实施例中提供的计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时,仅需获取到血缘关系图中所需原始的用户数据,而渲染血缘关系图时所需的坐标信息和连接线等显示数据,可以根据获取到的用户数据进行确定,因此提高了血缘关系图渲染时的灵活性。
图9为本发明实施例提供的一种血缘关系图的生成装置900示意图,该装置包括:
第一确定模块91,用于获取待渲染的用户数据,其中所述用户数据中包括至少两个实体元素数据,以及不同实体元素数据之间存在的依赖关系;在所述至少两个实体元素数据中确定第一实体元素数据,确定第一实体元素数据的第一位置;
第二确定模块92,用于当识别到所述第一实体元素数据依赖的第二实体元素数据时,遍历每个第二实体元素数据,根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置,触发第三确定模块93;若未识别到所述第一实体元素数据依赖的第二实体元素数据,触发生成模块94;
第三确定模块93,用于将所述每个第二实体元素数据依次作为第一实体元素数据,将所述每个第二实体元素数据的第二位置确定为每个第一位置,触发所述第二确定模块92;
生成模块94,用于根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图。
所述第一确定模块,具体用于将预设的顶点坐标作为所述第一实体元素数据的第一顶点坐标;根据所述第一顶点坐标及预设的元素宽度,确定所述第一实体元素数据的第二顶点坐标;根据所述第一实体元素数据中包含的字段元素数据的数量、预设的字段元素长度、所述第一顶点坐标及所述第二顶点坐标,确定所述第一实体元素数据的第三顶点坐标及第四顶点坐标,并确定所述第一实体元素数据的第一位置。
所述第二确定模块,具体用于根据预设的横向间距,确定所述每个第二实体元素数据的横向偏移量;并根据遍历的顺序及预设的纵向间距,确定所述每个第二实体元素数据的纵向偏移量;根据所述第一位置,所述每个第二实体元素数据的横向偏移量,及所述每个第二实体元素数据的纵向偏移量,确定所述每个第二实体元素数据的第二位置。
所述生成模块,具体用于针对存在依赖关系的第三实体元素数据和第四实体元素数据,其中所述第四实体元素数据依赖所述第三实体元素数据;根据所述第三实体元素数据的位置,确定连接线的起点,根据所述第四实体元素数据的位置,确定连接线的终点;根据所述起点和所述终点,确定连接线的至少两个锚点;根据所述起点、所述终点及所述至少两个锚点,确定所述第三实体元素数据和所述第四实体元素数据的连接线。
所述生成模块,还用于根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图;根据每个第一实体元素数据的第一位置,预先保存的预留宽度及预留长度,确定画布的显示区域;在所述显示区域的画布上,展示所述血缘关系图。
本发明实施例中仅需获取到血缘关系图中所需原始的用户数据,而渲染血缘关系图时所需的坐标信息和连接线等显示数据,可以根据获取到的用户数据进行确定,因此提高了血缘关系图渲染时的灵活性。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种血缘关系图的生成方法,其特征在于,应用于电子设备,该方法包括:
A:获取待渲染的用户数据,其中所述用户数据中包括至少两个实体元素数据,以及不同实体元素数据之间存在的依赖关系;在所述至少两个实体元素数据中确定第一实体元素数据,确定第一实体元素数据的第一位置;
B:若识别到所述第一实体元素数据依赖的第二实体元素数据,遍历每个第二实体元素数据,根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置,进行步骤C;若未识别到所述第一实体元素数据依赖的第二实体元素数据,进行步骤D;
C:分别根据所述每个第二实体元素数据,对所述第一实体元素数据进行更新,分别根据所述每个第二实体元素数据的第二位置,对所述第一位置进行更新,返回步骤B;
D:根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图。
2.如权利要求1所述的方法,其特征在于,所述确定第一实体元素数据的第一位置包括:
将预设的顶点坐标作为所述第一实体元素数据的第一顶点坐标;
根据所述第一顶点坐标及预设的元素宽度,确定所述第一实体元素数据的第二顶点坐标;
根据所述第一实体元素数据中包含的字段元素数据的数量、预设的字段元素长度、所述第一顶点坐标及所述第二顶点坐标,确定所述第一实体元素数据的第三顶点坐标及第四顶点坐标,并确定所述第一实体元素数据的第一位置。
3.如权利要求1或2所述的方法,其特征在于,所述根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置包括:
根据预设的横向间距,确定所述每个第二实体元素数据的横向偏移量;并根据遍历的顺序及预设的纵向间距,确定所述每个第二实体元素数据的纵向偏移量;
根据所述第一位置,所述每个第二实体元素数据的横向偏移量,及所述每个第二实体元素数据的纵向偏移量,确定所述每个第二实体元素数据的第二位置。
4.如权利要求1所述的方法,其特征在于,根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线包括:
针对存在依赖关系的第三实体元素数据和第四实体元素数据,其中所述第四实体元素数据依赖所述第三实体元素数据;根据所述第三实体元素数据的位置,确定连接线的起点,根据所述第四实体元素数据的位置,确定连接线的终点;根据所述起点和所述终点,确定连接线的至少两个锚点;根据所述起点、所述终点及所述至少两个锚点,确定所述第三实体元素数据和所述第四实体元素数据的连接线。
5.如权利要求1所述的方法,其特征在于,所述根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图之前,所述方法还包括:
根据每个第一实体元素数据的第一位置,预先保存的预留宽度及预留长度,确定画布的显示区域;
所述生成血缘关系图后,所述方法还包括:
在所述显示区域的画布上,展示所述血缘关系图。
6.一种血缘关系图的生成装置,其特征在于,应用于电子设备,该装置包括:
第一确定模块,用于获取待渲染的用户数据,其中所述用户数据中包括至少两个实体元素数据,以及不同实体元素数据之间存在的依赖关系;在所述至少两个实体元素数据中确定第一实体元素数据,确定第一实体元素数据的第一位置;
第二确定模块,用于当识别到所述第一实体元素数据依赖的第二实体元素数据时,遍历每个第二实体元素数据,根据遍历的顺序,在所述第一位置的基础上,确定所述每个第二实体元素数据的第二位置,触发第三确定模块;若未识别到所述第一实体元素数据依赖的第二实体元素数据,触发生成模块;
第三确定模块,用于分别根据所述每个第二实体元素数据,对所述第一实体元素数据进行更新,分别根据所述每个第二实体元素数据的第二位置,对所述第一位置进行更新,触发所述第二确定模块;
生成模块,用于根据所述依赖关系,确定存在依赖关系的每两个实体元素数据的连接线,并生成血缘关系图。
7.一种电子设备,其特征在于,包括存储器和处理器;
所述处理器,用于读取所述存储器中的程序,执行权利要求1-5任一项所述方法的步骤。
8.一种计算机可读存储介质,其特征在于,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行权利要求1~5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810246345.3A CN110309314B (zh) | 2018-03-23 | 2018-03-23 | 一种血缘关系图的生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810246345.3A CN110309314B (zh) | 2018-03-23 | 2018-03-23 | 一种血缘关系图的生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309314A CN110309314A (zh) | 2019-10-08 |
CN110309314B true CN110309314B (zh) | 2021-06-29 |
Family
ID=68073914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810246345.3A Active CN110309314B (zh) | 2018-03-23 | 2018-03-23 | 一种血缘关系图的生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309314B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836454A (zh) * | 2021-09-15 | 2021-12-24 | 深圳壹账通智能科技有限公司 | 一种内容展示页面的展示方法、装置、介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142015A (zh) * | 2011-01-30 | 2011-08-03 | 唐凌遥 | 家族树的节点处理系统及家族树的节点处理方法 |
CN107239458A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 基于大数据推算开发对象关系的方法及装置 |
CN107750441A (zh) * | 2015-01-26 | 2018-03-02 | 卢森堡商创研腾智权信托有限公司 | 安全动态通讯网络及协定 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2504540A (en) * | 2012-08-02 | 2014-02-05 | Ibm | Pattern matching physiological parameters |
-
2018
- 2018-03-23 CN CN201810246345.3A patent/CN110309314B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142015A (zh) * | 2011-01-30 | 2011-08-03 | 唐凌遥 | 家族树的节点处理系统及家族树的节点处理方法 |
CN107750441A (zh) * | 2015-01-26 | 2018-03-02 | 卢森堡商创研腾智权信托有限公司 | 安全动态通讯网络及协定 |
CN107239458A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 基于大数据推算开发对象关系的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110309314A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110764763B (zh) | 移动端页面构建方法、系统和移动端 | |
CN107239287B (zh) | 一种网页显示方法、装置、电子设备及存储介质 | |
US10162498B2 (en) | Providing selection areas for selectable objects in graphical interface | |
CN108492346B (zh) | 实现图表组件的方法及装置 | |
CN105824830B (zh) | 一种显示页面的方法、客户端及设备 | |
CN102306174A (zh) | 一种基于网页元素与用户进行互动的方法与设备 | |
US11473926B2 (en) | Method and apparatus for displaying road names, and storage medium | |
CN108475258B (zh) | 用于格式化文档对象的方法、设备和介质 | |
CN108564645B (zh) | 房屋模型的渲染方法、终端设备及介质 | |
US11714953B2 (en) | Facilitating dynamic document layout by determining reading order using document content stream cues | |
CN107977342A (zh) | 一种文档对比方法及装置 | |
CN114186077A (zh) | 一种知识图谱展示方法以及系统 | |
CN110309314B (zh) | 一种血缘关系图的生成方法、装置、电子设备及存储介质 | |
CN107621951B (zh) | 一种视图层级优化的方法及装置 | |
CN108280135B (zh) | 实现数据结构可视化的方法、装置和电子设备 | |
CN112861481B (zh) | 分页处理的方法、装置、电子设备及计算机可读存储介质 | |
US10573033B2 (en) | Selective editing of brushstrokes in a digital graphical image based on direction | |
US8160389B2 (en) | Method for overlapping visual slices | |
CN109726346B (zh) | 页面组件处理方法及装置 | |
US9196226B2 (en) | Computer-implemented methods and systems for laying out electronic content elements | |
US9811448B2 (en) | Event-driven software testing | |
CN113722630B (zh) | 基于客户端渲染的资源数据在web页面中的呈现方法及设备 | |
US11055475B2 (en) | Cross-browser techniques for efficient document pagination | |
CN111782309A (zh) | 显示信息的方法、装置及计算机可读存储介质 | |
CN106156371B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |