CN113609175A - 一种基于图数据库的电商商品属性数据处理方法及装置 - Google Patents
一种基于图数据库的电商商品属性数据处理方法及装置 Download PDFInfo
- Publication number
- CN113609175A CN113609175A CN202110879250.7A CN202110879250A CN113609175A CN 113609175 A CN113609175 A CN 113609175A CN 202110879250 A CN202110879250 A CN 202110879250A CN 113609175 A CN113609175 A CN 113609175A
- Authority
- CN
- China
- Prior art keywords
- attribute
- data
- entity
- commodity
- graph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 6
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 238000004806 packaging method and process Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 238000007405 data analysis Methods 0.000 claims description 3
- 238000013481 data capture Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 10
- 239000010410 layer Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000013499 data model Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是关于一种基于图数据库的电商商品属性数据处理方法及装置。该方法包括:构建属性数据的实体关系模型,在图数据库中对所述实体关系模型进行初始化,并将所述实体关系模型保存为所述图数据库中的图模型;解析所述属性数据,按照所述图模型转化成实体和关系的数据文件;配置所述图模型与所述数据文件的映射关系,进行关系型数据文件到图数据库的全量同步。本发明提供的技术方案,通过构建基于图数据库模型的数据处理装置,形成了一套商品属性数据处理与存储方法,可以很好的支撑商品属性多度关联关系查询的需求,避免了关系型数据库频繁join造成的压力与瓶颈。本发明同时可以解决工程化过程中的阻抗不匹配问题,有效提高开发的效率。
Description
技术领域
本专利涉及数据库技术,具体属于图数据库应用领域。
背景技术
随着电商领域的快速发展与繁荣,线上购物成为了大众生活中的不可或缺的重要组成部分。相较于传统的线下购买的方式,线上购物无法直接接触到商品的实体,需要通过图片、文字、视频等信息载体去了解商品的特征。在页面中的商品描述信息中,商品属性的数据是商品特征的集合体,是消费者做购物决策的关键参考。
面对海量的商品属性数据,现有的存储方案是通过关系型数据库按照 3NF的标准进行多表存储。在查询效率方面,这种存储方式需要进行大量的join运算进行表关联,在运行多级关系查询时会影响到数据库服务的性能,出现查询效率瓶颈。在开发效率方面,实体关系模型与3NF存储之间存在阻抗不匹配的现象,开发时需要频繁的进行数据表与对象实体的转化,这无疑增加了开发的成本。综上所述,如何高效存储与查询商品属性数据关系成为了一个挑战。
在工业界中属性数据存储与应用多数是基于关系型数据库。在企业实践中需要将商品属性数据按照3NF标准存储到多张表中,通过表关联来查询商品属性的关联关系。这种方案在面对多级关联关系查询时会出现明显的瓶颈。针对该问题的研究,目前的方向集中在使用属性数据训练推荐***数据模型方面。例如:在专利申请号:CN202011137395.1的《基于图数据库技术满足电商场景化搜索的方法》中,作者主要针对的是电商的场景化搜索进行了研究,偏重于商品推荐***方向,没有去研究商品关联关系查询效率和模型阻抗匹配的问题。
基于关系型数据库的属性数据存储方式,会导致频繁的进行表关联查询,对数据库服务产生压力。在查询多度商品属性关系时效率出现瓶颈。同时,由于通过实体关系图(Entity-relationship model)构建的概念模型和实际存储的物理模型使用的数据结构存在差异,造成了开发中的"模型阻抗不匹配"现象,降低了开发的效率。
发明内容
为克服相关技术中存在的问题,本发明提供一种基于图数据库的电商商品属性数据处理方法及装置。
根据本发明实施例的第一方面,提供一种基于图数据库的电商商品属性数据处理方法,包括:
构建属性数据的实体关系模型,在图数据库中对所述实体关系模型进行初始化,并将所述实体关系模型保存为所述图数据库中的图模型;
解析所述属性数据,按照所述图模型转化成实体和关系的数据文件;
配置所述图模型与所述数据文件的映射关系,进行关系型数据文件到图数据库的全量同步。
进一步,所述构建属性数据的实体关系模型,在图数据库中对所述实体关系模型进行初始化,并将所述实体关系模型保存为所述图数据库中的图模型,具体包括:
根据商品属性业务逻辑抽象出实体关系模型中的实体和关系,其中,所述实体包含:属性分组、属性名、属性值、商品分类和百科商品,所述实体之间的关系可以分为两类:“属于”和“拥有”,其中,百科商品实体与属性值、属性名实体之间建立“拥有”关系,百科商品实体与商品分类之间建立“属于”关系,属性名实体分别与属性分组、商品分类实体之间建立“属于”关系,属性名实体与属性值实体之间建立“拥有”的关系;
将抽象出的实体与关系使用Groovy语言进行描述,保存于wiki.groovy 文件;
初始化hugegraph图数据库,导入wiki.groovy文件中保存的图模型。
进一步,所述解析所述属性数据,按照所述图模型转化成实体和关系的数据文件,具体包括:
导出存储在clickhouse中的属性数据,解析后存储为CSV文件;
将所述CSV文件中保存的属性名、属性值、属性分组、分类、百科商品数据按照实体进行拆分,形成5个独立的实体CSV文件;
将所述CSV文件中保存的实体间关系数据进行拆分,并且将拆分后的实体间关系数据解析为json格式保存,形成6个独立的json文件。
进一步,所述配置所述图模型与所述数据文件的映射关系,进行关系型数据文件到图数据库的全量同步,具体包括:
将所述数据文件与所述图模型进行映射关系配置,保存json格式的映射关系于wiki.json文件;
使用hugegraph的loader工具读取wiki.json文件,将数据全量同步到图数据库中。
进一步,该方法还包括:
封装增量处理逻辑,实现对增量数据的实时处理。
进一步,所述封装增量处理逻辑,实现对增量数据的实时处理,具体包括:
针对顶点封装以下处理逻辑:创建一个顶点;创建多个顶点;更新顶点属性;删除顶点属性;获取符合特定顶点类型、特定属性键值对条件的顶点;根据id获取顶点;根据id删除顶点;
针对边封装以下处理逻辑:创建一条边;创建多条边;更新边属性;删除边属性;获取符合特定边类型、特定属性键值对条件的边;根据id 获取边;根据id删除边;
新建redis队列作为增量数据事件的容器,当数据源的变化数据捕获模块获得增量数据时,将数据生成事件推送至redis,数据事件的类型分为:新增、修改、删除;
通过脚本持续消费redis队列中的数据,根据数据事件类型调用针对顶点和边封装的对应的处理逻辑函数,实现对增量数据的处理。
进一步,该方法还包括:
封装基于图的属性关联关系查询微服务。
进一步,所述封装基于图的属性关联关系查询微服务,具体包括:
搭建springboot服务,分为实体层、数据访问层、业务逻辑层、前端控制器层;
封装查询商品下的全部的属性名与属性值的业务逻辑;
封装查询某商品所处分类下的全部商品的业务逻辑;
封装查询某个百科商品所处分类下的全部属性名与属性值的业务逻辑;
封装查询与某个商品的属性具有n跳关联的商品集合的业务逻辑。
根据本发明实施例的第二方面,提供一种基于图数据库的电商商品属性数据处理装置,包括:
商品属性数据图模型单元,用于构建属性数据的实体关系模型,在图数据库中对所述实体关系模型进行初始化,并将所述实体关系模型保存为所述图数据库中的图模型;
商品属性数据解析单元,用于解析所述属性数据,按照所述图模型转化成实体和关系的数据文件;
商品属性数据同步单元,用于配置所述图模型与所述数据文件的映射关系,进行关系型数据文件到图数据库的全量同步。
进一步,该装置还包括:
商品属性数据增量处理单元,用于封装增量处理逻辑,实现对增量数据的实时处理。
进一步,该装置还包括:
商品属性查询微服务单元,用于封装基于图的属性关联关系查询微服务。
根据本发明实施例的第三方面,提供一种终端设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
本发明的实施例提供的技术方案,通过构建基于图数据库模型的数据处理装置,形成了一套商品属性数据处理与存储方法,可以很好的支撑商品属性多度关联关系查询的需求,避免了关系型数据库频繁join造成的压力与瓶颈。本发明同时可以解决工程化过程中的阻抗不匹配问题,有效提高开发的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
图1是根据本发明一示例性实施例示出的一种基于图数据库的电商商品属性数据处理方法的流程示意图;
图2是数据模型示意图;
图3是属性数据解析与同步流程;
图4是增量数据处理逻辑;
图5是根据本发明示例性实施例示出的一种基于图数据库的电商商品属性数据处理装置的结构框图;
图6是根据本发明一示例性实施例示出的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以下结合附图详细描述本发明实施例的技术方案。
图1是根据本发明一示例性实施例示出的一种基于图数据库的电商商品属性数据处理方法的流程示意图。
参见图1,该方法包括:
110、构建属性数据的实体关系模型,在图数据库中对所述实体关系模型进行初始化,并将所述实体关系模型保存为所述图数据库中的图模型;
120、解析所述属性数据,按照所述图模型转化成实体和关系的数据文件;
130、配置所述图模型与所述数据文件的映射关系,进行关系型数据文件到图数据库的全量同步。
本发明的实施例提供的技术方案,通过构建基于图数据库模型的数据处理装置,形成了一套商品属性数据处理与存储方法,可以很好的支撑商品属性多度关联关系查询的需求,避免了关系型数据库频繁join造成的压力与瓶颈。本发明同时可以解决工程化过程中的阻抗不匹配问题,有效提高开发的效率。
可选地,在该实施例中,步骤110具体包括:
1101、根据商品属性业务逻辑抽象出实体关系模型中的实体和关系,其中,如图2所示,所述实体包含:属性分组、属性名、属性值、商品分类和百科商品,所述实体之间的关系可以分为两类:“属于”和“拥有”,其中,百科商品实体与属性值、属性名实体之间建立“拥有”关系,百科商品实体与商品分类之间建立“属于”关系,属性名实体分别与属性分组、商品分类实体之间建立“属于”关系,属性名实体与属性值实体之间建立“拥有”的关系;
1102、将步骤1101中抽象出的实体与关系使用Groovy语言进行描述,保存于wiki.groovy文件;
1103、初始化hugegraph图数据库,导入wiki.groovy文件中保存的图模型。
可选地,在该实施例中,如图3所示,步骤120具体包括:
1201、导出存储在clickhouse中的属性数据,解析后存储为CSV文件;
1202、将所述CSV文件中保存的属性名、属性值、属性分组、分类、百科商品数据按照实体进行拆分,形成5个独立的实体CSV文件;
1203、将所述CSV文件中保存的实体间关系数据进行拆分,并且将拆分后的实体间关系数据解析为json格式保存,形成6个独立的json文件。
可选地,在该实施例中,步骤130具体包括:
1301、将步骤120中解析生成的数据文件与步骤110中的图模型进行映射关系配置,保存json格式的映射关系于wiki.json文件;
1302、使用hugegraph的loader工具读取wiki.json文件,将数据全量同步到图数据库中。
可选地,在该实施例中,如图1所示,该方法还包括:
140、封装增量处理逻辑,实现对增量数据的实时处理。
可选地,在该实施例中,如图4所示,步骤140具体包括:
1401、针对顶点封装以下处理逻辑:创建一个顶点;创建多个顶点;更新顶点属性;删除顶点属性;获取符合特定顶点类型、特定属性键值对条件的顶点;根据id获取顶点;根据id删除顶点;
1402、针对边封装以下处理逻辑:创建一条边;创建多条边;更新边属性;删除边属性;获取符合特定边类型、特定属性键值对条件的边;根据id获取边;根据id删除边;
1403、新建redis队列作为增量数据事件的容器,当数据源的变化数据捕获模块获得增量数据时,将数据生成事件推送至redis,数据事件的类型分为:新增、修改、删除;
1404、通过脚本持续消费redis队列中的数据,根据数据事件类型调用步骤1402和步骤1402中封装的对应的处理逻辑函数,实现对增量数据的处理。
可选地,在该实施例中,如图1所示,该方法还包括:
150、封装基于图的属性关联关系查询微服务。
可选地,在该实施例中,步骤150具体包括:
1501、搭建springboot服务,分为实体层、数据访问层、业务逻辑层、前端控制器层;
具体的,该步骤中,由于开发中使用面向对象的编程范式,可以直接沿用图数据库中的顶点实体与关系实体的数据模型,避免了开发中产生的阻抗不匹配现象。
1502、封装查询商品下的全部的属性名与属性值的业务逻辑;
具体的,该业务逻辑的查询过程如下:通过百科商品查询与该百科商品实体关联的属性名实体与属性值实体,并通过属性名与属性值之间的边对两者进行关联,按照json格式进行返回。
1503、封装查询某商品所处分类下的全部商品的业务逻辑;
具体的,该业务逻辑的查询过程如下:通过百科商品查询与该百科商品实体关联的分类实体,通过该分类实体反向查询与该分类实体关联的全部百科商品,按照json数据格式返回全部百科商品的集合。
1504、封装查询某个百科商品所处分类下的全部属性名与属性值的业务逻辑;
具体的,该业务逻辑的查询过程如下:通过步骤1503中的查询逻辑查询到某商品所处分类下的全部商品,然后查询这个商品集合关联的属性名、属性值,并且对属性名、属性值进行聚合与去重的处理,返回json数据格式。
1505、封装查询与某个商品的属性具有n跳关联的商品集合的业务逻辑。
具体的,该业务逻辑的查询过程如下:通过某个商品k查询与该商品实体关联的属性名与属性值,然后通过属性名与属性值实体反向查询所有包含该属性键值对的商品实体集合S1。以S1内的商品作为查询起点,循环n-1次以上的逻辑,形成的商品集合记为Sn,即与商品k的属性具有n 跳关联关系的商品集合。
图5是根据本发明示例性实施例示出的一种基于图数据库的电商商品属性数据处理装置的结构框图。
参见图5,该装置包括:
商品属性数据图模型单元,用于构建属性数据的实体关系模型,在图数据库中对所述实体关系模型进行初始化,并将所述实体关系模型保存为所述图数据库中的图模型;
商品属性数据解析单元,用于解析所述属性数据,按照所述图模型转化成实体和关系的数据文件;
商品属性数据同步单元,用于配置所述图模型与所述数据文件的映射关系,进行关系型数据文件到图数据库的全量同步。
可选地,在该实施例中,如图5所示,该装置还包括:
商品属性数据增量处理单元,用于封装增量处理逻辑,实现对增量数据的实时处理。
可选地,在该实施例中,如图5所示,该装置还包括:
商品属性查询微服务单元,用于封装基于图的属性关联关系查询微服务。
构建基于图数据库的电商商品属性数据处理装置后,与原来基于关系型数据库的处理方法进行对比测试。在开发人员效率方面,由于省去了进行关系型数据结构与对象之间转化的过程,开发相同业务模块的效率提升了36%。在运算执行效率方面,针对常用的业务:商品属性关联关系2跳查询进行测试。基于图的方案查询时间在260ms左右,比原有方案快3.2 倍。通过以上测试可以看出,本发明可以有效的提升企业对商品属性数据的研发与应用效率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
图6是根据本发明一示例性实施例示出的一种计算设备的结构示意图。
参见图6,计算设备600包括存储器610和处理器620。
处理器620可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器610可以包括各种类型的存储单元,例如***内存、只读存储器(ROM)和永久存储装置。其中,ROM可以存储处理器620或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。***内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。***内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器610可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器610 可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器610上存储有可执行代码,当可执行代码被处理器620处理时,可以使处理器620执行上文述及的方法中的部分或全部。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤的部分或全部。
上文中已经参考附图详细描述了本发明的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本发明所必须的。另外,可以理解,本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本发明实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的***和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种基于图数据库的电商商品属性数据处理方法,其特征在于,包括:
构建属性数据的实体关系模型,在图数据库中对所述实体关系模型进行初始化,并将所述实体关系模型保存为所述图数据库中的图模型;
解析所述属性数据,按照所述图模型转化成实体和关系的数据文件;
配置所述图模型与所述数据文件的映射关系,进行关系型数据文件到图数据库的全量同步。
2.根据权利要求1所述的方法,其特征在于,所述构建属性数据的实体关系模型,在图数据库中对所述实体关系模型进行初始化,并将所述实体关系模型保存为所述图数据库中的图模型,具体包括:
根据商品属性业务逻辑抽象出实体关系模型中的实体和关系,其中,所述实体包含:属性分组、属性名、属性值、商品分类和百科商品,所述实体之间的关系可以分为两类:“属于”和“拥有”,其中,百科商品实体与属性值、属性名实体之间建立“拥有”关系,百科商品实体与商品分类之间建立“属于”关系,属性名实体分别与属性分组、商品分类实体之间建立“属于”关系,属性名实体与属性值实体之间建立“拥有”的关系;
将抽象出的实体与关系使用Groovy语言进行描述,保存于wiki.groovy文件;
初始化hugegraph图数据库,导入wiki.groovy文件中保存的图模型。
3.根据权利要求1所述的方法,其特征在于,所述解析所述属性数据,按照所述图模型转化成实体和关系的数据文件,具体包括:
导出存储在clickhouse中的属性数据,解析后存储为CSV文件;
将所述CSV文件中保存的属性名、属性值、属性分组、分类、百科商品数据按照实体进行拆分,形成5个独立的实体CSV文件;
将所述CSV文件中保存的实体间关系数据进行拆分,并且将拆分后的实体间关系数据解析为json格式保存,形成6个独立的json文件。
4.根据权利要求1所述的方法,其特征在于,所述配置所述图模型与所述数据文件的映射关系,进行关系型数据文件到图数据库的全量同步,具体包括:
将所述数据文件与所述图模型进行映射关系配置,保存json格式的映射关系于wiki.json文件;
使用hugegraph的loader工具读取wiki.json文件,将数据全量同步到图数据库中。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
封装增量处理逻辑,实现对增量数据的实时处理。
6.根据权利要求5所述的方法,其特征在于,所述封装增量处理逻辑,实现对增量数据的实时处理,具体包括:
针对顶点封装以下处理逻辑:创建一个顶点;创建多个顶点;更新顶点属性;删除顶点属性;获取符合特定顶点类型、特定属性键值对条件的顶点;根据id获取顶点;根据id删除顶点;
针对边封装以下处理逻辑:创建一条边;创建多条边;更新边属性;删除边属性;获取符合特定边类型、特定属性键值对条件的边;根据id获取边;根据id删除边;
新建redis队列作为增量数据事件的容器,当数据源的变化数据捕获模块获得增量数据时,将数据生成事件推送至redis,数据事件的类型分为:新增、修改、删除;
通过脚本持续消费redis队列中的数据,根据数据事件类型调用针对顶点和边封装的对应的处理逻辑函数,实现对增量数据的处理。
7.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
封装基于图的属性关联关系查询微服务。
8.根据权利要求7所述的方法,其特征在于,所述封装基于图的属性关联关系查询微服务,具体包括:
搭建springboot服务,分为实体层、数据访问层、业务逻辑层、前端控制器层;
封装查询商品下的全部的属性名与属性值的业务逻辑;
封装查询某商品所处分类下的全部商品的业务逻辑;
封装查询某个百科商品所处分类下的全部属性名与属性值的业务逻辑;
封装查询与某个商品的属性具有n跳关联的商品集合的业务逻辑。
9.一种基于图数据库的电商商品属性数据处理装置,其特征在于,包括:
商品属性数据图模型单元,用于构建属性数据的实体关系模型,在图数据库中对所述实体关系模型进行初始化,并将所述实体关系模型保存为所述图数据库中的图模型;
商品属性数据解析单元,用于解析所述属性数据,按照所述图模型转化成实体和关系的数据文件;
商品属性数据同步单元,用于配置所述图模型与所述数据文件的映射关系,进行关系型数据文件到图数据库的全量同步。
10.一种终端设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110879250.7A CN113609175A (zh) | 2021-08-02 | 2021-08-02 | 一种基于图数据库的电商商品属性数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110879250.7A CN113609175A (zh) | 2021-08-02 | 2021-08-02 | 一种基于图数据库的电商商品属性数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113609175A true CN113609175A (zh) | 2021-11-05 |
Family
ID=78339016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110879250.7A Pending CN113609175A (zh) | 2021-08-02 | 2021-08-02 | 一种基于图数据库的电商商品属性数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609175A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116594958A (zh) * | 2023-05-25 | 2023-08-15 | 之江实验室 | 一种图数据集加载方法、***、电子设备、介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104036048A (zh) * | 2014-07-02 | 2014-09-10 | 电子科技大学 | 一种本体与关系数据库模式之间的映射方法 |
US20160005197A1 (en) * | 2014-07-01 | 2016-01-07 | Aol Inc. | Computerized systems and methods for graph data modeling |
CN110147376A (zh) * | 2019-05-29 | 2019-08-20 | 中国石油大学(华东) | 一种基于领域本体的油气大数据查询和存储方法 |
-
2021
- 2021-08-02 CN CN202110879250.7A patent/CN113609175A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160005197A1 (en) * | 2014-07-01 | 2016-01-07 | Aol Inc. | Computerized systems and methods for graph data modeling |
CN104036048A (zh) * | 2014-07-02 | 2014-09-10 | 电子科技大学 | 一种本体与关系数据库模式之间的映射方法 |
CN110147376A (zh) * | 2019-05-29 | 2019-08-20 | 中国石油大学(华东) | 一种基于领域本体的油气大数据查询和存储方法 |
Non-Patent Citations (2)
Title |
---|
""HugeGraph 开源图数据库***v0.9使用手册 Load data with HugeGraph-Loader"", 《HTTPS://WWW.MIANSHIGEE.COM/TUTORIAL/HUGEGRAPH-0.9/QUICKSTART-HUGEGRAPH-LOADER.MD》 * |
钱良: "《前沿电子信息专业教材系列 无线通信新技术与实践》", 上海交通大学出版社, pages: 340 - 345 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116594958A (zh) * | 2023-05-25 | 2023-08-15 | 之江实验室 | 一种图数据集加载方法、***、电子设备、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132384B2 (en) | Generating a multi-column index for relational databases by interleaving data bits for selectivity | |
US20170091041A1 (en) | Method and apparatus for transferring data between databases | |
US20190362017A1 (en) | Differential support for frequent pattern analysis | |
Agarwal et al. | Approximate incremental big-data harmonization | |
CN105630475B (zh) | 一种数据标签组织***及组织方法 | |
CN110895544B (zh) | 一种接口数据处理方法、装置、***及存储介质 | |
CN110389989B (zh) | 一种数据处理方法、装置及设备 | |
CN113722520A (zh) | 图数据的查询方法及装置 | |
CN113609175A (zh) | 一种基于图数据库的电商商品属性数据处理方法及装置 | |
US11836190B2 (en) | Method and system for identifying, managing, and monitoring data dependencies | |
EP3042316B1 (en) | Music identification | |
CN114297204A (zh) | 一种异构数据源的数据存储、检索方法及装置 | |
CN112488708B (zh) | 区块链账户关联性查询方法及虚假交易筛选方法 | |
CN104424220A (zh) | 一种数据处理方法及装置 | |
CN113609112A (zh) | 一种电商商品属性数据规范化处理方法与*** | |
CN113643030A (zh) | 交易处理方法、装置及设备 | |
JP6438295B2 (ja) | ハイパーグラフソルバーのためのグラフ入力の自動編集 | |
WO2022001626A1 (zh) | 注入时序数据的方法、查询时序数据的方法及数据库*** | |
CN115630070A (zh) | 一种信息推送方法、计算机可读的存储介质及电子装置 | |
CN108062329B (zh) | 一种数据导入方法及装置 | |
CN113112285B (zh) | 数据分析方法和装置 | |
CN113436017B (zh) | 交易处理方法、装置及设备 | |
CN115115433B (zh) | 订单数据处理方法、装置、计算机设备和存储介质 | |
CN113643101A (zh) | 一种基于图数据库的商品热度计算方法及*** | |
CN113609188A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211105 |