一种基于网状结构的用户信息高效检索方法技术

技术编号:28837516 阅读:10 留言:0更新日期:2021-06-11 23:35
本发明专利技术公开了一种基于网状结构的用户信息高效检索方法:将用户和每一级接收到的商品做为节点;将商品与用户的归属关系作为边,将商品在不同层级上的联系也作为边;上述模型存储到GDB中;定义数据定义的XML模型,包含需要作为检索条件的字段,字段需要包含所属的表信息,以及多个表之间的join规则;将自定义的XML模型定义转换成ES的数据源提取模型,通过mysql的binlog同步到异步队列再写入ES;提供接口封装,将关系链的检索通过到GDB中实现获取到查询到集合A,将需要作为排序及过滤的非关系链数据作为检索条件,到ES中查询获取集合B;将A和B的交集作为查询接口返回的ID集合结果。本发明专利技术具有查询效率高,系统复杂度低,数据复用率高和维护成本低的优点。

【技术实现步骤摘要】
一种基于网状结构的用户信息高效检索方法
本专利技术涉及数据检索
,具体为一种基于网状结构的用户信息高效检索方法。
技术介绍
数据检索:即把数据库中存储的数据根据用户的需求提取出来。数据检索的结果会生成一个数据表,既可以放回数据库,也可以作为进一步处理的对象,数据检索包括数据排序和数据筛选两项操作。DBproxy:数据库代理,前端应用与后端数据库之间的中间件,它使得应用程序员无需再关心读写分离、分表等与MySQL相关的细节,可以专注于编写业务逻辑,同时使得DBA的运维工作对前端应用透明,上下线DB前端应用无感知;GDB:全称GraphDatabase,也就是图数据库;并非指存储图片的数据库,而是以图这种数据结构存储和查询数据,是一种在线数据库管理系统,具有处理图形数据模型的创建,读取,更新和删除(CRUD)操作,与其他数据库不同,关系在图数据库中占首要地位,应用程序不必使用外键或带外处理来推断数据连接;Node:节点是图数据库中的主要的数据元素,节点通过关系连接到其他节点,节点可以具有一个或多个属性(即存储为键/值对的属性);Edge:边也可以叫做关系,关系连接两个节点,关系是方向性的,节点可以有多个甚至递归的关系,关系可以有一个或多个属性(即存储为键/值对的属性);XML:可扩展标记语言,XML的宗旨传输数据的,而与其同属标准通用标记语言的HTML主要用于显示数据;XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、MacOS,Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果;ES:全称Elasticsearch,是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口;Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布。事例一:在SaaS行业中普遍存在的B2B交易模式中,有如下实例:step1:平台中的用户A上架了一款商品M,价格10元。step2:商品M被平台中的用户B看中加价2元,然后分销给了用户C。step3:用户C将商品M继续加价格3元分销给用户D。step4:依此循环,商品M分别经过了:A->B->C->D->E,中间经过了5次的价格变动,最终卖给了E。step5:用户B查询自己分销用户A所有商品的产生订单列表,同时按照商品的类型做排序。1.以上交易流程是在E发生实际购买的动作时候才会产生A->B->C->D->E的连续交易动作(链条上的用户对M商品非提前采购)。2.实际场景下发布商品M的用户A的数量是亿级的,所有用户发布的商品总量是百亿级的。3.用户A上架N款商品会被无数个用户做分销。事例二:在社交圈行业,基于N度关系的信息推送,如社交软件LinkIn:step1:社交软件的用户A更新了一条动态信息M。step2:用户A的朋友用户B立即看到了A更新的信息M。step3:基于社交的需要,系统需要把信息M推送给了用户B的朋友用户C。step4:依此循环,信息M分别经过了:A->B->C->D->E,最终B/C/D/E做为A对应1/2/3/4度关系,都看到了A更新的信息M。step5:用户B查看自己每一度关系上的朋友当天都更新了哪些动态的列表,同时按照动态的类型(是否有图片/语音等)做分类和排序。1.以上信息流程是在A发生更新动态的动作时,才会产生将此次更新的消息推送给B/C/D/E的行为。2.实际场景下更新动态M的用户A的数量是亿级的,所有用户都有可能会更新动态且更新的信息总量是百亿级的。将用户和商品(动态)和商品(动态)在每一级的用户分销的关系拆成三个数据模型转换成对应的三张表存储在关系数据库中;在需要检索关联到用户信息or商品信息和商品分销层级信息时,将三张表通过用户id,商品id等字段做为关联key然后join在一起,再加上需要做为检索条件的商品相关字段信息或者用户字段信息做为查询条件。上述方案的查询效率极低,系统复杂度高,数据的复用率低和维护成本高。
技术实现思路
本专利技术的目的在于提供一种基于网状结构的用户信息高效检索方法,具备查询效率高,系统复杂度低,数据复用率高和维护成本低的优点,解决了查询效率极低,系统复杂度高,数据的复用率低和维护成本高的问题。为实现上述目的,本专利技术提供如下技术方案:一种基于网状结构的用户信息高效检索方法,实现步骤:S1、将用户和每一级接收到的商品(动态)做为节点(node);S2、将商品与用户的归属关系作为边(edge),将商品在不同层级上的联系也作为边(edge);S3、上述S1和S2中的模型存储到GDB中;S4、定义数据定义的XML模型,包含需要作为检索条件的字段,字段需要包含所属的表信息,以及多个表之间的join规则;S5、将自定义的XML模型定义转换成ES的数据源提取模型,通过mysql的binlog同步到异步队列再写入ES;S6、提供接口封装,将关系链的检索通过到GDB中实现获取到查询到集合A,将需要作为排序及过滤的非关系链数据作为检索条件,到ES中查询获取集合B;S7、将S6中A和B的交集作为查询接口返回的ID集合结果。与现有技术相比,本专利技术的有益效果如下:将用户和每一级接收到的商品(动态)做为节点(node);将商品与用户的归属关系作为边(edge),将商品在不同层级上的联系也作为边(edge);上述S1和S2中的模型存储到GDB中;S1、S2和S3实现在GDB中的存储结果;定义数据定义的XML模型,包含需要作为检索条件的字段,字段需要包含所属的表信息,以及多个表之间的join规则;将自定义的XML模型定义转换成ES的数据源提取模型,通过mysql的binlog同步到异步队列再写入ES;提供接口封装,将关系链的检索通过到GDB中实现获取到查询到集合A,将需要作为排序及过滤的非关系链数据作为检索条件,到ES中查询获取集合B;将S6中A和B的交集作为查询接口返回的ID集合结果。上述的检索方法查询效率高,系统复杂度低,数据复用率高和维护成本低。附图说明图1为本专利技术的GDB数据存储模型及检索逻辑图;图2为本专利技术的检索流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范本文档来自技高网
...

【技术保护点】
1.一种基于网状结构的用户信息高效检索方法,其特征在于:/nS1、将用户和每一级接收到的商品做为节点;/nS2、将商品与用户的归属关系作为边,将商品在不同层级上的联系也作为边;/nS3、上述S1和S2中的模型存储到GDB中;/nS4、定义数据定义的XML模型,包含需要作为检索条件的字段,字段需要包含所属的表信息,以及多个表之间的join规则;/nS5、将自定义的XML模型定义转换成ES的数据源提取模型,通过mysql的binlog同步到异步队列再写入ES;/nS6、提供接口封装,将关系链的检索通过到GDB中实现获取到查询到集合A,将需要作为排序及过滤的非关系链数据作为检索条件,到ES中查询获取集合B;/nS7、将S6中A和B的交集作为查询接口返回的ID集合结果。/n

【技术特征摘要】
1.一种基于网状结构的用户信息高效检索方法,其特征在于:
S1、将用户和每一级接收到的商品做为节点;
S2、将商品与用户的归属关系作为边,将商品在不同层级上的联系也作为边;
S3、上述S1和S2中的模型存储到GDB中;
S4、定义数据定义的XML模型,包含需要作为检索条件的字段,字段需要包含所属的表信息,以及多个表之间的j...

【专利技术属性】
技术研发人员:苏万生陈光鹏翁彬
申请(专利权)人:福建票付通信息科技有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1