CN113656414B - 一种数据处理方法、装置、设备及介质 - Google Patents
一种数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113656414B CN113656414B CN202111208256.8A CN202111208256A CN113656414B CN 113656414 B CN113656414 B CN 113656414B CN 202111208256 A CN202111208256 A CN 202111208256A CN 113656414 B CN113656414 B CN 113656414B
- Authority
- CN
- China
- Prior art keywords
- edge
- index value
- triangular
- edges
- stored
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
Abstract
本说明书实施例公开了一种数据处理方法、装置、设备及介质,数据处理方法包括:获取用于表征三维模型的各三角面片,构建用于存储所述三角面片的边的边表;对任一所述边,确定该边对应的索引值,判断所述索引值对应的已存储边中是否存在该边的相同边;其中,所述已存储边存储在所述边表中;若否,则将该边存储到所述边表中;若是,则删除该边的相同边与所述索引值的对应关系,并建立该边所属三角面片与所述相同边所属三角面片的拓扑关系。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及介质。
背景技术
现有技术中,三维模型可以用一系列的三角面片来表达。考虑到对三维模型进行各种处理的需要,建立用于表达三维模型的三角面片之间的拓扑关系十分必要。
有鉴于此,需要更高效的三角面片拓扑关系确定方案。
发明内容
本说明书实施例提供一种数据处理方法、装置、设备及介质,用以解决如何更高效地建立三角面片拓扑关系以及编码的技术问题。
为解决上述技术问题,本说明书实施例提供如下技术方案:
本说明书实施例提供第一种数据处理方法,包括:
获取用于表征三维模型的各三角面片,构建用于存储所述三角面片的边的边表;
对任一所述边,确定该边对应的索引值,判断所述索引值对应的已存储边中是否存在该边的相同边;其中,所述已存储边存储在所述边表中;
若否,则将该边存储到所述边表中;
若是,则删除该边的相同边与所述索引值的对应关系,并建立该边所属三角面片与所述相同边所属三角面片的拓扑关系。
本说明书实施例提供第二种数据处理方法,包括:
根据上述第一种数据处理方法,确定用于表征三维模型的各三角面片的拓扑关系;
根据所述拓扑关系对所述各三角面片进行编码。
本说明书实施例提供一种数据处理装置,包括:
建表模块,用于获取用于表征三维模型的各三角面片,构建用于存储所述三角面片的边的边表;
索引模块,用于对任一所述边,确定该边对应的索引值,判断所述索引值对应的已存储边中是否存在该边的相同边;其中,所述已存储边存储在所述边表中;
分析模块,用于若所述索引值对应的已存储边中不存在该边的相同边,则将该边存储到所述边表中;若所述索引值对应的已存储边中存在该边的相同边,则删除该边的相同边与所述索引值的对应关系,并建立该边所属三角面片与所述相同边所属三角面片的拓扑关系。
本说明书实施例提供一种数据处理装置,包括:
拓扑模块,用于根据上述第一种数据处理方法,确定用于表征三维模型的各三角面片的拓扑关系;
编码模块,用于根据所述拓扑关系对所述各三角面片进行编码。
本说明书实施例提供一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述第一种或第二种数据处理方法。
本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述第一种或第二种数据处理方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
为各三角面片的任一边建立索引,通过比较对应同一索引值的各边,建立三角面片之间的拓扑关系。对所述任一边,在建立该边索引值后即将该边与其索引值对应的已存储边进行比较,若其索引值对应的已存储边存在该边的相同边,则删除该边和该边的相同边与其索引值的对应关系,从而后续各边无需再与该边和该边的相同边进行比较。这样一来,实现了建立边索引、比较边、存储边或删除边索引的同时进行,能够减少边比较次数和耗时,提高建立三角面片拓扑关系的效率,也就提高了基于三角面片拓扑关系对三角面片进行编码的效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面介绍的附图仅仅是本说明书中记载的实施例可能涉及的部分附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书第一个实施例中的数据处理方法的执行主体示意图。
图2是本说明书第一个实施例中的数据处理方法的流程示意图。
图3是本说明书第一个实施例中的三维模型示意图。
图4是本说明书第一个实施例中的链表示意图。
图5是本说明书第二个实施例中的数据处理方法的流程示意图。
图6是本说明书第二个实施例中的三角面片区域扩张示意图。
图7是本说明书第三个实施例中的数据处理装置的结构示意图。
图8是本说明书第四个实施例中的数据处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例的附图,对本说明书实施例的技术方案清楚、完整地进行描述。显然,本说明书所描述的实施例仅仅是本申请的部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
现有技术中,三维模型(或三维图像,下同)可以用一系列的三角面片来表达。考虑到对三维模型进行各种处理的需要,建立用于表达三维模型的三角面片之间的拓扑关系十分必要。
目前,可以通过建立角表(Corner Table)来确定三角面片之间的拓扑关系,但这种方式耗时较长,从而效率较低。
另外,一种可能的三角面片拓扑关系建立方式是,对于确定的任一三角面片,可以将其他三角面片与该三角面片进行比较,看三角面片之间有没有公共边。假设三维模型有n个点,这种方式的时间复杂度为O(n2)。实际上,平方级的时间复杂度是不可计算的,故这种方式并不实用。
本说明书第一个实施例(以下简称“实施例一”)提供了一种数据处理方法,实施例一的执行主体可以是终端(包括但不限于手机、计算机、pad、电视)或者服务器或者操作系统或者应用程序或者数据处理平台或者数据处理系统等,即执行主体可以是多种多样的,可以根据需要设置、使用或者变换执行主体。另外,也可以有第三方应用程序协助所述执行主体执行实施例一。例如图1所示,可以由服务器来执行实施例一中的数据处理方法,并且可以在(用户所持有的)终端上安装(与所述服务器)相对应的应用程序,终端或应用程序与服务器之间可以进行数据传输,通过终端或应用程序来进行数据的采集或输入或输出或(向用户)进行页面或信息处理,从而辅助服务器执行实施例一中的数据处理方法。
如图2所示,实施例一提供的数据处理方法包括:
S101:(执行主体)获取用于表征三维模型的各三角面片,构建用于存储所述三角面片的边的边表;
实施例一的执行主体可以获取用于表征三维模型(例如流形模型)的各三角面片。其中,所述三维模型包括但不限于工业产品三维模型(工业产品三维模型例如车辆、飞行工具等交通工具三维模型或工业机械三维模型、机床三维模型或其他通过工业生产得到的产品的三维模型)或人体三维模型。
实施例一中,获取用于表征三维模型的各三角面片可以包括:获取用于表征三维模型的点云数据集,根据所述点云数据集确定用于表征三维模型的各三角面片。
例如,用于表征某个模型的点云数据集中包含的点云数据如下所示:
0 0 0
0 0 1
0 1 1
0 1 0
1 0 0
1 0 1
1 1 1
1 1 0
3 0 1 2
3 0 1 4
3 0 2 3
3 1 4 5
3 0 3 4
3 2 3 6
3 1 5 2
3 4 5 6
3 3 4 7
3 3 6 7
3 2 5 6
3 4 6 7
上面的点云数据中,前8行中每一行的数据都代表点的坐标,故前8行的数据代表0-7(仅为示例)这8个点的坐标。第9至20每一行都代表由点构成的面,其中,每一行首位的数字3代表由三个点构成的面,即三角面片;每一行的后三位数字代表构成面的三个点的索引。例如“3 0 1 2”代表由点0、1、2构成的面,“3 0 1 4”代表由点0、1、4构成的面,以此类推。上述点云数据表征或对应的模型如图3所示。
通过上述点云数据,实施例一的执行主体可以确定8个点的坐标,即确定出8个点。通过“3 0 1 2”可以确定由点0、1、2构成的面,通过“3 0 1 4”可以确定由点0、1、4构成的面,以此类推。可见,通过点云数据可以获取用于构成三角面片的各个点,以及获取用于表征三维模型的各三角面片。
以下如无特别说明,所提及的三角面片均用于表征同一三维模型。
每个三角面片具有三条边,实施例一的执行主体可以构建边表,边表用于存储所述三角面片的边。
S103:(执行主体)对任一所述边,确定该边对应的索引值,判断所述索引值对应的已存储边中是否存在该边的相同边;其中,所述已存储边存储在所述边表中;
由上可知,实施例一的执行主体可以获取用于构成三角面片的各个点(即顶点,下同),以及获取用于表征三维模型的各三角面片,则对于任一三角面片,通过该三角面片的三个点可以确定该三角面片的三条边,每条边包含两个点(即顶点,下同)。例如,通过“3 01 2”可以确定【0,1】【0,2】【1,2】这三条边。
不妨将用于表征任一三维模型的各三角面片看作三角面片集合,则对于三角面片集合中任一三角面片的任一边,实施例一的执行主体都可以确定该边对应的索引值。其中,对任一所述边,确定该边对应的索引值,可以包括:对任一所述边,根据散列函数(哈希函数)确定该边对应的索引值。具体的,对于任一条边,可以将该边的两个点的坐标作为参数或关键字,通过散列函数得到该边对应的唯一的整数,该整数作为该边对应的索引值。
实施例一中,所述边表可以包含有预设数量个存储位置(存储位置相当于存储地址或数组),每个存储位置都用于存储三角面片的边。对任一边,根据该边对应的索引值可以确定该边对应的存储位置。其中,对任一边,该边对应的存储位置可以是“该边对应的索引值”所对应的存储位置,具体是“以该边对应的索引值为下标(或指针,下同)的存储位置”,该边对应的存储位置不妨称为该边的第一存储位置或首选存储位置。也就是说,该边、该边对应的索引值、该边的第一存储位置是相互对应的。这样一来,通过该边对应的索引值可以确定边表中该边的第一存储位置,以便将该边存储在边表中该边的第一存储位置。
由上可知,边表可以是散列结构,即边表可以是散列表。
实施例一的执行主体遍历所述三角面片集合中的各三角面片的所有边,确定每一条边的索引值,以便将每一条边存储到边表中。当然,实施例一的执行主体可以按照顺序遍历所有边,例如点云数据中各三角面片存在顺序,每个三角面片中的边相对于三角面片的顶点也存在顺序,从而实施例一的执行主体可以按照各三角面片的顺序以及每个三角面片的边的顺序,读取各三角面片的所有边,即遍历各三角面片的所有边。
当然,可能存在多条边对应相同的索引值的情况,即可能存在索引值或第一存储位置的“碰撞”,从而可能有的边在确定其第一存储位置后,其第一存储位置已经存储有其它边。例如,假设边【0,1】对应索引值3,边【0,1】存储在以3为下标的存储位置,后续确定边【10,11】同样对应索引值3,由于以3为下标的存储位置已存储边【0,1】,故边【10,11】不会存储在以3为下标的存储位置,即边【10,11】不会存储在其第一存储位置。
有鉴于此,对任一边,实施例一的执行主体将该边存储到边表中可以包括:
S1031:确定所述边表中与所述索引值对应的第一存储位置,即确定该边的第一存储位置,判断所述第一存储位置是否已存储有边;
S1033:若该边的第一存储位置上未存储有边,则将该边存储在所述第一存储位置;若该边的第一存储位置上存储有边,则将该边存储在所述边表中除所述第一存储位置之外的,未存储有边的存储位置。
以下不妨将存储有边的存储位置称为非空存储位置或存储位置非空,未存储有边的存储位置称为空存储位置或存储位置为空。对任一边,将该边存储在所述边表中除所述第一存储位置之外的,未存储有边的存储位置,可以包括:按照存储位置序号(即存储位置的下标)依次查找该数据的第一存储位置之后的各存储位置,并将该边存储在查找到的第一个空存储位置,此即为该边的实际存储位置。沿用上例,边【10,11】对应索引值3,由于以3为下标的存储位置已存储边【0,1】,故边【10,11】不会存储在以3为下标的存储位置,则从以3为下标的存储位置开始,按照存储位置序号依次查找“以3为下标的存储位置”之后的各存储位置,并将找到的第一个空存储位置用来存储边【10,11】。边【0,1】可以携带“m_iHash_Next”或类似参数,用于记录与其对应相同索引值,且在其之后的下一条边的实际存储位置。其它边也同样可以携带此类参数。
需要说明的是,对任一边,即使该边未存储到其第一存储位置,其与索引值的对应关系仍然保留,除非出现下文所述的删除与索引值的对应关系的情况。沿用上例,边【10,11】对应索引值3,即使边【10,11】不会存储在以3为下标的存储位置,但边【10,11】与索引值3的对应关系仍然保留。
基于上述内容,单个索引值可能对应多条边,对于任一索引值,可以建立该索引值对应的链表,所述链表包括一个或多个节点,每个节点表示对应该索引值的边的存储信息,所述存储信息包括实际存储位置。例如,对于索引值1,假设边【0,2】对应索引值1,且下标为1的存储位置为空存储位置,则将边【0,2】存储到以1为下标的存储位置,并将边【0,2】的存储信息作为节点(例如记为节点1)加入索引值1对应的链表;假设边【15,16】同样对应索引值1,由于下标为1的存储位置非空,则不妨边【15,16】存储到下标为10的存储位置(由于是按顺序遍历各边,边【0,2】与边【15,16】之间可能隔着其他边,所述其他边存储到索引值2至9的存储位置),并将边【15,16】的存储信息作为节点(例如记为节点2)加入到索引值1对应的链表;后续对应索引值1的边同样操作,例如图4所示。
另外,对任一索引值,需要加入该索引值对应的链表的节点,可以加到该索引值对应的链表的头部或尾部,实施例一不作具体限定。沿用上例,索引值1对应的链表已有对应边【0,2】的存储信息的节点,则边【15,16】的存储信息作为节点可以加入索引值1对应的链表的头部或尾部,即加入到对应边【0,2】的存储信息的节点之前或之后。
对任一索引值,将与该索引值对应的,且已存储到边表中的存储位置的边称为该索引值对应的已存储边,该索引值对应的已存储边的存储信息作为节点包含在该索引值对应的链表中。
以下对任一边,将该边对应的索引值简称为“该边的索引值”。
对任一边,确定该边的索引值后,还需要判断(确定该边的索引值之前)“该边的索引值”对应的已存储边中是否存在该边的相同边。其中,判断“该边的索引值”对应的已存储边中是否存在该边的相同边可以包括:根据“该边的索引值”对应的链表,确定“该边的索引值”对应的各已存储边的实际存储位置(即确定“该边的索引值”对应的链表的各个节点包含的存储信息,从而确定“该边的索引值”对应的各已存储边的实际存储位置);按照“该边的索引值”对应的各已存储边的实际存储位置,依次查找“该边的索引值”对应的各已存储边,从而判断“该边的索引值”对应的已存储边中是否存在该边的相同边。
沿用上例,假设边【200,300】对应索引值1,且确定边【200,300】的索引值1前,索引值1对应的已存储边有3条,这3条已存储边的实际存储位置分别为下标为1的存储位置、下标为10的存储位置、下标为11的存储位置,从而确定边【200,300】对应的索引值1后,查找索引值1对应的3条已存储边中是否存在边【200,300】的相同边。
实施例一中,对任两条边,只要这两条边具有相同的顶点,就可以认为这两条边相同,而不区分顶点顺序,即对于任意点a和点b,【a,b】和【b,a】为相同边。
S105:(执行主体)若所述索引值对应的已存储边中不存在该边的相同边,则将该边存储到所述边表中;若所述索引值对应的已存储边中存在该边的相同边,则删除该边的相同边与所述索引值的对应关系,并建立该边所属三角面片与所述相同边所属三角面片的拓扑关系。
对任一边,对判断“该边的索引值”对应的已存储边中是否存在该边的相同边的结果分情况说明:
情况一:“该边的索引值”对应的已存储边中不存在该边的相同边
情况一下,可以如上所述,将该边存入边表,并将该边的存储信息作为节点加入“该边的索引值”对应的链表中。
情况二:“该边的索引值”对应的已存储边中存在该边的相同边
情况二下,说明确定该边的索引值前,有某个三角面片包含该边的相同边,该边的所述相同边的索引值与该边相同,实施例一的执行主体已经将该边的所述相同边存储到边表之中。从而该边的相同边所属三角面片与该边所属三角面片以该边(或该边的相同边)为公共边,故实施例一的执行主体建立该边所属三角面片与该边的相同边所属三角面片的拓扑关系。具体的,建立该边所属三角面片与该边的相同边所属三角面片的拓扑关系,可以包括:将该边所属三角面片与所述相同边所属三角面片判定为相邻三角面片,该边为所述相邻三角面片的公共边,即该边所属三角面片与该边的相同边所属三角面片为邻接三角面片。
对任一边(不妨记为边A),假设边A对应索引值z,若索引值z对应的已存储边中存在边A的相同边(不妨记为边A’),也就找到了与边A所属三角面片存在邻接拓扑关系,且以边A(或边A’)为公共边的三角面片。由于两个三角面片之间一般只存在一条公共边,故不存在其他与边A所属三角面片存在邻接拓扑关系,且以边A(或边A’)为公共边的三角面片。也就是说,用于表征三维模型的各三角面片中,仅有一个与边A所属三角面片存在邻接拓扑关系,且以边A(或边A’)为公共边的三角面片。换句话说,仅有边A所属三角面片存在边A,也仅有边A’所属三角面片存在边A’,其他三角面片不存在边A或边A’。这样一来,一方面,将索引值z对应的各已存储边依次与边A比较,只要找到与边A相同的边A’,便无需再比较边A’之后的其他与索引值z对应的已存储边,从而减少边比较次数和边比较范围(或边查找次数和边查找范围,下同);另一方面,实施例一的执行主体可以删除边A’与索引值z的对应关系,后续即使还有边B与边A对应相同的索引值z,由于索引值z与边A’的对应关系已删除,故索引值z对应的已存储边中不包含边A和边A’,判断索引值z对应的已存储边中是否存在边B对应的相同边时,边B也就不需要与边A’相比较,同样减少了边比较的次数和边比较范围。
需要说明的是,由于边表中已存储边A’,故无需再将边A存储到边表中。这样一来,无论是否删除索引值z与边A的对应关系,边A都不会成为索引值z对应的已存储边(因为边A未存储到边表)。后续即使还有边B与边A对应相同的索引值z,边B也就不需要与边A相比较。
另外,删除边A’与索引值z的对应关系可以包括,将边A’的存储信息对应的节点从索引值z对应的链表中删除,从而减少链表节点数。索引值z对应的链表节点更少,则后续对应索引值z的边所需要比较的已存储边更少,这与上述的“减少边比较的次数和边比较范围”呼应。
S103所述内容不妨称为散列操作,S105的上述内容不妨称为存储/拓扑操作。遍历各三角面片的各边,对各边重复执行上述散列操作和存储/拓扑操作,也就可能不断有边存储到边表,也可能不断删除边与其索引值的对应关系,从而不断建立三角面片之间的拓扑关系。对各三角面片的所有边执行上述散列操作和存储/拓扑操作后,可能出现以下情况:
情况三:剩余一条或多条边仍然与一个或多个索引值存在对应关系
情况三下,剩余的这一条或多条边仍然对应有索引值,剩余的这一条或多条边不妨简称“剩余边”。由于各三角面片的所有边已遍历,故剩余边不会再成为其他边的相同边,也就没有其他与剩余边所属三角面片存在拓扑关系,且以剩余边为公共边的三角面片,这说明剩余边是三维模型的边界边,剩余边所属三角面片为边界三角面片。
情况四:没有边与索引值存在对应关系
情况四下,对于任一三角面片的任一条边,都有另一个与该三角面片存在拓扑关系,且以该边为公共边的三角面片。
上述三角面片之间的(邻接)拓扑关系以及边界三角面片都可以称为用于表征三维模型的各三角面片的拓扑关系。
需要特别说明的是,实施例一中,获取用于表征三维模型的各三角面片后,实施例一的执行主体根据三角面片的数量可以估算出各三角面片的边数总和,记为总边数阈值。另外,实施例一的执行主体可以根据三角面片的数量确定索引值阈值,且索引值阈值小于所述总边数阈值。这样一来,后续对任一边,实施例一的执行主体使得该边对应的索引值总小于所述索引值阈值。
对于任一索引值,可能不断有不同或相同的边对应到该索引值,故其对应的链表的节点数可能会增加或减少。若该索引值对应的链表的节点数变为零,表示该索引值未对应任何边,或该索引值先前对应的各边与该索引值的对应关系已删除。不妨将未对应任何边的索引值称为空索引值或索引值为空,将对应有边的索引值称为非空索引值或索引值非空,则在遍历各三角面片的边过程中,可能不断有索引值对应到边或者不断有索引值变为空,即空索引值和非空索引值的数量可能不断变化,从而存在一个非空索引值数量的峰值。实施例一中,只要保证索引值阈值大于非空索引值阈值即可。
实施例一中,根据所述三角面片的数量,确定索引值阈值,可以包括:建立三角面片数量与非空索引值数量峰值的函数关系,根据用于表征任一三维模型的三角面片的数量以及所述函数关系,确定在该三维模型的三角面片数量下的索引值阈值。而后,对于该三维模型的三角面片的任一边,使该边对应的索引值小于该三维模型的三角面片数量下的索引值阈值。
具体的,建立三角面片数量与索引值阈值的函数关系可以包括:获取多个三维样本模型,确定表征各个三维样本模型的三角面片数量下的非空索引值峰值,进而确定三角面片数量与非空索引值数量峰值的函数关系。
实施例一中,三角面片数量与非空索引值数量峰值的函数关系表示为:y=9.2675e-04*x+1.5117e+03(采用了科学记数法);其中,x表示三角面片数量,y表示索引值阈值,y的计算结果取整。例如,若用于表征某三维模型的三角面片数量为1000000,则非空索引值数量峰值仅为2439左右,则索引值阈值可以大于等于2440。可见,索引值阈值只要大于非空索引值峰值,索引值阈值仍可以远小于三角面片数量。为了保证对该三维模型的三角面片的任一边,该边对应的索引值小于索引值阈值,通过散列函数得到该边对应的唯一的整数(即为key)后,可以将该整数与索引值阈值进行求余,即执行key%hash_size,其中hash_size为索引值阈值,取余数作为该边对应的索引值。
实施例一中,为各三角面片的任一边建立索引,对所述任一边,在建立该边索引值后即将该边与其索引值对应的已存储边进行比较。若其索引值对应的已存储边存在该边的相同边,则删除该边的相同边与其索引值的对应关系,建立该边所属三角面片与所述相同边所属三角面片的拓扑关系。这样一来,实现了建立边索引、比较边、删除边索引的同时进行,通过比较对应同一索引值的各边和删除相同边的边索引,一方面建立三角面片之间的拓扑关系,另一方面使得后续各边无需再与已出现的相同边进行比较,能够减少边比较次数和边比较范围以及耗时,提高建立三角面片拓扑关系的效率,节约计算资源,提高计算性能。
实施例一中,各边对应的索引值可以看作索引值表,可以控制对任一边,该边对应的索引值远小于用于表征三维模型的三角面片数量,即索引值表的索引值数量远小于用于表征三维模型的三角面片数量,使得索引值的计算和读取更加轻量化,提高索引值的计算和读取效率,进而提高建立三角面片拓扑关系的效率,节约计算资源,提高计算性能。
经实验,对于不同的三维模型,建立表征三维模型的三角面片之间的拓扑关系所用耗时可以如下表1所示:
表征三维模型的三角面片数量 | 530694 | 2178868 | 2549032 | 5931184 |
建立三角面片拓扑关系耗时 | 15ms | 93ms | 110ms | 296ms |
表1
表1表明,采用实施例一所述方法建立三角面片拓扑关系所用耗时明显少于现有技术所用耗时。
由于实施例一所述方法的边比较次数和边比较范围更小,索引值的计算和读取更加轻量化,故实施例一的执行主体是计算机或其他计算设备的情况下,实施例一所述方法中“对任一所述边,确定该边对应的索引值,判断所述索引值对应的已存储边中是否存在该边的相同边”的过程以及“删除该边的相同边与所述索引值的对应关系”的过程都可以放在计算机的缓存(包括L1、L2、L3级高速缓存)中进行。相比于内存,在缓存中执行上述步骤能够进一步提高计算性能,节约计算资源,减少耗时,有效提高建立三角面片拓扑关系的效率。这是现有技术所不能实现的。
网格编码是三维模型最重要的编码技术之一,近年随着三维重建的不断发展,网格编码成为拯救带宽的重要手段。在网格编码中,建立用于表征三维模型的三角面片之间的拓扑关系极其重要,这不但关系到编码速度的快慢,也关系到编码前后的包括查重、扭方向、分隔合并在内的各种操作。
目前,网格编码的主流开源项目为Google的Draco,其通过建立角表(CornerTable)来确定三角面片之间的拓扑关系,但这种方式下,确定三角面片之间的拓扑关系这一阶段的耗时较长,约占网格编码总耗时的1/3-1/4。
本说明书第二个实施例(以下简称“实施例二”)提供了一种数据处理方法,实施例二的执行主体可以是终端(包括但不限于手机、计算机、pad、电视)或者服务器或者操作系统或者应用程序或者数据处理平台或者数据处理系统等,即执行主体可以是多种多样的,可以根据需要设置、使用或者变换执行主体。另外,也可以有第三方应用程序协助所述执行主体执行实施例二。例如图1所示,可以由服务器来执行实施例二中的数据处理方法,并且可以在(用户所持有的)终端上安装(与所述服务器)相对应的应用程序,终端或应用程序与服务器之间可以进行数据传输,通过终端或应用程序来进行数据的采集或输入或输出或(向用户)进行页面或信息处理,从而辅助服务器执行实施例二中的数据处理方法。
如图5所示,实施例二提供的数据处理方法包括:
S202:(执行主体)根据实施例一所述方法,确定用于表征三维模型的各三角面片的拓扑关系;
详见实施例一。
S204:(执行主体)根据所述拓扑关系对所述各三角面片进行编码。
其中,根据所述拓扑关系对所述各三角面片进行编码包括:
S2042:以任一三角面片为初始三角面片,按照所述拓扑关系将相邻三角面片通过公共边进行连接,以便从所述初始三角面片开始进行区域扩张;
具体的,建立三角面片的拓扑关系后,可以选择任一三角面片为初始三角面片,并将初始三角面片称为首层三角面片;例如图6中,三角面片F0可以作为初始三角面片;图6中,V0至V9代表点,e0至e7代表边;
根据拓扑关系找到与首层三角面片具有邻接拓扑关系的三角面片,与首层三角面片具有邻接拓扑关系的三角面片可以称为第二层三角面片;例如图6中,F1至F3与F0具有邻接拓扑关系,F1至F3可以作为第二层三角面片;
根据拓扑关系找到与第二层三角面片具有邻接拓扑关系的三角面片,与第二层三角面片具有邻接拓扑关系的三角面片可以称为第三层三角面片;例如图6中,F4、F5与F1具有邻接拓扑关系,F6、F7与F3具有邻接拓扑关系,F4至F7可以作为第三层三角面片;
以此类推,从初始三角面片开始进行一层一层的区域扩张,直至遍历所有三角面片。
S2044:从所述初始三角面片开始,按照区域扩张顺序对各三角面片进行编码;
具体的,确定首层三角面片后,可以对首层三角面片进行编码;
确定第二层三角面片后,可以对第二层三角面片进行编码;
确定第三层三角面片后,可以对第三层三角面片进行编码;
以此类推,按照三角面片的区域扩张顺序(即三角面片编码顺序)对各三角面片进行编码。
需要说明的是,S2042和S2044无绝对先后顺序,可以先做三角面片的区域扩张,确定各层三角面片,再按照区域扩张顺序对各三角面片进行编码;也可以每确定一层三角面片,即对新确定的该层三角面片进行编码。
通过三角面片编码,从而实现网格编码。
实施例二中,在高效建立三角面片拓扑关系的基础上,有利于提高基于三角面片拓扑关系对三角面片进行编码的效率。特别是能够快速确定三角面片编码顺序,从而提高三角面片编码效率。
如图7所示,本说明书第三个实施例提供了与实施例一所述方法对应的一种数据处理装置,包括:
建表模块301,用于获取用于表征三维模型的各三角面片,构建用于存储所述三角面片的边的边表;
索引模块303,用于对任一所述边,确定该边对应的索引值,判断所述索引值对应的已存储边中是否存在该边的相同边;其中,所述已存储边存储在所述边表中;
分析模块305,用于若所述索引值对应的已存储边中不存在该边的相同边,则将该边存储到所述边表中;若所述索引值对应的已存储边中存在该边的相同边,则删除该边的相同边与所述索引值的对应关系,并建立该边所属三角面片与所述相同边所属三角面片的拓扑关系。
可选的,所述边表包含有预设数量个存储位置,将该边存储到所述边表中包括:
确定所述边表中与所述索引值对应的第一存储位置,判断所述第一存储位置是否已存储有边;
若否,则将该边存储在所述第一存储位置;
若是,则将该边存储在所述边表中除所述第一存储位置之外的,未存储有边的存储位置。
可选的,将该边存储在所述边表中除所述第一存储位置之外的,未存储有边的存储位置,包括:
从所述第一存储位置开始,按照存储位置序号依次查找所述第一存储位置之后的各存储位置,并将该边存储在查找到的第一个未存储边的存储位置。
可选的,所述分析模块305,还用于遍历所述各三角面片的边后,将所述边表存储的边中,仍对应有索引值的边作为所述三维模型的边界边。
可选的,对任一所述边,该边对应的索引值小于所述三角面片集合的总边数阈值。
可选的,所述索引模块303,还用于对任一所述边,确定该边对应的索引值前,根据所述三角面片的数量,确定索引值阈值,以使对任一所述边,该边对应的索引值小于索引值阈值;其中,所述索引值阈值小于所述各三角面片的总边数阈值。
可选的,根据所述三角面片的数量,确定索引值阈值,包括:
建立三角面片数量与非空索引值数量峰值的函数关系,根据用于表征三维模型的三角面片的数量以及所述函数关系,确定所述索引值阈值;其中,所述非空索引值指对应有边的索引值。
可选的,对任一所述边,确定该边对应的索引值,包括:
对任一所述边,根据散列函数确定该边对应的索引值。
可选的,建立该边所属三角面片与所述相同边所属三角面片的拓扑关系,包括:
将该边所属三角面片与所述相同边所属三角面片判定为相邻三角面片,该边为所述相邻三角面片的公共边。
可选的,所述索引模块303在缓存中执行:对任一所述边,确定该边对应的索引值,判断所述索引值对应的已存储边中是否存在该边的相同边。
如图8所示,本说明书第四个实施例提供了与实施例二所述方法对应的一种数据处理装置,包括:
拓扑模块402,用于根据实施例一所述方法,确定用于表征三维模型的各三角面片的拓扑关系;
编码模块404,用于根据所述拓扑关系对所述各三角面片进行编码。
可选的,根据所述拓扑关系对所述各三角面片进行编码包括:
以任一三角面片为初始三角面片,按照所述拓扑关系将相邻三角面片通过公共边进行连接,以便从所述初始三角面片开始进行区域扩张,并从所述初始三角面片开始,按照区域扩张顺序对各三角面片进行编码。
本说明书第五个实施例提供一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行实施例一或实施例二所述的数据处理方法。
本说明书第六个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现实施例一或实施例二所述的数据处理方法。
上述各实施例可以结合使用,不同实施例之间或同一实施例内的名称相同的模块可以是相同或不同的模块。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种数据处理方法,其特征是,包括:
获取用于表征三维模型的各三角面片,构建用于存储所述三角面片的边的边表;
对任一所述边,确定该边对应的索引值,判断所述索引值对应的已存储边中是否存在该边的相同边;其中,所述已存储边存储在所述边表中;
若否,则将该边存储到所述边表中;
若是,则删除该边的相同边与所述索引值的对应关系,并建立该边所属三角面片与所述相同边所属三角面片的拓扑关系;
对任一所述边,确定该边对应的索引值前,所述方法还包括:
建立三角面片数量与非空索引值数量峰值的函数关系,根据用于表征三维模型的三角面片的数量以及所述函数关系,确定索引值阈值,以使对任一所述边,该边对应的索引值小于索引值阈值;其中,所述非空索引值指对应有边的索引值;所述索引值阈值小于所述各三角面片的总边数阈值,所述索引值阈值大于所述非空索引值数量峰值;
其中,三角面片数量与非空索引值数量峰值的函数关系表示为:y=9.2675e-04*x+1.5117e+03;x表示三角面片数量,y表示非空索引值数量峰值,y的计算结果取整。
2.如权利要求1所述的方法,其特征是,所述边表包含有预设数量个存储位置,将该边存储到所述边表中包括:
确定所述边表中与所述索引值对应的第一存储位置,判断所述第一存储位置是否已存储有边;
若否,则将该边存储在所述第一存储位置;
若是,则将该边存储在所述边表中除所述第一存储位置之外的,未存储有边的存储位置。
3.如权利要求1所述的方法,其特征是,对任一所述边,该边对应的索引值小于所述三角面片集合的总边数阈值;
和/或,
对任一所述边,确定该边对应的索引值,包括:对任一所述边,根据散列函数确定该边对应的索引值;
和/或,
建立该边所属三角面片与所述相同边所属三角面片的拓扑关系,包括:将该边所属三角面片与所述相同边所属三角面片判定为相邻三角面片,该边为所述相邻三角面片的公共边;
和/或,
所述方法还包括:遍历所述各三角面片的边后,将所述边表存储的边中,仍对应有索引值的边作为所述三维模型的边界边。
4.一种数据处理方法,其特征是,包括:
根据权利要求1至3中任一项所述方法,确定用于表征三维模型的各三角面片的拓扑关系;
根据所述拓扑关系对所述各三角面片进行编码。
5.如权利要求4所述的方法,其特征是,根据所述拓扑关系对所述各三角面片进行编码包括:
以任一三角面片为初始三角面片,按照所述拓扑关系将相邻三角面片通过公共边进行连接,以便从所述初始三角面片开始进行区域扩张,并从所述初始三角面片开始,按照区域扩张顺序对各三角面片进行编码。
6.一种数据处理装置,其特征是,包括:
建表模块,用于获取用于表征三维模型的各三角面片,构建用于存储所述三角面片的边的边表;
索引模块,用于对任一所述边,确定该边对应的索引值,判断所述索引值对应的已存储边中是否存在该边的相同边;其中,所述已存储边存储在所述边表中;
分析模块,用于若所述索引值对应的已存储边中不存在该边的相同边,则将该边存储到所述边表中;若所述索引值对应的已存储边中存在该边的相同边,则删除该边的相同边与所述索引值的对应关系,并建立该边所属三角面片与所述相同边所属三角面片的拓扑关系;
所述索引模块,还用于对任一所述边,确定该边对应的索引值前,根据所述三角面片的数量,确定索引值阈值,以使对任一所述边,该边对应的索引值小于索引值阈值;其中,所述索引值阈值小于所述各三角面片的总边数阈值;
其中,根据所述三角面片的数量,确定索引值阈值,包括:
建立三角面片数量与非空索引值数量峰值的函数关系,根据用于表征三维模型的三角面片的数量以及所述函数关系,确定所述索引值阈值;所述非空索引值指对应有边的索引值;
其中,三角面片数量与非空索引值数量峰值的函数关系表示为:y=9.2675e-04*x+1.5117e+03;x表示三角面片数量,y表示非空索引值数量峰值,y的计算结果取整。
7.一种数据处理装置,其特征是,包括:
拓扑模块,用于根据权利要求1至3中任一项所述方法,确定用于表征三维模型的各三角面片的拓扑关系;
编码模块,用于根据所述拓扑关系对所述各三角面片进行编码。
8.一种数据处理设备,其特征是,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行权利要求1至5中任一项所述方法。
9.一种计算机可读存储介质,其特征是,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现权利要求1至5中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111208256.8A CN113656414B (zh) | 2021-10-18 | 2021-10-18 | 一种数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111208256.8A CN113656414B (zh) | 2021-10-18 | 2021-10-18 | 一种数据处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113656414A CN113656414A (zh) | 2021-11-16 |
CN113656414B true CN113656414B (zh) | 2022-02-15 |
Family
ID=78494606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111208256.8A Active CN113656414B (zh) | 2021-10-18 | 2021-10-18 | 一种数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656414B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970949B (zh) * | 2014-05-05 | 2017-04-05 | 华侨大学 | 一种快速成型中三角面片模型的逐边分层方法 |
JP6613727B2 (ja) * | 2015-08-28 | 2019-12-04 | 大日本印刷株式会社 | 立体物造形用データ削減装置 |
CN112439601B (zh) * | 2020-11-10 | 2021-08-06 | 东南大学 | 一种面向大型船舶外立面的喷涂机器人自动轨迹规划方法 |
-
2021
- 2021-10-18 CN CN202111208256.8A patent/CN113656414B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113656414A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038206B (zh) | Lsm树的建立方法、lsm树的数据读取方法和服务器 | |
CN107957989B (zh) | 基于集群的词向量处理方法、装置以及设备 | |
CN107622080B (zh) | 一种数据处理方法及设备 | |
WO2019091085A1 (zh) | 一种快照比对的方法和装置 | |
CN106469120A (zh) | 碎片整理方法、装置及设备 | |
CN105989015B (zh) | 一种数据库扩容方法和装置以及访问数据库的方法和装置 | |
CN109918658A (zh) | 一种从文本中获取目标词汇的方法及系统 | |
CN107451204B (zh) | 一种数据查询方法、装置及设备 | |
WO2024078122A1 (zh) | 数据库表扫描的方法、装置以及设备 | |
CN113656414B (zh) | 一种数据处理方法、装置、设备及介质 | |
CN110515897B (zh) | Lsm存储系统读性能的优化方法及系统 | |
CN113641872B (zh) | 一种散列方法、装置、设备及介质 | |
JP7044118B2 (ja) | 並列ユニオン制御装置、並列ユニオン制御方法、および並列ユニオン制御用プログラム | |
CN110019295B (zh) | 数据库检索方法、装置、系统以及存储介质 | |
CN112434035B (zh) | 基于机器学习的并发哈希索引数据结构的索引方法及系统 | |
KR102354343B1 (ko) | 블록체인 기반의 지리공간 데이터를 위한 공간 데이터 인덱싱 방법 및 장치 | |
CN113641871B (zh) | 一种无锁散列方法、装置、设备及介质 | |
CN110377601B (zh) | 一种基于B树数据结构的MapReduce计算过程优化方法 | |
CN113626650A (zh) | 业务处理方法、装置和电子设备 | |
CN109325127B (zh) | 一种风险识别方法和装置 | |
CN117369731B (zh) | 一种数据的缩减处理方法、装置、设备及介质 | |
CN116340469B (zh) | 一种同义词挖掘方法、装置、存储介质及电子设备 | |
CN115905569B (zh) | 一种基于节点自适应的小样本知识图谱补全方法和装置 | |
CN105302495B (zh) | 数据存储方法及装置 | |
CN114429116A (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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Qu Tan Inventor after: Huang Fupeng Inventor after: Guo Li Inventor after: Li Yuxin Inventor before: Huang Fupeng Inventor before: Qu Tan Inventor before: Guo Li Inventor before: Li Yuxin |