获取网络资源访问的方法技术

技术编号:2827202 阅读:208 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种数据分布统计方法,包括:将访问记录分布定位的步骤;根据记录建立索引的步骤;通过索引进行统计的步骤。本发明专利技术提供的数据分布统计方法,以一个有100个节点,数据量为1000亿的群集为例,设其记录的键值数量为10亿,键值使用整数表示,每个键值占用4个字节,平均分布在100个节点中,每个节点的所有子索引大致占用40M(40亿*4/100)存储空间。设每个节点有5个子索引,则每个子索引只存储8M的数据,而主索引就集合了80M(40亿*8/100)数据。当需要对所有记录进行统计时,采用本发明专利技术可以在1秒内的时间内处理完毕,既不占用大量资源,也无需集中运算,大大提高统计效率。

【技术实现步骤摘要】

本专利技术涉及电数字数据处理领域,特别涉及。技术背景随着网络技术和应用的飞速发展,大量用户通过网络访问海量资源,统 计资源的点击率和访问量等参数需要进行复杂运算,占用资源。
技术实现思路
本专利技术目的在于提供一种,提高数据统计效率。本专利技术提供一种,包括将访问记录分布定位的步骤; 根据记录建立索引的步骤;通过索引进行统计的步骤。优选地,上述记录包括键和至少一属性,键的取值为键值,属性的取值 为属性值。优选地,上述将访问记录分布定位的步骤包括根据记录的属性值将记 录定位到区域中的步骤;根据记录的键值将记录定位到区域的簇中的步骤; 将记录定位到簇的节点中的步骤。优选地,上述根据记录建立索引的步骤包括按照至少一属性分别建立 子索引,将属性值相同的记录的4建值列入子索引中的步骤。优选地,上述按照至少一属性分别建立子索引,将属性值相同的记录的 键值列入子索引中的步骤包括查找对应属性的子索引的步骤;将访问记录 的键值加入已存在的对应属性子索引中的步骤;建立与访问记录属性对应的 子索引,将访问记录的键值加入子索引中的步骤。优选地,上述才艮据记录建立索引的步骤包括建立主索引,将子索引中 记录的4建值及其对应计数记入主索引中的步骤。优选地,上述建立主索引,将子索引中的键值及其对应计数记入主索引 中的步骤包括建立主索引;设主索引指针指向主索引头部,设子索引指针 指向子索引头部;判断当前主索引指针和子索引指针分别指向的键值是否相 等,相等则主索引中键值的计数加l;判断子索引指针指向的键值是否小于主 索引指针指向的4定值,如果小于则将子索引指针后移一位指向下一记录;如 果大于则将主索引指针后移 一位指向下 一键值;判断子索引指针是否指向子 索引尾部,尚未指向尾部则指针后移一位指向下一键值,返回判断当前主索引指针和子索引指针分别指向的键值是否相等,循环直到子索引指针指向子 索引尾部。优选地,上述通过索引进行统计的步骤是指读取主索引,取得4定值及其 对应计数作为统计结果。优选地,上述在节点中统计访问记录,在簇中整合属 于簇的所有节点的统计结果,在区域中汇总属于区域的所有簇的统计结果。本专利技术提供的,以一个有100个节点,数据量为1000亿的群集为例,设其记录的键值数量为io亿,键值使用整数表示,每个键值占用4个字节,平均分布在100个节点中,每个节点的所有子索引大致占用 40M (40亿*4/100)存储空间。设每个节点有5个子索引,则每个子索引只存 储8M的数据,而主索引就集合了 80M (40亿*8/100)数据。当需要对所有记 录进行统计时,采用本专利技术可以在1秒内的时间内处理完毕,即不占用大量 资源,也无需集中运算,大大提高统计效率。附图说明图l是本专利技术第一实施例的三层次结构示意图;图2是本专利技术第二实施例子索引示意图;图3是本专利技术第二实施例主索引示意图;图4是本专利技术第二实施例建立子索引的流程示意图;图5是本专利技术第二实施例建立主索引的流程示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步 说明。具体实施方式本专利技术提出第一实施例,本实施例提出将网络上的服务器或计算机在逻 辑上分为区域、簇和节点三层次结构。如图1所示,将网络上进行具体数据 存储和/或处理的单位称为节点,服务器、计算机、手持设备甚至虚拟主机都 可以作为一个节点;多个节点组成一个蔟,多个簇组成一个区域,节点、蔟 和区域都是虚拟概念而非局限于实体。区域、簇和节点的组织逻辑为每个簇可以有簇和节点两种子节点,每 个节点都有一定的存储和/或处理能力,数据量超出存储和/或处理能力可能 引起不稳定或速度降低。每当某个节点数据量达到其存储和/或处理能力极限 的时候,就将一个节点分裂为多个节点,而原节点就转化为一个新簇,新簇依然隶属于原簇。本实施例根据用户对各站点或网络资源的每次访问都形成一条记录,每 条记录都有一个唯一标示该记录的键。参照表l,每条记录都有多个属性,每个属性都有若干取值,属性的取值为属性值;每条记录都有一个键,键的取值称为键值。<table>table see original document page 6</column></row><table>表l当用户访问某站点或网络资源,形成一条访问记录时,本实施例先将记 录分布定位,在需要进行统计时,根据记录建立索引,通过索引进行统计。其中对记录的分布定位的步骤包括步骤SIO,根据记录的4盍值进行路由,将记录定位到某个具体的区域; 步骤S12,根据记录的键值,将记录定位到上述区域的某个具体的簇中; 步骤S14,簇根据自己预设的策略将记录定位到具体的节点。 对于键值相同的多笔记录,本实施例将其都定位在一组节点上,多笔记 录之间互不重叠,这是保证可以进行并行分布计算的前提。本实施例定义主索引及子索引两种索引,其中主索引记载至少一键值及 该键值对应的记录数;而子索引是按照属性分别建立的,每个子索引仅记载 相同属性值的所有记录的键值,主索引及子索引都按照键值的顺序排序。 在需要统计记录数量时,本实施例的建立索引的步骤包括 步骤S20,按照至少一属性分别建立子索引,将所有记录都列入子索引中; 步骤S22,建立主索引,将子索引中记录的4建#_记入主索引中。 根据索引进行统计的步骤是对建立好的主索引,读取其中的键值和相应的 计数,形成统计结果。基于上一实施例,本专利技术提出第二实施例,实现数据的统计。参照图1 示出的区域、簇和节点三层次结构, 一个区域包括4个簇,每个簇包括两个 节点。以一个站点的访问记录数据为例,每笔访问记录都有用户编号、性别、 职业、年龄、爱好等多个属性,每个属性都分别取值,这些取值可以是在预 设值中选取,也可以是由用户提供;选取用户编号作为键。参见表2,示出多 笔记录的示例<table>table see original document page 7</column></row><table>表2根据上述三层结构,本实施例提出分布定位方法包括步骤S30,按照一个或多个属性将记录入不同的区域中,例如按照职业来划分,将职业为学生的记录划分到第一区域,将职业为职员的记录划分到第二区域,依此类推;步骤S32,根据记录中键值模4的结果对应定位到某个具体的簇中; 步骤S34,根据记录中键值模2的结果,将记录定位到某个具体的节点中;上述模运算是根据簇和节点的数量而定,不同的簇可以拥有不同个数的 节点,每个簇记录自己拥有的节点数量,当节点数变化时,修改该节点数量, 以便根据节点数量单独进行求模运算。上述分布定位也可采用其他算法。在需要统计记录数量时,结合表2所示的访问记录示例,本实施例提出 才艮据用户性别这一属性分别建立子索引,本实施例的统计方法包括步骤S40,读取访问记录;步骤S42,将访问记录按照键值排序;步骤S44,将这些访问记录的键值分别列入男性子索引和女性子索引中, 形成如图2所示的子索引;建立主索引,将子索引所有键值列入主索引,将 键值对应计数分别记载在该键值对应的计数栏,形成如图3所示的主索引;步骤S44,根据主索引,得出所有键值及其对应的计数,该数字即访问该 站点的访问量,流程结束。上述步本文档来自技高网...

【技术保护点】
一种数据分布统计方法,包括:将访问记录分布定位的步骤;根据记录建立索引的步骤;通过索引进行统计的步骤。

【技术特征摘要】
1.一种数据分布统计方法,包括将访问记录分布定位的步骤;根据记录建立索引的步骤;通过索引进行统计的步骤。2. 根据权利要求l所述的数据分布统计方法,其特征在于,所述记录包 括4建和至少一属性,所述键的取值为键值,所述属性的取值为属性值。3. 根据权利要求2所述的数据分布统计方法,其特征在于,所述将访问 记录分布定位的步骤包括根据记录的属性值将记录定位到区域中的步骤; 根据记录的键值将记录定位到所述区域的簇中的步骤; 将记录定位到所述簇的节点中的步骤。4. 根据权利要求2所述的数据分布统计方法,其特征在于,根据记录建立索引的步骤包括按照至少一属性分别建立子索引,将属性值相同的记录的键值列入所述 子索引中的步骤。5. 根据权利要求4所述的数据分布统计方法,其特征在于,按照至少一 属性分别建立子索引,将属性值相同的记录的4建#_列入所述子索引中的步骤 包括查找对应属性的子索引的步骤;将访问记录的键值加入已存在的对应属性子索引中的步骤; 建立与访问记录属性对应的子索引,将访问记录的4定值加入所迷子索引 中的步骤。6. 根据权利要求2所述的数据分布统计方法,其特征在于,根据记录建立...

【专利技术属性】
技术研发人员:吴双
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:94[中国|深圳]

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

1