[发明专利]一种面向社交活动组织的时间聚合查询方法有效

专利信息
申请号: 201510779130.4 申请日: 2015-11-13
公开(公告)号: CN105389370B 公开(公告)日: 2018-05-22
发明(设计)人: 曹斌;侯晨煜;范菁 申请(专利权)人: 浙江工业大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 杭州天正专利事务所有限公司 33201 代理人: 王兵;黄美娟
地址: 310014 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种面向社交活动组织的时间聚合查询方法,包括下列步骤:步骤1.建立索引结构SB*‑Tree;步骤2、SB*‑Tree的具体操作;步骤3.查询,具体包括获取参与时间区间、获得候选方案、最优方案选择。本发明为了能够更有效地解决“确定聚会时间难”的问题,基于现有的SB‑Tree,对它的结构进行拓展,提出了一种新的索引结构和查询技术,能够有效地解决上述提出的三个问题。本发明最终实现的功能是能够根据参与人员自己提交的意向时间,为聚会活动提供最优的举办时间,能够保证最多的人员参加活动。而人数的计算采用count聚合函数。
搜索关键词: 一种 面向 社交 活动 组织 时间 聚合 查询 方法
【主权项】:
1.一种面向社交活动组织的时间聚合查询方法,包括下列步骤:步骤1.建立索引结构SB*-Tree;针对SB-Tree进行拓展,建立SB*-Tree树形数据结构;SB*-Tree与SB-Tree不同的是:SB*-Tree中每个时间区间N.Ii增加了其对应的参与人员ID的集合N.si;SB*-Tree树包含一个最大分支因子b和最大叶子容量l;SB*-Tree的中间节点最大能够包括b个时间区间,叶子节点最多能够包括l个时间区间,它们共同决定了SB*-Tree的布局;关于SB*-Tree的结构的详细描述如下:结构中使用的符号的含义如下:N.Ii是节点N的第i个时间区间,N.ti是节点N的第i个时间点,是第i个区间的结束时间,也是i+1个区间的开始时间,N.vi是节点N的第i个时间区间对应的参与人数,N.si是节点N的第i个时间区间对应的具体参与人员ID的集合,N.ci是节点N的第i个时间区间对应的子节点;1.1中间节点:每个中间节点有三层结构,分别为N.ti、N.vi、N.si,另外还有一个指向子树的指针N.ci;每个中间节点最多能够表示b个连续的时间区间,并且要保证该节点至少是半满的,即至少表示个时间区间;假设一个中间节点N表示了j个时间区间,分别为N.I1,N.I2,N.I3,……,N.Ij;节点中存储了j-1个不同的时间点,分别为N.t1,N.t2,N.t3,……,N.tj-1;其中N.ti表示第i个区间的结束时间,也是i+1个区间的开始时间;同时每个时间区间N.Ii都有对应的参与人数N.vi,参与人员的ID的集合N.si和指向下一个子节点的指针N.ci;1.2叶子节点;叶子节点最多能够表示l个连续的时间区间,并且必须至少表示个时间区间;其结构与中间节点类似,也有三层结构,分别为N.ti、N.vi、N.si,只是没有指向下一个子节点的指针;1.3根节点;根节点的结构与中间节点相同,同时最多能够表示b个连续的时间区间,但是最少只要表示2个时间区间即可;1.4节点性质;对于每个非叶子节点N,所有在以N.ci为根的节点中的瞬时时间点都要严格小于N.ti,同时以N.ci+1为根的节点中的所有瞬时时间点都要严格大于N.ti;步骤2、SB*-Tree的具体操作;2.1区间定义:考虑第i个时间区间N.Ii,N.Ii的开始时间记为start(N.Ii),结束时间记为end(N.Ii);2.1.1 start(N.Ii)的取值如下:如果i>1,start(N.Ii)=N.ti-1;如果i=1且N为根节点,start(N.Ii)=-∞;如果i=1且N有父节点N′,而且N′的第k个指针指向N,即N′.ck=N,则start(N.Ii)=start(N′.Ik);2.1.2 end(N.Ii)的取值如下:如果i<j,end(N.Ii)=N.ti;如果i=j且N为根节点,end(N.Ii)=+∞;如果i=j且N有父节点N′,而且N′的第k个指针指向N,即N′.ck=N,则end(N.Ii)=end(N′.Ik);2.1.3区间的定义如下:如果start(N.Ii)≠-∞,则区间表示为[start(N.Ii),end(N.Ii));如果start(N.Ii)=-∞,则区间表示为(-∞,end(N.Ii));2.2插入:假设插入一条记录<I,name>,name表示用户的唯一标识,I表示用户的空闲时间;我们调用过程Insert(N,<I,name>)来完成插入操作,Insert(N,<I,name>)表示向以N为根的子树中插入<I,name>;Insert(N,<I,name>)的具体操作为:对于所有满足的i,(1)如果那么其区间对应的参与人数加1,参与人员集合添加该name(2)如果且N是叶子节点,则将要插入的记录添加到该节点,修改相应值;(3)如果且N不是叶子节点,调用过程Insert(N.ci,<I,name>);2.3删除:假设删除一条记录<I,name>,name表示用户的唯一标识,I表示用户的空闲时间;删除操作与插入操作类似,我们记为delete(N,<I,name>)具体操作如下:对于所有满足的i,(1)如果
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510779130.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

tel code back_top