一种关系数据处理方法及设备与流程

文档序号:11155123阅读:268来源:国知局
一种关系数据处理方法及设备与制造工艺

本申请涉及通信技术领域,特别涉及一种关系数据处理方法。本申请同时还涉及一种关系数据处理设备。



背景技术:

随着互联网的不断发展,人们越来越倾向于通过网站以及其他平台与其他用户进行活动以及沟通。对于网络用户来说,网站或者平台一般通过注册帐号而为其提供专属的服务。网络用户通过其各自在网络中自己拟定的用户名在互联网中互相联结,因此互联网中存在着海量的关系网络以及关系数据。

关系网络是一种基于“网络”(节点之间的相互连接)而非“群体”(明确的边界和秩序)的组织形式,这种网络是基于某种关系进行关联的。举例来说,A、B是通过关系一关联起来,B,C通过关系二关联起来,C、D通过关系三关联起来等等,则A、B、C、D等就基于各种关联构建成一个网络。现有技术中通常通过实现关系和网络的可视化以及静态图表或交互式视觉的方式来实现关系网络的展现,从而进一步对数据进行挖掘或是匹配处理。

对于平台运营商来说,随着其业务的发展,积累的数据将会越来越多,挖掘海量数据中蕴含的各种关系以及构建关系网络可以更好地满足业务团队的分析需求。然而,传统关系网络的搭建一般是针对特定的环境定制专用的关系数据处理方案,即只能针对某一种关系类型进行处理。当出现了新的关系类型时,扩展关系时需要重新开发。面对大数据中多种不确定关系,由于关系的种类繁多,技术人员往往难以有精力针对每类关系都去开发一套代码。

由此可见,现有技术中的面对各个常规关系网络的关系数据处理方案定制化程度较高,针对不同的关系数据需要设置或者开发不同的处理方案,缺 乏可扩展性,在面对海量关系数据的情况下,现有技术工作处理效率低下。



技术实现要素:

本申请提供了一种关系数据处理方法,用以实现关系网络的快速水平扩展,从而降低资源开销以及提升资源利用率。该方法包括以下步骤:

确定关系数据中各个主体的主体信息,以及所述主体之间的关系信息,所述主体包括第一主体以及第二主体,所述主体信息至少包括所述主体的主体值、主体属性以及与主体类型对应的类型ID,所述关系信息至少包括与关系类型对应的关系ID;

获取与所述第一主体的主体类型对应的关系主体表,所述关系主体表包含所述第一主体的类型ID与所述第一主体的主体属性的对应关系;

分别生成包含所述第一主体的类型ID的第一表项、包含所述关系ID与所述第二主体的类型ID的对应关系的第二表项,以及包含所述关系信息的第三表项;

建立所述第一表项、所述第二表项、所述第三表项、所述关系主体表以及所述第一主体的主体值对应关系。

优选地,所述方法应用于关系网络系统中的关系网络适配层,所述关系网络系统还包括数据层、关系业务逻辑层以及前端展示层;

其中,所述关系网络适配层在所述数据层之上。

优选地,所述第一表项、所述第二表项、所述第三表项以及所述关系主体表配置于所述关系网络适配层;所示关系数据根据预设的通用关系数据接口协议规范生成。

优选地,获取与所述主体类型对应的第一表项,具体为:

查询当前是否存在包含所述第一主体的类型ID的关系主体表;

若存在,将所述关系主体表作为所述第一表项;

若不存在,创建包含所述第一主体的类型ID的关系主体表,并将所述关系主体表作为所述第一表项。

优选地,在建立所述第一表项、所述第二表项、所述第三表项、所述关系主体表以及所述第一主体的主体值对应关系之后,还包括:

当接收到来自于用户的关系数据访问请求时,根据当前存在的关系主体表,向所述用户展示当前有效的主体类型;

根据与所述用户选择的主体类型、关系类型以及输入的主体值所对应的对应关系,获取与所述对应关系对应的关系数据;

根据所述关系数据生成关系网络,并向所述用户展示所述关系网络。

优选地,根据与所述用户选择的主体类型、关系类型以及输入的主体值所对应的对应关系获取与所述对应关系对应的关系数据,具体为:

根据所述用户选择的主体类型以及输入的主体值,获取与所述主体类型的类型ID以及所述主体值对应的第一表项;

根据所述对应关系,获取当前与所述第一表项对应的第二表项;

根据所获取的第二表项向所述用户展示当前与所述类型ID以及所述主体值对应的关系类型;

根据所述用户输入的配置信息,以及所选择的关系类型对应的第二表项,确定与所述第二表项、所述第一表项以及所述主体值对应的对应关系;

根据所述对应关系生成所述关系数据。

优选地,所述关系数据中还包括第四表项以及第五表项,所述第四表项包括所述关系ID与主体显示属性的对应关系,所述第五表项包括所述类型ID与关系显示属性的对应关系。

优选地,根据所述关系数据生成关系网络,并向所述用户展示所述关系网络,具体为:

根据所述第四表项的主体显示属性以及第五表项的关系显示属性进行过 滤以及渲染。

相应地,本申请还提供了一种关系数据处理设备,包括:

确定模块,用于确定关系数据中各个主体的主体信息,以及所述主体之间的关系信息,所述主体包括第一主体以及第二主体,所述主体信息至少包括所述主体的主体值、主体属性以及与主体类型对应的类型ID,所述关系信息至少包括与关系类型对应的关系ID;

获取模块,用于获取与所述第一主体的主体类型对应的关系主体表,所述关系主体表包含所述第一主体的类型ID与所述第一主体的主体属性的对应关系;

生成模块,用于分别生成包含所述第一主体的类型ID的第一表项、包含所述关系ID与所述第二主体的类型ID的对应关系的第二表项,以及包含所述关系信息的第三表项;

建立模块,用于建立所述第一表项、所述第二表项、所述第三表项、所述关系主体表以及所述第一主体的主体值对应关系。

优选地,所述方法作为关系网络适配层应用于关系网络系统中,所述关系网络系统还包括数据层、关系业务逻辑层以及前端展示层;其中,所述关系网络适配层在所述数据层之上。

优选地,所述第一表项、所述第二表项、所述第三表项以及所述关系主体表配置于所述关系网络适配层;所示关系数据根据预设的通用关系数据接口协议规范生成。

优选地,所述获取模块获取与所述主体类型对应的第一表项,具体为:

查询当前是否存在包含所述第一主体的类型ID的关系主体表;

若存在,将所述关系主体表作为所述第一表项;

若不存在,创建包含所述第一主体的类型ID的关系主体表,并将所述关 系主体表作为所述第一表项。

优选地,所述建立模块在建立所述第一表项、所述第二表项、所述第三表项、所述关系主体表以及所述第一主体的主体值对应关系之后,还包括:

当接收到来自于用户的关系数据访问请求时,根据当前存在的关系主体表,向所述用户展示当前有效的主体类型;

根据与所述用户选择的主体类型、关系类型以及输入的主体值所对应的对应关系,获取与所述对应关系对应的关系数据;

根据所述关系数据生成关系网络,并向所述用户展示所述关系网络。

优选地,所述建立模块根据与所述用户选择的主体类型、关系类型以及输入的主体值所对应的对应关系获取与所述对应关系对应的关系数据,具体为:

根据所述用户选择的主体类型以及输入的主体值,获取与所述主体类型的类型ID以及所述主体值对应的第一表项;

根据所述对应关系,获取当前与所述第一表项对应的第二表项;

根据所获取的第二表项向所述用户展示当前与所述类型ID以及所述主体值对应的关系类型;

根据所述用户输入的配置信息,以及所选择的关系类型对应的第二表项,确定与所述第二表项、所述第一表项以及所述主体值对应的对应关系;

根据所述对应关系生成所述关系数据。

优选地,所述建立模块根据所述对应关系生成的关系数据中还包括第四表项以及第五表项,所述第四表项包括所述关系ID与主体显示属性的对应关系,所述第五表项包括所述类型ID与关系显示属性的对应关系。

优选地,所述建立模块根据所述关系数据生成关系网络,并向所述用户展示所述关系网络,具体为:

根据所述第四表项的主体显示属性以及第五表项的关系显示属性进行过 滤以及渲染。

通过应用本申请的技术方案,在确定关系数据中各个主体的主体信息以及所述主体之间的关系信息后,获取与所述第一主体的主体类型对应的关系主体表,并分别生成包含所述第一主体的类型ID的第一表项、包含所述关系ID与所述第二主体的类型ID的对应关系的第二表项,以及包含所述关系信息的第三表项,最后建立所述第一表项、所述第二表项、所述第三表项、所述关系主体表以及所述第一主体的主体值对应关系。该方法不仅能够实现任意关系数据的适配,降低对特定环境的要求,从而针对关系数据进行快速处理,降低了资源开销以及提升资源利用率。

附图说明

图1为本申请提出的一种关系数据处理方法的流程示意图;

图2为本申请提出的一种关系数据处理设备的结构示意图;

具体实施方式

有鉴于背景技术中所提出的技术问题,本申请提出了一种关系数据处理方法,该方法不仅能够实现任意关系数据的适配处理,从而降低对特定环境的要求以及提供关系的快速水平扩展,而且还能够解耦数据与前端系统,只需提供不同的关系数据,就可以快速呈现不同的关系网络。

在目前的数据库开发技术中,通常采取三层架构(3-tier architecture)的方式。因此在本申请的技术方案中一个现有的完整关系网络系统从处理功能模块来划分主要包括数据层、关系业务逻辑层、前端展示层等三个部分。各个层的功能如下:

(1)数据访问层:利用各个函数完成针对各个对数据文件的操作;

(2)业务逻辑层:主要负责对数据层的操作,以及将一些数据层的操 作进行组合。

(3)前端展示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。

为了实现关系网络的快速水平扩展,从而降低资源开销以及提升资源利用率。本申请技术方案在数据层之上,添加了一个适配层,这里称之为“一种关系网络的快速水平扩展的方法与装置”,用于解耦数据与业务,给关系数据提供快速可扩展的服务。

如图1所示,为本申请提出的一种关系数据处理方法的流程示意图,包括以下步骤:

步骤S101,确定关系数据中各个主体的主体信息,以及所述主体之间的关系信息,所述主体包括第一主体以及第二主体,所述主体信息至少包括所述主体的主体值、主体属性以及与主体类型对应的类型ID,所述关系信息至少包括与关系类型对应的关系ID。

由于本申请旨在针对现有的关系网络系统进行快速的扩展以及解耦,因此在本申请的优选实施例中特别针对性地在包括数据层、关系业务逻辑层以及前端展示层的关系网络系统中设置了关系网络适配层,该关系网络适配层在数据层之上。在进一步的具体应用场景中,该关系网络适配层按功能服务划分为:数据接口服务与系统路由服务;从数据库逻辑模型划分:包括关系数据表与路由维护表两部分,路由维护表包含了下后续步骤中所涉及的第一表项、第二表项、第三表项以及关系主体表配置于关系网络适配层。它们主要用于维护各种关系元数据,并为前端系统提供路由信息,根据用户的不同查询分析需求,通过这些路由信息,获取真正的关系数据进行可视化呈现。

关系数据用来构建关系网络的数据,这些数据按照装置提供的通用关系数据接口协议进行组织,对于某个关系数据而言,其一般包括多个对象(一 般为两个对象)之间的某种关系。对于关系数据中所包含的对象,本申请将其归类为主体。一个关系数据主要即由其中的主体以及关系组成。对于每个主体来说,本申请都针对其类型设置了唯一对应的标识,其包含的信息至少包括该主体的值、该主体的属性以及与该主体的类型的所对应的ID。关系类型同样也具有唯一与其对应的标识ID。主体CODE是各种关系主体的唯一标识,用于关系网络中区分不同的主体;关系CODE是各种关系的唯一标识,用于关系网络中区分不同的关系;要求唯一。例如:主体一:手机,主体二:人,关系:绑定关系;这里可以定义为:手机主体的CODE:phone;用户主体的CODE:user;绑定关系的CODE:1001。

同时,为了满足不同的关系场景以及从通用性要求考虑,第二主体的值设计成KEY-VALUE的格式:K1=V1,K2=V2,K3=V3;K1=V4,K2=V5,K3=V6,一个主体一相关联的多个主体二的值,全部放到一个字段,按照上面的K-V格式规范拼接起来。

为构建可扩展的关系网络,本申请的优选实施例特别设计了用于生成关系数据通用关系数据接口协议规范,在具体的使用过程中,该规范内容如下表1所示:

表1

为了在保证数据唯一的基础上尽量使关系数据分配均匀,本申请针对以上关系数据的协议规范表的主键ROWKEY的设置协议规范如下:

MD5(主体1CODE+主体1VALUE+关系CODE+主体2CODE+日期(timestamp 10位数)+定制属性(如果有))(前8位)_主体1CODE_主体1VALUE_关系CODE_主体2CODE_日期(timestamp 10位数)_金额分档(如果有),如下表2所示:

表2

步骤S102,获取与所述第一主体的主体类型对应的关系主体表,所述关系主体表包含所述第一主体的类型ID与所述第一主体的主体属性的对应关系。

在优选的实施例中,本申请首先设置了关系主体表,用于记录关系数据中主要主体(第一主体)及其对应的属性。在具体场景中,关系主体表首先包含以下表1所示的关系菜单表,主要用于解耦前端系统的定制化开发,提供关系菜单表,保存前台展现的菜单页面内容:

表3

同时,针对关系主体表的属性,还可以另外设置关系主体属性配置表进行存储,其主要用于保存主体属性配置信息,包括主体的代码、前端页面需要展示的属性、以及显示类型等,如下表4所示:

表4

需要说明的是,以上表3及表4仅为本申请具体实施例为解释“关系主体表”所提出的一种优选方式,其他能够实现同样效果的方案均属于本申请的保护范围。

步骤S103,分别生成包含所述第一主体的类型ID的第一表项、包含所述关系ID与所述第二主体的类型ID的对应关系的第二表项,以及包含所述关系信息的第三表项。

在接收到一个新的待处理关系数据时,本申请首先将判断是否已记录了相同的主体类型,在优选的实施例中,本步骤首先查询当前是否存在包含所述第一主体的类型ID的关系主体表,若存在,则将所述关系主体表作为所述第一表项;若不存在,则创建包含所述第一主体的类型ID的关系主体表,并将所述关系主体表作为所述第一表项。

在具体实施过程中,本申请具体实施例采用如下表5所示的关系路由表保存前端关系网络中各种关系的基本映射信息,包括菜单、关系、目标表 (HBase)、目前主体对象等信息,提供关系的路由功能,便于各种关系间迅速的串联与打通。

表5

同时,本申请具体实施例还采用如下表6所示的关系主体表保存前端关系网络中各种关系主体的节点信息,包括主体的代码、描述、图标、是否有效、主体属性详情路由目标表(HBase)等,实现主体的动态配置,解耦前端开发。

表6

步骤S104,建立所述第一表项、所述第二表项、所述第三表项、所述关系主体表以及所述第一主体的主体值对应关系。

由于关系数据是用来构建关系网络的数据,这些数据按照装置提供的通用关系数据接口协议进行组织,路由维护表则是用于维护各种关系元数据,并为前端系统提供路由信息。因此本申请能够根据用户的不同查询分析需求, 通过这些路由信息,获取真正的关系数据进行可视化呈现。

在本实施例中,针对对应关系建立之后的查询操作,即在当接收到来自于用户的关系数据访问请求时,根据当前存在的关系主体表,向所述用户展示当前有效的主体类型;随后根据与所述用户选择的主体类型、关系类型以及输入的主体值所对应的对应关系,获取与所述对应关系对应的关系数据;最终根据所述关系数据生成关系网络,并向所述用户展示所述关系网络。

进一步地,在本实施例中,关系数据的生成方式如下:

步骤a)根据所述用户选择的主体类型以及输入的主体值,获取与所述主体类型的类型ID以及所述主体值对应的第一表项;

步骤b)根据所述对应关系,获取当前与所述第一表项对应的第二表项;

步骤c)根据所获取的第二表项向所述用户展示当前与所述类型ID以及所述主体值对应的关系类型;

步骤d)根据所述用户输入的配置信息,以及所选择的关系类型对应的第二表项,确定与所述第二表项、所述第一表项以及所述主体值对应的对应关系;

步骤e)根据所述对应关系生成所述关系数据。

为了能够更好地对关系数据进行展示,在本申请的一个优选实施例中,所述关系数据中还包括第四表项以及第五表项,所述第四表项包括所述关系ID与主体显示属性的对应关系,所述第五表项包括所述类型ID与关系显示属性的对应关系,并根据所述第四表项的主体显示属性以及第五表项的关系显示属性进行过滤以及渲染。

在具体的应用场景中,第四表项可按照如下表7所示的关系节点属性配置表进行设置,该关系节点属性配置表用于保存关系节点属性配置信息,包括菜单ID和NAME、KEY字段属性、统计类型、字段来源、是否需要统计、 显示类型等。

表7

第五表项可采用如表8所示的关系定制属性表,该关系定制属性表用于保存个性化定制属性配置信息,除了通用的关系网络展示相关的属性之外,不同的需求可能会针对某些特殊关系节点提供个性化的属性,这个关系定制属性表就是为了提供用户个性化的需求而设计的。

表8

基于上述流程,当需要往关系网络中扩展新的关系时,只需要完成新增 关系数据的开发,然后在维表中配置新增关系的路由信息即可。具体地,首先按照通用关系数据接口协议的规范,开发新的关系数据;然后在关系主体表中查询新增关系的主体是否已经存在,如果没有,需要往关系主体表新增关系主体,如果新增主体存在属性信息,需要新增主体属性;接着依次配置关系菜单表、关系路由表、关系节点属性表,完成新关系的路由信息的添加;最后,刷新前端系统的维表数据缓存,这样即可在关系网络中展示新扩展的关系数据,从而实现了关系数据处理的多样性扩展。

实施例三

基于与上述关系数据处理实现流程同样的申请构思,本申请实施例中还提供了一种关系数据处理设备,如图2所示,所述设备包括:

确定模块210,用于确定关系数据中各个主体的主体信息,以及所述主体之间的关系信息,所述主体包括第一主体以及第二主体,所述主体信息至少包括所述主体的主体值、主体属性以及与主体类型对应的类型ID,所述关系信息至少包括与关系类型对应的关系ID。

获取模块220,用于获取与所述第一主体的主体类型对应的关系主体表,所述关系主体表包含所述第一主体的类型ID与所述第一主体的主体属性的对应关系。

在本申请实施例中,所述方法作为关系网络适配层应用于关系网络系统中,所述关系网络系统还包括数据层、关系业务逻辑层以及前端展示层;

其中,所述关系网络适配层在所述数据层之上。

在本申请实施例中,所述第一表项、所述第二表项、所述第三表项以及所述关系主体表配置于所述关系网络适配层;所示关系数据根据预设的通用关系数据接口协议规范生成。

在本申请实施例中,所述获取模块获取与所述主体类型对应的第一表项, 具体为:

查询当前是否存在包含所述第一主体的类型ID的关系主体表;

若存在,将所述关系主体表作为所述第一表项;

若不存在,创建包含所述第一主体的类型ID的关系主体表,并将所述关系主体表作为所述第一表项。

生成模块230,用于分别生成包含所述第一主体的类型ID的第一表项、包含所述关系ID与所述第二主体的类型ID的对应关系的第二表项,以及包含所述关系信息的第三表项。

建立模块240,建立所述第一表项、所述第二表项、所述第三表项、所述关系主体表以及所述第一主体的主体值对应关系。

在具体的应用场景中,所述获取模块,具体用于查询当前是否存在包含所述第一主体的类型ID的关系主体表,并在存在时将所述关系主体表作为所述第一表项,以及在不存在时创建包含所述第一主体的类型ID的关系主体表,并将所述关系主体表作为所述第一表项。

在具体的应用场景中,还包括:

第一展示模块,用于在接收到来自于用户的关系数据访问请求时,根据当前存在的关系主体表,向所述用户展示当前有效的主体类型,

第二展示模块,用于根据与所述用户选择的主体类型、关系类型以及输入的主体值所对应的对应关系,获取与所述对应关系对应的关系数据,根据所述关系数据生成关系网络,并向所述用户展示所述关系网络。

在具体的应用场景中,所述建立模块,具体用于根据所述用户选择的主体类型以及输入的主体值获取与所述主体类型的类型ID以及所述主体值对应的第一表项,根据所述对应关系获取当前与所述第一表项对应的第二表项,根据所获取的第二表项向所述用户展示当前与所述类型ID以及所述主体值对应的关系类型,根据所述用户输入的配置信息以及所选择的关系类型对应的 第二表项确定与所述第二表项、所述第一表项以及所述主体值对应的对应关系,根据所述对应关系生成所述关系数据。

在具体的应用场景中,所述建立模块根据所述对应关系生成的关系数据中还包括第四表项以及第五表项,所述第四表项包括所述关系ID与主体显示属性的对应关系,所述第五表项包括所述类型ID与关系显示属性的对应关系。

在具体的应用场景中,所述建立模块根据所述关系数据生成关系网络,并向所述用户展示所述关系网络,具体为:

根据所述第四表项的主体显示属性以及第五表项的关系显示属性进行过滤以及渲染。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。

本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本申请序号仅仅为了描述,不代表实施场景的优劣。

以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1