一种Neo4j向关系型数据库的模型转换和数据迁移方法

文档序号:10553019阅读:509来源:国知局
一种Neo4j向关系型数据库的模型转换和数据迁移方法
【专利摘要】本发明公开了一种Neo4j向关系型数据库的模型转换和数据迁移方法,包括如下步骤:S1:提取Neo4j的概念模型;S2:用户筛选需要进行转换的标签实体和关系实体;S3:查找所有包含属性的关系实体,并将所述包含属性的关系实体全部转换成关系型数据库概念模型中的表;S4:将需要进行转换的所有标签实体转换成关系型数据库概念模型中的表;S5:建立表达关系型数据库概念模型中各个表之间的关系属性;S6:建成完整的关系型数据库的概念模型;S7:进行数据迁移。本发明利用模型转换的方法解决了Neo4j向关系型数据库数据迁移的问题,同时使数据迁移更加准确,并且更加容易操作。
【专利说明】
一种Neo4_j向关系型数据库的模型转换和数据迁移方法
技术领域
[0001]本发明涉及计算机数据库技术领域,尤其涉及一种Neo4j向关系型数据库的模型转换和数据迀移方法。
【背景技术】
[0002]在数据建模领域早期一共有两大主要的流派,一个是关系模型,逐渐演化成了关系型数据库;另一个是语义网络采用的网络结构,现在演化成了非关系数据中的图形数据库。在图形数据库最为流行、最具代表的数据库是Neo4j。
[0003]Neo4j是一款高性能的、世界领先的图形数据库,具有灵活的结构和完备的事务特性。Neo4j与关系型数据库相比各有优劣。Neo4j的优点在于其把所有的数据保存在了网络中而不是关系型数据库中的表的形式,因此具有良好的查询速度,特别适合运用于社交网络、买卖网络等关系的表达。目前包括Facebook、阿里巴巴、百度等许多大公司都在使用Neo4j0
[0004]从目前来看,随着大数据时代的到来,很多应用面临着检索速度、数据存储等问题。很多用户选择使用Neo4j,利用网络存储的优势提高查询的性能,同时提供更加灵活的存储。同时,也存在一些应用为了保证数据的ACID特性需要将Neo4j中的数据导入到关系型数据库中,关系型数据库具有数据结构化,模型易于理解,数据容易维护,数据完整,操作相对方便。目前比较常见的做法是直接利用ETL工具进行数据迀移,这种情况下缺少可视化的展现,无法实现优的性能,数据迀移容易发生误差,并且不易操作。

【发明内容】

[0005]本发明的目的之一在于提供一种Neo4j向关系型数据库的模型转换和数据迀移方法,以解决现有数据迀移方法无法实现优的性能,缺少可视化的展现,数据迀移容易发生误差,并且不易操作的问题。
[0006]本发明的发明目的是通过下述技术方案来实现的:
[0007]本发明所述的一种Neo4j向关系型数据库的模型转换和数据迀移方法,包括如下步骤:
[0008]步骤SI:提取Neo4 j的概念模型;
[0009]步骤S2:从步骤SI中得到的Neo4j的概念模型中筛选需要进行转换的标签实体和关系实体;
[0010]步骤S3:从步骤S2中筛选得到的需要进行转换的关系实体中查找包含属性的关系实体,并将所述包含属性的关系实体转换成关系型数据库概念模型中的表;
[0011]步骤S4:将步骤S2中筛选得到的需要进行转换的标签实体转换成关系型数据库概念模型中的表;
[0012]步骤S5:建立表达步骤S3和步骤S4得到的关系型数据库概念模型中各个表之间的关系属性;
[0013]步骤S6:根据步骤S3和步骤S4得到的表和步骤S5建立的各个表之间的关系属性组建成完整的关系型数据库的概念模型;
[0014]步骤S7:根据步骤S6组建成的完整的关系型数据库的概念模型进行数据迀移。
[0015]进一步的,所述步骤S1:提取Neo4j的概念模型的步骤,包括如下步骤:
[0016]步骤S1.1:调用Neo4j的API(应用程序编程接口)得到Neo4j中所有的标签;
[0017]步骤S1.2:将步骤S1.1中得到的标签中相同的标签归为同种类型的标签,针对每一种类型的标签遍历其节点,同时遍历节点的属性,最终得到关于每种类型标签的属性全集;
[0018]步骤S1.3:根据步骤S1.1中得到的标签,调用Neo4j的API得到Neo4j中的关系;
[0019]步骤S1.4:将步骤S1.3中得到的关系中相同的关系归为同种类型的关系,遍历每一种类型关系的所有属性,得到关于每种类型的关系的属性全集;
[0020]步骤S1.5:将步骤S1.2中得到的每种类型的标签转换为概念模型中的标签实体,再将步骤S1.2中得到的每种类型标签的属性全集转换为概念模型中标签实体的属性;
[0021]步骤S1.6:将步骤S1.4中得到的每种类型的关系转换为概念模型中的关系实体,将步骤S1.4中得到的每种类型的关系的属性全集转换为关系实体的属性。
[0022]进一步的,所述步骤S1.5中还包括:在概念模型中标签实体的属性中添加Neo4j自带的ID(身份标识号码)属性。
[0023]进一步的,所述步骤S1.6中还包括:在概念模型中的关系实体的属性中添加用于表示Neo4j中关系方向的起始ID属性和目的ID属性。
[0024]进一步的,所述步骤S3中:将所述包含属性的关系实体转换成关系型数据库概念模型中的表,具体包括如下步骤:
[0025]步骤S3.1:将所述包含属性的关系实体名转换为关系型数据库概念模型中的表的标题名;
[0026]步骤S3.2:将所述包含属性的关系实体的属性转换为关系型数据库概念模型中的表的属性;
[0027]步骤S3.2:将所述包含属性的关系实体的起始ID属性和目的ID属性转换为关系型数据库概念模型中表中的起始ID属性和目的ID属性。
[0028]进一步的,所述步骤S4:将步骤S2中筛选得到的需要进行转换的标签实体转换成关系型数据库概念模型中的表,具体包括如下步骤:
[0029]步骤S4.1:将所述需要进行转换的标签实体名转换为关系型数据库概念模型中的表的标题名;
[0030]步骤S4.2:将所述需要进行转换的标签实体的属性转换为关系型数据库概念模型中的表的属性;
[0031 ]步骤S4.3:将所述需要进行转换的标签实体的ID属性转换为关系型数据库概念模型中的表中的ID属性。
[0032]进一步的,所述步骤S5:建立表达步骤S3和步骤S4得到的关系型数据库概念模型中各个表之间的关系属性的步骤,具体包括如下步骤:
[0033]步骤S5.1:从步骤S2中筛选得到的需要进行转换的关系实体中查找所有不带属性的关系实体,将不带属性的关系实体中箭头指向的标签实体转换后对应的表上添加一个表达外键的属性;
[0034]步骤S5.2:建立关系型数据库概念模型中所有表的主外键关系。
[0035]进一步的,所述步骤S5.1中所述的表达外键的属性包括所述不带属性的关系实体中箭头起始端的标签实体名和所述不带属性的关系实体名。
[0036]进一步的,所述步骤S7:根据步骤S6组建成的完整的关系型数据库的概念模型进行数据迀移的步骤,具体包括:
[0037]将步骤SI中得到的Neo4j的概念模型指定为原数据的位置,将步骤S6中组建成的完整的关系型数据库的概念模型指定为目标数据的位置,通过ETL工具进行数据迀移。
[0038]本发明的有益效果:本发明利用模型转换的方法解决了Neo4j向关系型数据库数据迀移的问题,同时使数据迀移更加准确,并且更加容易操作。
【附图说明】
[0039]图1为本发明所述的Neo4j向关系型数据库的模型转换和数据迀移方法的流程图。
[0040]图2为本发明所述的提取Neo4j的概念模型的流程图。
[0041]图3为本发明所述的Neo4j中包含的四个基本元素之间的关联示意图。
[0042]图4为本发明实施例1中提出的Neo4j中节点和关系的关联图。
[0043]图5为本发明实施例1中提取得到的Neo4j的ER图型概念模型。
[0044]图6为本发明实施例2中提出的Neo4j的ER图型概念模型。
[0045]图7为本发明实施例2中转换后的关系型数据库ER图型概念模型。
【具体实施方式】
[0046]下文将结合【具体实施方式】详细描述本发明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。
[0047]如图1所示,本发明所述的一种Neo4j向关系型数据库的模型转换和数据迀移方法,包括如下步骤:
[0048]步骤S1:提取Neo4j的概念模型。该概念模型通过ER图中的实体和属性进行表示。
[0049]Neo4j包含的四个基本元素为:
[0050]1.节点(Nodes):Neo4j把数据存储在节点和关系上,这两者都可以包含属性;
[0051 ] 2.关系(ReIat1nships):在Neo4j中通过关系连接的方式把所有的节点组织起来,一个关系有一个开始节点和一个结束节点(即有向图),关系也可以包含属性;
[0052]3.属性(Properties):节点和关系都可以包含属性,这里的属性和ER图中的属性可以理解为相同的概念;
[0053]4.标签(Labels):标签为节点分配了类型或者角色。类似于关系型数据库的表(Tables)的概念,比如关系型数据库中的学生表、老师表分别对应了 Neo4j中的学生标签和老师标签。
[0054]为使更好地理解Neo4j包含的四个基本元素之间的关系,现举例说明:
[0055]如图3所示,其中A?D代表四个节点,Rl?R4代表关系,Pl?PlO代表属性,其中Pl?P6是节点上的属性,P7?PlO是关系上的属性。可以看出节点和属性,关系和属性都是通过一个Key-Value的双向列表来保存的。对于一个节点而言,节点和关系也是通过一个Key-Value的双向列表来保存的,比如A节点相关的Rl、R2、R3之间是双向列表保存的,C节点相关的Rl和R3之间是双向列表保存的。这样的底层存储使得Neo4j具有很快的遍历和查询速度。
[0056]通过Neo4j的四个基本元素和对整个网络的遍历操作,本发明提出了一种提取Neo4j的概念模型方法。如图2所示,具体的提取方法如下:
[0057]步骤S1.1:调用Neo4j的API得到Neo4j中所有的标签;
[0058]步骤S1.2:将步骤S1.1中得到的标签中相同的标签归为同种类型的标签,针对每一种类型的标签遍历其所有节点,同时遍历所有节点的所有属性,最终得到关于所有类型标签的属性全集;
[0059]步骤S1.3:根据步骤S1.1中得到的标签,调用Neo4j的API得到Neo4 j中所有的关系;
[0060]步骤S1.4:将步骤S1.3中得到的关系中相同的关系归为同种类型的关系,遍历每一种类型关系的所有属性,得到关于所有类型的关系的属性全集;
[0061 ]步骤S1.5:将步骤S1.2中得到的所有的标签转换为概念模型中的标签实体,再将步骤S1.2中得到的所有类型标签的属性全集转换为概念模型中标签实体的属性,同时在标签实体的属性中添加一个Neo4j自带的ID属性;
[0062]步骤S1.6:将步骤S1.4中得到的所有类型的关系转换为概念模型中的关系实体,将步骤S1.4中得到的所有类型的关系的属性全集转换为关系实体的属性;同时在关系实体属性中添加用于表示Neo4j中关系方向的起始ID和目的ID这个两个属性。起始ID和目的ID的这两个属性值就是Neo4j自带的用于唯一区分的ID。
[0063]步骤S2:用户从步骤SI中得到的Neo4j的概念模型中筛选需要进行转换的标签实体和关系实体,及其对应的属性。该步骤相当于一个数据库的设计过程。
[0064]步骤S3:从步骤S2中筛选得到的需要进行转换的关系实体中查找所有包含属性的关系实体,并将所述包含属性的关系实体全部转换成关系型数据库概念模型中的表。步骤S3中:将所述包含属性的关系实体转换成关系型数据库概念模型中的表,具体包括如下步骤:
[0065]步骤S3.1:将所述包含属性的关系实体名转换为关系型数据库概念模型中的表的标题名;
[0066]步骤S3.2:将所述包含属性的关系实体的属性转换为关系型数据库概念模型中的表的属性;
[0067]步骤S3.2:将所述包含属性的关系实体的起始ID属性和目的ID属性转换为关系型数据库概念模型中的表中的起始ID属性和目的ID属性。
[0068]步骤S4:将步骤S2中筛选得到的需要进行转换的所有标签实体转换成关系型数据库概念模型中的表。该步骤中具体包括如下步骤:
[0069]步骤S4.1:将所述需要进行转换的标签实体名转换为关系型数据库概念模型中的表的标题名;
[0070]步骤S4.2:将所述需要进行转换的标签实体的属性转换为关系型数据库概念模型中的表的属性;
[0071 ]步骤S4.3:将所述需要进行转换的标签实体的ID属性转换为关系型数据库概念模型中的表中的ID属性。
[0072]步骤S5:建立表达步骤S3和步骤S4得到的关系型数据库概念模型中各个表之间的关系属性的步骤,该步骤具体包括如下步骤:
[0073]步骤S5.1:从步骤S2中筛选得到的需要进行转换的关系实体中查找所有不带属性的关系实体,将不带属性的关系实体中箭头指向的标签实体转换后对应的表上添加一个表达外键的属性。表达外键的属性包括所述不带属性的关系实体中箭头起始端的标签实体名和所述不带属性的关系实体名。
[0074]步骤S5.2:建立关系型数据库概念模型中所有表的主外键关系。
[0075]步骤S6:根据步骤S3和步骤S4得到的表和步骤S5建立的各个表的关系属性组建成完整的关系型数据库的概念模型。
[0076]步骤S7:根据步骤S6组建成的完整的关系型数据库的概念模型进行数据迀移。具体步骤为:将步骤SI中得到的Neo4j的概念模型指定为原数据的位置,将步骤S6中组建成的完整的关系型数据库的概念模型指定为目标数据的位置,通过ETL工具进行数据迀移。
[0077]Neo4j向关系型数据库的模型转换其本质上是数据库中表的设计和建立的过程,具体的数据还保存在Neo4j中。本发明利用MetaModel进行数据迀移操作,MetaModel是一个Apache基金会的正式项目。其目的是开发一套对关系型数据库和非关系型数据库通用的,面向Java的CRUD接口。参照各种关系型数据库的java接口,MoetaModel设计了一套基于SQL语言的Java接口。通过使用该接口,用户可以通过同样的Java API对包括Oracle、SQLserver、MySQL在内的关系型数据库和包括MongoDB、HBase、Cassandra在内的非关系型数据库进行CRUD操作。
[0078]实施例1
[0079]现举例说明上述步骤SI中Neo4j的概念模型提取方法:
[0080]如图4所示,图中有3个节点,分别为Sally、John、NW,其中Sally、John的标签为Person,NW的标签为Book。例子中有3个关系,其中Per son之间有Fri end_0f关系,Person和Book之间有Has_Read关系。节点和关系都包含一些属性。可以看出每一个节点相当于关系型数据库的一条记录,每一个标签相当于关系型数据库的一个表,虽然每个节点可能有很多种关联的关系,但是可以按照节点的标签来分类。
[0081 ] 步骤a:首先调用NeohI^API,得到Neo4j中所有的标签,分别为Person和Book。
[0082]步骤b:对于Person标签,遍历SalIy和John这两个节点,然后遍历Sally、John的所有属性得到一个属性全集。例如Sal Iy节点包含了Name、Sex的属性,John节点包含了Name、Age的属性,那么最终得到的属性全集为{Name、Sex、Age};同理,可得到Book标签对应的属性全集为{Title、Authors}。
[0083]步骤c:调用Neo4j的API得到Neo4j中所有类型的关系,分别为Friend_0f关系和Has_Read关系。
[0084]步骤d:遍历Friend_0f关系和Has_Read关系的所有属性,对于Friend_0f关系得到的属性全集是{Since},对于Has_Read关系得到的属性全集是{Rateing、0n}。
[0085]步骤e:将Person和Book标签转变为ER图型概念模型中的标签实体,即图5中带有小标Label的Person实体和Book实体;并将步骤b中得到的Person和Book标签的属性全集转换为概念模型中Person和Book实体的属性;同时在所有实体的属性上添加一个Neo4j自带的ID属性。
[0086]步骤f:将Friend_0f关系和Has_Read关系转变为ER图型概念模型中的关系实体,即图5中带有小标1^1&1:;[0118111口的?1^611(1_0;1^实体和]^8_1?6&(1实体;并将步骤d中得到的Friend_0f关系和Has_Read关系的属性全集分别转换为Friend_0f实体和Has_Read实体的属性;同时分别在Friend_0f实体和Has_Read实体的属性中添加用于表示Neo4 j中关系方向的起始ID(FormID)和目的ID(ToID)这个两个属性。
[0087]ER图型概念模型中实体之间的连线是根据Neo4j中关系的方向来得到的,例如在图5中Has_Read关系都是从Person节点指向Book节点,Friend_0f关系都是从Person节点指向Person节点,所以变成概念模型之后还是保留这样的方向。
[0088]实施例2
[0089]现举例说明Neo4j向关系型数据库的模型转换方法,具体方法如下:
[0090]步骤1:利用上述方法提取Neo4j的概念模型,得到如图6所示的ER图型概念模型。其中包括带有小标Label的Person实体和Book实体的标签实体,带有小标Relat1nship的Friend_0f实体、Has_Read实体和Has_Write实体的关系实体;其中Friend_0f实体和Has_Read实体为包含有属性的关系实体,Has_Write实体为不包含属性的关系实体。
[0091 ]步骤Π:选择对提取的Neo4j的ER图型概念模型中的全部实体和属性进行转换。
[0092]步骤ΙΠ:将Neo4j的ER图型概念模型中包含属性的Friend_0f实体和Has_Read实体转换成关系型数据库ER图型概念模型中的表(Tables),即如图7所示的带有小标Tables的Friend_0f 表和Has_Read表。其中Friend_0f 和 Has_Read 分别为Friend_0f 表和 Has_Read 表的标题名。实体中的属性也对应着转换为表的属性。
[0093]步骤IV:将Neo4j的ER图型概念模型中的Person实体和Book实体转换成关系型数据库概念模型中的表,即如图7所示的带有小标Tables的Person表和Book表;Person和Book分别为Person表和Book表的标题名。实体中的属性也对应着转换为表的属性。
[0094]步骤V:如图7所示,将Neo4j的ER图型概念模型中不包含属性的Has_Write实体箭头指向的Book实体转换后对应的Book表上添加一个表达外键的Person_Has_Write属性。
[0095]步骤V1:如图7所示,根据Neo4j的ER图型概念模型的关系实体属性中的起始ID(FormID)和目的ID(ToID)建立关系型数据库概念模型中Person表、Book表、Friend_0f表和Has_Read表的主外键关系表。如图5中的左上角表示主外键关系的PK_FK表中,ID(Person)是指用Person表中的ID为主键,FormID(Friend_of)表示Friend_of表中的FormID为外键。
[0096]本发明具有的优势如下:
[0097](I)本发明提出了一种Neo4j向关系型数据库模型转换和数据迀移方法,通过模型转换的方法实现了更加简便、科学、直观的数据迀移;
[0098](2)本发明提出了一种关于Neo4j的概念模型的表示形式和提取方法;
[0099](3)本发明在模型转换的基础上自动实现了MetaModel的相关接口,能够使数据从Neo4 j向关系型数据库进行自动迀移,不需要人工参与。
[0100]当然应意识到,虽然通过本发明的示例已经进行了前面的描述,但是对本发明做出的将对本领域的技术人员显而易见的这样和其他的改进及改变应认为落入如本文提出的本发明宽广范围内。因此,尽管本发明已经参照了优选的实施方式进行描述,但是,其意并不是使具新颖性的设备由此而受到限制,相反,其旨在包括符合上述公开部分、权利要求的广阔范围之内的各种改进和等同修改。
【主权项】
1.一种Neo4j向关系型数据库的模型转换和数据迀移方法,其特征在于,包括如下步骤: 步骤SI:提取Neo4 j的概念模型; 步骤S2:从步骤SI中得到的Neo4j的概念模型中筛选需要进行转换的标签实体和关系实体; 步骤S3:从步骤S2中筛选得到的需要进行转换的关系实体中查找包含属性的关系实体,并将所述包含属性的关系实体转换成关系型数据库概念模型中的表; 步骤S4:将步骤S2中筛选得到的需要进行转换的标签实体转换成关系型数据库概念模型中的表; 步骤S5:建立表达步骤S3和步骤S4得到的关系型数据库概念模型中各个表之间的关系属性; 步骤S6:根据步骤S3和步骤S4得到的表和步骤S5建立的各个表之间的关系属性组建成完整的关系型数据库的概念模型; 步骤S7:根据步骤S6组建成的完整的关系型数据库的概念模型进行数据迀移。2.如权利要求1所述的一种Neo4j向关系型数据库的模型转换和数据迀移方法,其特征在于,所述步骤S1:提取Neo4j的概念模型的步骤,包括如下步骤: 步骤S1.1:调用Neo4j的API得到Neo4j中所有的标签; 步骤S1.2:将步骤S1.1中得到的标签中相同的标签归为同种类型的标签,针对每一种类型的标签遍历其节点,同时遍历节点的属性,最终得到关于每种类型标签的属性全集;步骤S1.3:根据步骤S1.1中得到的标签,调用Neo4j的API得到Neo4j中的关系; 步骤S1.4:将步骤S1.3中得到的关系中相同的关系归为同种类型的关系,遍历每一种类型关系的所有属性,得到关于每种类型的关系的属性全集; 步骤S1.5:将步骤S1.2中得到的每种类型的标签转换为概念模型中的标签实体,再将步骤S1.2中得到的每种类型标签的属性全集转换为概念模型中标签实体的属性; 步骤S1.6:将步骤S1.4中得到的每种类型的关系转换为概念模型中的关系实体,将步骤S1.4中得到的每种类型的关系的属性全集转换为关系实体的属性。3.如权利要求2所述的一种Neo4j向关系型数据库的模型转换和数据迀移方法,其特征在于,所述步骤S1.5中还包括:在概念模型中标签实体的属性中添加Neo4 j自带的ID属性。4.如权利要求3所述的一种Neo4j向关系型数据库的模型转换和数据迀移方法,其特征在于,所述步骤S1.6中还包括:在概念模型中的关系实体的属性中添加用于表示Neo4j中关系方向的起始ID属性和目的ID属性。5.如权利要求4所述的一种Neo4j向关系型数据库的模型转换和数据迀移方法,其特征在于,所述步骤S3中:将所述包含属性的关系实体转换成关系型数据库概念模型中的表,具体包括如下步骤: 步骤S3.1:将所述包含属性的关系实体名转换为关系型数据库概念模型中的表的标题名; 步骤S3.2:将所述包含属性的关系实体的属性转换为关系型数据库概念模型中的表的属性; 步骤S3.2:将所述包含属性的关系实体的起始ID属性和目的ID属性转换为关系型数据库概念模型中表中的起始ID属性和目的ID属性。6.如权利要求4所述的一种Neo4j向关系型数据库的模型转换和数据迀移方法,其特征在于,所述步骤S4:将步骤S2中筛选得到的需要进行转换的标签实体转换成关系型数据库概念模型中的表,具体包括如下步骤: 步骤S4.1:将所述需要进行转换的标签实体名转换为关系型数据库概念模型中的表的标题名; 步骤S4.2:将所述需要进行转换的标签实体的属性转换为关系型数据库概念模型中的表的属性; 步骤S4.3:将所述需要进行转换的标签实体的ID属性转换为关系型数据库概念模型中的表中的ID属性。7.如权利要求1所述的一种Neo4j向关系型数据库的模型转换和数据迀移方法,其特征在于,所述步骤S5:建立表达步骤S3和步骤S4得到的关系型数据库概念模型中各个表之间的关系属性的步骤,具体包括如下步骤: 步骤S5.1:从步骤S2中筛选得到的需要进行转换的关系实体中查找所有不带属性的关系实体,将不带属性的关系实体中箭头指向的标签实体转换后对应的表上添加一个表达外键的属性; 步骤S5.2:建立关系型数据库概念模型中所有表的主外键关系。8.如权利要求7所述的一种Neo4j向关系型数据库的模型转换和数据迀移方法,其特征在于,所述步骤S5.1中所述的表达外键的属性包括所述不带属性的关系实体中箭头起始端的标签实体名和所述不带属性的关系实体名。9.如权利要求1所述的一种Neo4j向关系型数据库的模型转换和数据迀移方法,其特征在于,所述步骤S7:根据步骤S6组建成的完整的关系型数据库的概念模型进行数据迀移的步骤,具体包括: 将步骤SI中得到的Neo4j的概念模型指定为原数据的位置,将步骤S6中组建成的完整的关系型数据库的概念模型指定为目标数据的位置,通过ETL工具进行数据迀移。
【文档编号】G06F17/30GK105912665SQ201610224210
【公开日】2016年8月31日
【申请日】2016年4月12日
【发明人】丁贵广, 贾天宇, 李长青
【申请人】清华大学, 北京恒冠网络数据处理有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1