CN103886011B - 一种基于索引文件的社会关系网络创建与检索系统及方法 - Google Patents
一种基于索引文件的社会关系网络创建与检索系统及方法 Download PDFInfo
- Publication number
- CN103886011B CN103886011B CN201310751919.XA CN201310751919A CN103886011B CN 103886011 B CN103886011 B CN 103886011B CN 201310751919 A CN201310751919 A CN 201310751919A CN 103886011 B CN103886011 B CN 103886011B
- Authority
- CN
- China
- Prior art keywords
- relation
- data
- node
- rsql
- numbering
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Software Systems (AREA)
Abstract
一种基于索引文件的社会关系网络创建与检索系统,包括:关系计算引擎、关系存储系统及关系检索引擎;其中关系计算引擎,对输入的社会关系数据进行计算处理,分析出社会人员之间的两两原始关系数据;将关系计算引擎计算出的原始关系数据,按关系点、关系、属性、索引分类,以文件方式进行磁盘存储;关系检索引擎,对关系存储系统中的关系数据通过RSQL进行查询与过滤,返回结果给检索客户端。本发明能够在海量的社会关系数据中高效、快速地完成对人员的多层关系过滤与挖掘。
Description
技术领域
本发明涉及一种基于索引文件的社会关系网络创建与检索系统及方法,属于计算机网络技术领域。
背景技术
对社会人员关系分析,现有技术一般是将人员社会活动数据采集到关系型数据库表中(如ORACLE、MYSQL、SQLSERVER等),再通过SQL语句或者存储过程对人员的社会关系进行预处理。依据规则计算出每一个人的关系人并按关系类别存储到关系表中。
现有技术主要有两大致命缺点:(1)通过SQL在检索关系时,只能检索一层关系,无法通过一次查询完成对多层关系的检索与挖掘;(2)由于关系型数据库存储容量有限,并且在海量数据下关系挖掘有着无法跨越性能瓶颈。因此现有技术,为了减小数据量、提高性能,一般只采集特定人群的社会关系数据,造成了大量有价值关系的丢失。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种基于索引文件的社会关系网络创建与检索系统及方法,建立全民社会关系网络,并可以在海量的社会关系数据中高效、快速地完成对人员的多层关系过滤与挖掘。
本发明技术解决方案:一种基于索引文件的社会关系网络创建与检索系统,其特征在于包括:关系计算引擎、关系存储系统及关系检索引擎;其中:
关系计算引擎,对输入的社会关系数据进行计算处理,分析出社会人员之间两两关系,具体实现为:
(1)按抽取时间戳,获取原始待处理数据(如旅馆住宿数据),将数据按指定字段排序(如按住宿时间从大到小排列);
(2)取第一条数据放入计算数据缓冲池(使用Redis实现),然后取第二条数据按关系规则与放入池内的数据进行比较,若符合关系规则【旅馆号相同、房间号相同、入住和退房时间有交集】的,生成关系数据【张三,关系类型:同住,同住人:李四,同住时间:20131012,同住地点:A旅馆B房间】,将关系数据存入关系型数据库中;如ORACLE,MYSQL)中,存储格式如图6;
(3)依据关系规则(如住宿关系,需清除缓冲池中某房间的7天前的住宿记录),清除计算数据缓冲池中的一定范围的缓冲数据;
(4)更新计算时间戳,循环执行以上步骤,得到原始关系数据送至关系存储系统;
关系存储系统,将关系计算引擎计算出的原始关系数据,按关系点(即关系人和目标人)、关系(如同住、同行等)、属性(同住时间、人员姓名等)、索引(人员按编号索引、关系按发生时间索引)分类,以文件方式进行磁盘存储,具体实现为:
(1)获取关系过度库中的关系数据;
(2)提取每一条关系数据中的关系人和目标人,生成结点数据存储文件。具体存储内容为该结点编号、该结点最后创建的关系编号、最后创建的属性编号;
(3)提取每一条关系数据中的关系类型,生成关系数据存储文件,具体存储内容为该关系编号、该条关系的开始结点编号、开始结点前一条关系编号、开始结点后一条关系编号、结束结点前一条关系编号、结束结点后一条关系编号、关系类型、最后创建的属性编号;
(4)提取每一条关系数据中的关系人和关系类型的属性,生成属性数据存储文件;
(5)根据条件,在(2)、(3)步骤中,为关系结点或者关系创建索引,索引创建是为了提高数据检索的性能。
关系检索引擎,对关系存储系统中的关系数据通过RSQL进行查询与过滤,返回结果给检索客户端,包括有以下步骤:
A.通过对外接口,获取检索客户端提交的RSQL语句;
B.对RSQL语句进行语法与词法分析,并从中提取开始结点编号;
C.根据B中结点编号,检索关系存储系统,获取结点数据;
D.从C中的结点数据结构中,获取该结点最后创建的关系编号;
E.根据D中的关系编号,检索关系存储系统,获取关系数据;
F.从E中的关系数据提取关系属性,与RSQL输入的关系参数进行比对(如“关系发生时间、关系发生地点”),符合条件的,将关系结束结点作为查询结果加入结果列表,并返回关系数据;
G.从F中返回的关系数据结构中,获取当前关系开始结点和结束结点的前一条关系编号和后一条关系编号,重复E-F步骤;
H.将检索过程中的关系和结点加入系统缓存,下次检索时直接从缓存读取数据;
I.返回结果数据。
关系存储系统中:
(1)关系结点物理存储结构
结点编号 | 最后创建的关系编号 | 最后创建的属性编号 |
(2)关系边的物理存储结构
关系结点和关系都是以文件形式存储于磁盘中。
关系检索引擎具体实现过程如下:
(1)用户指定检索参数,检索引擎根据参数(如身份证号),获取开始结点信息。
(2)获取开始结点最新创建的关系,从关系中获取结束结点前一条关系和后一条关系。如果前后关系都不存在,表示该条关系检索完成。如果关系存在,则将该未结点加入待检索子结点队列。
(3)获取开始结点的前一条关系信息,若不存在前一条关系,表示该层关系检索完成。
(4)若存在前一条关系,从关系中获取结束结点前一条关系和后一条关系。如果前后关系都不存在,表示该条关系检索完成。如果关系存在,则将该未结点加入待检索子结点队列。
(5)查询对子结点队列,对子结点进行检索,检索过程与(2)、(3)、(4)相同,此步多层检索功能。
(6)对每层结果合并,返回。
关系检索引擎具体实现过程如下:
(1)使用Restful WebService形式实现检索引擎对外接口,用于给用户端提交RSQL语句,RSQL包括目标人、关系类型、关系发生时间、关系发生地点、返回数据格式。
(2)基于Java脚本语言,实现校验程序,对(1)提交的RSQL进行词法与语法校验。校验通过后,将RSQL拆分为结点、关系、条件三类结构数据,并返回。
(3)检索引擎从(2)中的结点数据中获取开始结点编号,通过RPC调用,至关系存储系统中检索对应结点数据,由结点的存储结构(图7)可知,可以从中获取最新创建的关系数据,并将关系属性与(2)中条件数据进行关系运算(大于、等于、小于、包含、区间、并且、或者等)。符合条件,加入关系数据至哈希表中,作为中间结果返回。
(4)对(3)返回的关系数据哈希表进行遍历,由关系的存储结构(图8)可知,可以从中获取表中每条关系的前后关系数据,关系属性符合条件的,将关系加入(3)中的哈希表中,并将当前关系标识为已遍历。重复此步骤,直至所有关系都被遍历,返回哈希表数据。
(5)按RSQL对返回数据格式要求,对(4)返回的关系数据哈希表进行遍历并组装结果数据。将结果作为http response数据体返回给调用端。
一种基于索引文件的社会关系网络创建与检索方法,实现步骤如下:
(1)对原始社会人员轨迹数据(存在于关系型数据库、文本文件等介质中),按关联规则进行比对处理,将比对结果存入关系型数据库的关系过渡表中。表存储字段如图6所示。
(2)关系存储系统抓取关系过渡表中的关系数据,提取每一行数据中的【目标人ID、目标人姓名、目标人类型】和【关系人ID、关系人姓名、关系人ID类型】以及关系编号作为关系的结点数据,存入结点文件内。这种结构的优点是通过结点快速关联到该结点相对应的关系,同时结点具有全库唯一性。结点的文件存储结构如图7所示。
(3)关系存储系统按规则需求提取每一行数据中的【关系类型编码、关系发生时间、关系发生场所】以及关系开始结点、结束结点作为关系数据,以双向链表结构存入关系文件内。这种结构的优点是可以通过关系快速关联到该关系的结点,同时不会对结点属性和关系属性进行冗余存储(传统数据库即使表的列为空,也会占用存储空间),大量节省了磁盘空间。关系的文件存储结构如图8所示。
(4)对关系和结点,使用倒排映射法分别建立索引,这样在数据检索时,可以快速通过索引条件定位关系和结点所处物理位置。索引文件的结构如图3所示。
本发明与现有技术相比具有明显的优点在于:
(1)本发明提供了Rsql关系检索语言,可以实现人员社会关系的多层次挖掘。
(2)本发明可以完成对海量社会关系的文件式存储,并且在此基础上高效的(一秒内完成对50亿关系数据挖掘并返回)进行关系检索与挖掘。
附图说明
图1为本发明的总体组成框图;
图2为本发明中关系计算引擎流程图;
图3为本发明中关系索引文件结构图;
图4为本发明中关系检索引擎执行流程;
图5为本发明中关系检索引擎结构图;
图6为本发明中关系过渡表的存储格式;
图7为本发明中关系结点的物理存储结构;
图8为本发明中关系的物理存储结构。
具体实施方式
如图1所示,本发明的系统包括关系计算引擎、关系存储系统、关系检索引擎。关系计算引擎将未处理的社会人员轨迹数据,按关系规则处理,并存入关系中间库。关系存储引擎通过抓取关系中间库数据,将每条数据按结点、关系、索引、属性以磁盘文件形式分别存储。关系检索引擎则是对关系存储系统里的关系文件进行查询、过滤,返回结果数据。
如图2所示,关系计算引擎,对输入的社会关系数据进行计算处理,分析出社会人员之间两两关系,具体实现为:
(1)按抽取时间戳,获取原始待处理数据(如旅馆住宿数据),将数据按指定字段排序(如按住宿时间从大到小排列);
(2)取第一条数据放入计算数据缓冲池,然后取第二条数据按关系规则与放入池内的数据进行比较,若符合关系规则【旅馆号相同、房间号相同、入住和退房时间有交集】的,生成关系数据【张三,关系类型:同住,同住人:李四,同住时间:20131012,同住地点:A旅馆B房间】,将关系数据放入关系过度库中;
(3)依据关系规则(如住宿关系,需清除缓冲池中某房间的住宿记录),清除计算数据缓冲池中的一定范围的缓冲数据;
(4)更新计算时间戳,循环执行(1)、(2)、(3)步骤;
关系计算引擎是关系存储系统的数据来源,通过计算引擎将各种原始人员信息的格式转化为可供关系存储系统进行存储的数据格式,存储系统才可以进行数据抽取。
关系存储引擎对关系计算引擎计算出的关系过度库中的关系进行重新组织,将关系数据抽象为关系点(Node)与关系边(Relationship),并将抽象对象存储为分散的索引文件。
关系存储矩阵示意:
表1人员关系存储矩阵模型
人员-关系矩阵是表达两者之间所具有的一种包含关系的概念模型,图3中的每列代表一个关系,每行代表一个人员(关系点),打对勾的位置代表关系包含对应人员。
从关系这个维度来看,每列代表关系包含了哪些人员,比如同案包含了张三和王五,而不包含其它人员。从人员这个维度来看,每行代表了哪些关系包含了某个人。比如对于李四来说,同监和同航班中出现过李四,而其它文档不包含词李四。矩阵中其它的行列也可作此种解读。
1.人员关系存储文件
现实活动中,关系的数量远远大于人员的数量,为了实现表1中的关系模型,并且达到高效的存储与检索效率,系统采用如下方式对人员和关系进行存储:
1)人员关系索引列表:
人员、关系映射表用来记录有哪些关系包含了某个人。每个关系会记录关系编号(Relationship ID)、目标人(Start Node)、关系人(End Node)、关系类型、关系时间、关系地点等信息,这样与一个关系相关的信息组成了关系索引项,包含这个人的多个关系索引项形成了关系列表结构,这个列表结点就是某个对应的人员关系索引列表。关系索引列表包括了所有人员及其对应的倒排列表组成了人员、关系映射列表。
2)人员关系索引列表组成结构:
a)关系(Relationship):系统关系计算引擎处理的对象是RDBMS或者格式化文档,而关系代表被关系计算引擎处理过的结果数据。包括关系人、关系类型、关系属性。
b)关系编号(Relationship ID):在在系统存储内部,会将每一个关系赋予一个唯一的内部编号,以此编号来作为这个关系的唯一标识,这样方便内部处理,每个关系的内部编号即称之为“关系编号”。
c)结点编号(Node ID):与关系编号类似,系统存储内部以唯一的编号来表征某个结点(人员),结点编号可以作为某个人员的唯一表征。
d)人员关系索引(NR Index):人员关系索引是实现“人员-关系矩阵”的一种具体存储形式,通过人员关系索引,可以根据人员快速获取包含这个人员的关系列表。人员关系索引主要由两个部分组成:“结点字典”和“排序列表”。
·人员字典(NDict):系统定义在检索时,必须是以人员ID开始进行检索,人员词典是由关系中出现过的所有人员构成的字符串集合,人员词典内每条索引项记载人员本身的一些信息以及指向“排序列表”的指针。
人员字典是关系存储中非常重要的组成部分,它用来维护关系集合中出现过的所有人员的相关信息,同时用来记载某个人员对应的排序列表在索引文件中的位置信息。
·排序列表(RList):排序列表记载了出现过某个人员的所有关系的关系列表信息,每条记录称为一个关系项(Rel)。根据排序列表,即可获知哪些关系包含某个人。
e)索引文件(Index File):所有人员的排序列表顺序地存储在磁盘上的物理文件。
3)人员关系存储构建过程示意图:
索引构建流程描述:
1)抽取关系过度库数据。
2)生成人员关系对应表、人员字典表。
3)对人员关系进行倒排映射,形成人员关系索引文件。
4)关系索引文件结构如图3所示。
5)倒排映射实例
倒排前数据结构示意:
关系编号 | 关系人 | 关系类型 | 目标关系人 |
R1 | 张三 | 同案(TA) | 李四 |
R2 | 李四 | 同户(TH) | 小强 |
R3 | 王五 | 同监(TJ) | 李四 |
R4 | 陈六 | 同火车(THC) | 张三 |
倒排后数据结构示意:
人员ID | 人员 | 关系排列表 |
1 | 张三 | <R1:TA,R4:THC> |
2 | 李四 | <R1:TA,R2:TH,R3:TJ,R4:THC> |
3 | 王五 | <R3:TJ> |
4 | 小强 | <R2:THC> |
系统对人员关系建立倒排映射后,可以很方便地响应用户的关系检索,比如用户输入人员ID“1”,系统会首先到人员字典里查询该人员对应的关系排序列表,根据关系排序列表到索引文件中读出包含这个人的所有关系,这些关系就是提供给用户的搜索结果,而利用关系类型、关系时间、关系地点、开始或关系人等信息即可以对这些候选搜索结果进行过滤、分组等操作。
如图4所示,关系检索引擎,提供了关系检索语言Rsql,对已形成的关系存储文件进行检索。Rsql是类SQL的关系检索语言。
结构描述:
1.Restful对外接口层用于外界将Rsql传递给检索引擎。
2.Rsql语法解析器对外部传入的Rsql语句进行语法解析,不符合语法规范的直接抛出异常。
3.Rsql词法解析器对外部传入的Rsql语句进行词法解析,不符合词法规范的直接抛出异常。
4.Rsql缓冲区检索引擎会将所有解析过的Rsql语句经过hash算法后,放入到缓冲区,当执行Rsql时,检索引擎直接从缓冲区获取对应的相关参数(如索引文件位置)以提高解析效率。
5.结果内容缓存检索引擎对所检索人员和关系使用LRU算法进行缓存。以提高检索性能。性能参数需要在启动系统时设置。
6.索引文件访问层检索引擎访问索引文件的适配层。
检索引擎执行流程如图4所示。
Rsql语法结构如下:
·START:关系检索的开始,索引关系的开始结点,如人员身份证号。
·MATCH:用于和START绑定,定义一个查询匹配模型。
·WHERE:用于查询条件过滤。
·RETURN:用于返回结果集。
·CREATE:用于创建人员结点与人与人之间的关系。
·DELETE:用于删除人员或者关系。
·SET:用于设置结点或者关系的属性。
·FOREACH:对结点或者关系进行循环迭代操作。
·WITH:将查询结果切分成几个不同的部分。
以上节存储索引文件为基础,Rsql检索关系人的几类典型例子:
1.(在固定关系范围内检索)张三的所有关系人:
语句:Start s=node(张三)match s-[r]-t return t;
返回结果:李四,陈六;
2.(在固定关系范围内检索)与张三同火车(THC)的关系人:
语句:Start s=node(张三)match s-[:THC]-t return t;
返回结果:陈六;
3.(多层关系挖掘)张三同案关系人的同户关系人:
语句:Start s=node(张三)match s-[:TA]->t1-[:TH]->t return t;
返回结果:小强;
4.(多人同时检索)张三和王五的所有关系人:
语句:Start s=node(张三,王五)match s-[r]-t return t;
返回结果:李四、小强、王五、陈六;
5.(关系过滤)2013年10月23日与张三同火车(THC)的关系人:
语句:Start s=node(张三)match s-[r:THC]-t where r.gxfssj=’30131023’return t;
6.(求和)张三的所有关系人总数:
语句:Start s=node(张三)match s-[r]-t return count(t);
返回:2。
综上所述,本发明通过结点和关系将人员以及人员之间的关系抽象化。通过双向链表存储结构,将结点和关系联系在一起。实现了人员到关系、关系到人员的多层次检索。存储模型上,结点、关系的属性是按需进行存储,是否有属性以及属性是否相同,都无强制要求。而传统数据库的表列,即使不存储,也会占用磁盘空间。这样,在相同的磁盘空间上,本发明可以存储更多的数据,适应存储海量数据的环境。存储空间上,系统使用倒排映射方式对关系数据进行索引存储,大量减少了物理空间的使用,同时大幅度提高了检索性能。
Claims (3)
1.一种基于索引文件的社会关系网络创建与检索系统,其特征在于包括:关系计算引擎、关系存储系统及关系检索引擎;其中:
关系计算引擎,对输入的社会关系数据进行计算处理,分析出社会人员之间的两两原始关系数据,具体实现为:
(1)按抽取时间戳,获取原始待处理数据,将数据按指定字段排序;
(2)取第一条数据放入计算数据缓冲池,然后取第二条数据按关系规则与放入池内的数据进行比较,若符合关系规则的,生成关系数据,将关系数据存入关系型数据库;
(3)依据所述关系规则,清除计算数据缓冲池中的一定范围的缓冲数据;
(4)更新计算时间戳,循环执行步骤(1)-(3),得到原始关系数据送至关系存储系统;关系存储系统,将关系计算引擎计算出的原始关系数据,按关系点、关系、属性、索引分类,以文件方式进行磁盘存储;
关系检索引擎,对关系存储系统中的关系数据通过RSQL进行查询与过滤,返回结果给检索客户端,包括有以下步骤:
A.通过对外接口,获取检索客户端提交的RSQL语句;
B.对RSQL语句进行语法与词法分析,并从中提取开始结点编号;
C.根据B中结点编号,检索关系存储系统,获取结点数据;
D.从C中的结点数据中,获取该结点最后创建的关系编号;
E.根据D中的关系编号,检索关系存储系统,获取关系数据;
F.从E中的关系数据提取关系属性,与RSQL输入的关系参数进行比对,符合条件的,将关系结束结点作为查询结果加入结果列表,并返回关系数据;
G.从F中返回的关系数据中,获取当前关系开始结点和结束结点的前一条关系编号和后一条关系编号,重复E-F步骤;
H.将检索过程中的关系和结点加入系统缓存,下次检索时直接从缓存读取数据;
I.返回结果数据;
所述RSQL是类SQL的关系检索语言,
RSQL结构描述:
Restful对外接口层用于外界将Rsql传递给检索引擎;
Rsql语法解析器对外部传入的Rsql语句进行语法解析,不符合语法规范的直接抛出异常;
RSQL词法解析器对外部传入的RSQL语句进行词法解析,不符合词法规范的直接抛出异常;
RSQL缓冲区检索引擎会将所有解析过的RSQL语句经过hash算法后,放入到缓冲区,当执行RSQL时,检索引擎直接从缓冲区获取对应的相关参数以提高解析效率;
结果内容缓存检索引擎对所检索人员和关系使用LRU算法进行缓存;
索引文件访问层检索引擎访问索引文件的适配层;
RSQL语法结构如下:
START:关系检索的开始,索引关系的开始结点;
MATCH:用于和START绑定,定义一个查询匹配模型;
WHERE:用于查询条件过滤;
RETURN:用于返回结果集;
CREATE:用于创建人员结点与人与人之间的关系;
DELETE:用于删除人员或者关系;
SET:用于设置结点或者关系的属性;
FOREACH:对结点或者关系进行循环迭代操作;
WITH:将查询结果切分成几个不同的部分。
2.根据权利要求1所述的基于索引文件的社会关系网络创建与检索系统,其特征在于:所述关系存储系统具体实现为:
(11)获取关系型数据库中的关系数据;
(12)提取每一条关系数据中的关系人和目标人,生成结点数据存储文件,具体存储内容为该结点编号、该结点最后创建的关系编号、最后创建的属性编号;
(13)提取每一条关系数据中的关系,按关系类型,生成对应的关系数据存储文件,具体存储内容为该关系编号、该条关系的开始结点编号、开始结点前一条关系编号、开始结点后一条关系编号、结束结点前一条关系编号、结束结点后一条关系编号、关系类型、最后创建的属性编号;
(14)提取每一条关系数据中的关系人和关系类型的属性,生成属性数据存储文件;
(15)在(12)、(13)步骤中,为关系结点或者关系创建索引,索引创建是为了提高数据检索的性能。
3.一种基于索引文件的社会关系网络创建与检索方法,其特征在于实现步骤如下:
(1)对原始社会人员轨迹数据,按关系规则进行比对处理,将比对结果存入关系数据库中;
(2)关系存储系统抓取关系型数据库中的关系数据,提取每一行数据中的目标人的ID、姓名、类型和关系人的ID、姓名、类型以及关系编号作为关系的结点数据,存入结点文件内;
(3)关系存储系统按规则需求提取每一行数据中的关系类型编码、关系发生时间、关系发生场所以及关系开始结点、结束结点作为关系数据,以双向链表结构存入关系数据库内;
(4)对关系和结点,使用倒排映射法分别建立索引,这样在数据检索时,能够快速通过索引条件定位关系和结点所处物理位置;
(5)关系检索引擎,对关系存储系统中的关系数据通过RSQL进行查询与过滤,返回结果给检索客户端,包括有以下步骤:
A.通过对外接口,获取检索客户端提交的RSQL语句;
B.对RSQL语句进行语法与词法分析,并从中提取开始结点编号;
C.根据B中结点编号,检索关系存储系统,获取结点数据;
D.从C中的结点数据中,获取该结点最后创建的关系编号;
E.根据D中的关系编号,检索关系存储系统,获取关系数据;
F.从E中的关系数据提取关系属性,与RSQL输入的关系参数进行比对,符合条件的,将关系结束结点作为查询结果加入结果列表,并返回关系数据;
G.从F中返回的关系数据中,获取当前关系开始结点和结束结点的前一条关系编号和后一条关系编号,重复E-F步骤;
H.将检索过程中的关系和结点加入系统缓存,下次检索时直接从缓存读取数据;
I.返回结果数据;
其中所述RSQL是类SQL的关系检索语言,
RSQL结构描述:
Restful对外接口层用于外界将Rsql传递给检索引擎;
Rsql语法解析器对外部传入的Rsql语句进行语法解析,不符合语法规范的直接抛出异常;
RSQL词法解析器对外部传入的RSQL语句进行词法解析,不符合词法规范的直接抛出异常;
RSQL缓冲区检索引擎会将所有解析过的RSQL语句经过hash算法后,放入到缓冲区,当执行RSQL时,检索引擎直接从缓冲区获取对应的相关参数以提高解析效率;
结果内容缓存检索引擎对所检索人员和关系使用LRU算法进行缓存;
索引文件访问层检索引擎访问索引文件的适配层;
RSQL语法结构如下:
START:关系检索的开始,索引关系的开始结点;
MATCH:用于和START绑定,定义一个查询匹配模型;
WHERE:用于查询条件过滤;
RETURN:用于返回结果集;
CREATE:用于创建人员结点与人与人之间的关系;
DELETE:用于删除人员或者关系;
SET:用于设置结点或者关系的属性;
FOREACH:对结点或者关系进行循环迭代操作;
WITH:将查询结果切分成几个不同的部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310751919.XA CN103886011B (zh) | 2013-12-30 | 2013-12-30 | 一种基于索引文件的社会关系网络创建与检索系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310751919.XA CN103886011B (zh) | 2013-12-30 | 2013-12-30 | 一种基于索引文件的社会关系网络创建与检索系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103886011A CN103886011A (zh) | 2014-06-25 |
CN103886011B true CN103886011B (zh) | 2017-04-12 |
Family
ID=50954903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310751919.XA Active CN103886011B (zh) | 2013-12-30 | 2013-12-30 | 一种基于索引文件的社会关系网络创建与检索系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103886011B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077386A (zh) * | 2014-06-27 | 2014-10-01 | 深圳市万姓宗祠网络科技股份有限公司 | 一种族谱数据关系表的创建及查询方法 |
CN104978416B (zh) * | 2015-06-26 | 2018-05-22 | 北京理工大学 | 一种基于Redis的对象智能检索方法 |
CN105096144A (zh) * | 2015-08-24 | 2015-11-25 | 小米科技有限责任公司 | 社交关系分析方法及装置 |
CN107679240B (zh) * | 2017-10-27 | 2020-11-10 | 中国计量大学 | 一种虚拟身份挖掘方法 |
CN110704421A (zh) * | 2018-06-22 | 2020-01-17 | 中兴通讯股份有限公司 | 数据处理方法、装置、设备和计算机可读存储介质 |
CN109241052A (zh) * | 2018-07-26 | 2019-01-18 | 山东大学 | 一种基于关联数据的存储方法、装置、介质及设备 |
CN109344260A (zh) * | 2018-08-28 | 2019-02-15 | 北京明略软件系统有限公司 | 一种基于时空轨迹的隐性关系挖掘方法、系统和终端 |
CN109800251A (zh) * | 2019-01-16 | 2019-05-24 | 北京明略软件系统有限公司 | 一种关系发现方法和装置、计算机可读存储介质 |
CN109857557A (zh) * | 2019-01-16 | 2019-06-07 | 北京明略软件系统有限公司 | 关系发现的分布式计算方法和系统、计算机可读存储介质 |
CN111444402A (zh) * | 2019-10-29 | 2020-07-24 | 天津大学 | 基于索引构建和社会因控网络进行社区检测的分析方法 |
CN116756088A (zh) * | 2023-08-21 | 2023-09-15 | 湖南云档信息科技有限公司 | 一种档案内人物关系的分析方法及相关设备 |
CN118471409A (zh) * | 2024-05-13 | 2024-08-09 | 扬州大学附属医院(扬州市第一人民医院) | 一种儿童心血管数据集成及智能归档系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321183A (zh) * | 2008-06-30 | 2008-12-10 | 刘鑫 | 一种可信任的社会关系推荐系统及其运行方法 |
CN101493818A (zh) * | 2008-01-24 | 2009-07-29 | 徐蔚 | 基于人际关系网络的网络信息搜索方法 |
CN103020221A (zh) * | 2012-12-12 | 2013-04-03 | 中国科学院自动化研究所 | 一种基于多模态自适应社会关系强度挖掘的社会搜索方法 |
CN103119620A (zh) * | 2008-10-25 | 2013-05-22 | 高智83基金会有限责任公司 | 基于推测的社会关系的行为建议 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645417B2 (en) * | 2008-06-18 | 2014-02-04 | Microsoft Corporation | Name search using a ranking function |
US20110055200A1 (en) * | 2009-08-26 | 2011-03-03 | Nokia Corporation | Method and apparatus for utilizing existing hash identifiers of decision diagrams |
-
2013
- 2013-12-30 CN CN201310751919.XA patent/CN103886011B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493818A (zh) * | 2008-01-24 | 2009-07-29 | 徐蔚 | 基于人际关系网络的网络信息搜索方法 |
CN101321183A (zh) * | 2008-06-30 | 2008-12-10 | 刘鑫 | 一种可信任的社会关系推荐系统及其运行方法 |
CN103119620A (zh) * | 2008-10-25 | 2013-05-22 | 高智83基金会有限责任公司 | 基于推测的社会关系的行为建议 |
CN103020221A (zh) * | 2012-12-12 | 2013-04-03 | 中国科学院自动化研究所 | 一种基于多模态自适应社会关系强度挖掘的社会搜索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103886011A (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103886011B (zh) | 一种基于索引文件的社会关系网络创建与检索系统及方法 | |
Franzosi et al. | Quantitative narrative analysis software options compared: PC-ACE and CAQDAS (ATLAS. ti, MAXqda, and NVivo) | |
AU2016359060B2 (en) | Storing and retrieving data of a data cube | |
CN110300963A (zh) | 大规模数据储存库中的数据管理系统 | |
CN102918494B (zh) | 基于数据库模型不可知论、纲要不可知论且工作负载不可知论的数据存储和存取模型的数据存储和/或检索方法和系统 | |
CN110168515A (zh) | 用于分析数据关系以支持查询执行的系统 | |
CN107122443A (zh) | 一种基于Spark SQL的分布式全文检索系统及方法 | |
JP3914662B2 (ja) | データベース処理方法及び実施装置並びにその処理プログラムを記憶した媒体 | |
CN109947796B (zh) | 一种分布式数据库系统查询中间结果集的缓存方法 | |
KR101549220B1 (ko) | 데이터베이스 관리 방법, 시스템 및 데이터베이스 트리 구조 | |
CN107291964B (zh) | 一种基于HBase实现模糊查询的方法 | |
CN105373607B (zh) | 一种电力业务系统sql访问日志压缩方法 | |
Frühwirt et al. | InnoDB database forensics: Enhanced reconstruction of data manipulation queries from redo logs | |
JP7105982B2 (ja) | 構造化レコード取得 | |
US10628421B2 (en) | Managing a single database management system | |
Rozsnyai et al. | Large-scale distributed storage system for business provenance | |
CN106503214A (zh) | 一种基于Redis内存数据库的复杂规则匹配方法 | |
Soussi et al. | Towards social network extraction using a graph database | |
JP4045400B2 (ja) | 検索装置及び検索方法 | |
US20120158692A1 (en) | Query systems | |
Cappellari et al. | A path-oriented rdf index for keyword search query processing | |
Khelil et al. | Combining graph exploration and fragmentation for scalable RDF query processing | |
Manghi et al. | De-duplication of aggregation authority files | |
CN114510491B (zh) | 一种动态随访量表设计方法和系统 | |
Christen et al. | Advanced record linkage methods and privacy aspects for population reconstruction—a survey and case studies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent for invention or patent application | ||
CB02 | Change of applicant information |
Address after: High tech Zone Hefei city Anhui province 230088 Wangjiang Road No. 666 building 8-10 Xunfei Applicant after: Xun Feizhi metamessage Science and Technology Ltd. Address before: High tech Zone Hefei city Anhui province 230088 Wangjiang Road No. 666 building 8-10 Xunfei Applicant before: ANHUI IFLYTEK INTELLIGENT SYSTEM CO., LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |