基于区块链的访问量统计方法、装置、设备和存储介质与流程

文档序号:17740818发布日期:2019-05-24 20:04阅读:250来源:国知局
基于区块链的访问量统计方法、装置、设备和存储介质与流程

本申请涉及区块链技术领域,尤其涉及一种基于区块链的访问量统计方法、装置、计算机设备和存储介质。



背景技术:

访问量即pageview,简称pv。即页面浏览量,用户每1次对网站中的每个网页访问均被记录1次。用户对同一页面的多次访问,访问量进行累计。网站访问量的衡量标准一个是独立ip,另一个是pv,常以日为标准,即日独立ip和日pv来计算。一台电脑上网即为一个独立ip。pv即pageview的缩写,即页面浏览量,一个独立ip可以产生多个pv,所以pv个数≥独立ip个数。

随着计算机网络技术的普及和不断发展,许多产品开发人员开发研制出越来越多的应用,放到网络平台上供大家选择、下载和使用。每一种应用在放到网络平台上之后,产品开发人员都希望知道其开发研制的应用是不是很受欢迎,受欢迎的程度有多高。所以网络平台的管理人员会根据产品开发人员的需求对每项应用的用户访问量、页访问量等进行统计。其主要是采用拦截器,监听器等手段对网站信息流进行监听和拦截以获得网页或者网站的访问量。

但是,目前在进行站点访问量统计时存在着数据容易更改,且查询速度慢的问题,造成访问量统计不真实,存在着虚假数据的问题。



技术实现要素:

有鉴于此,有必要针对站点访问量统计过程中,数据容易被篡改而且查询耗时长,不能及时对站点的访问量进行统计的问题,提供一种基于区块链的访问量统计方法、装置、计算机设备和存储介质。

一种基于区块链的访问量统计方法,包括如下步骤:

获取多个待统计访问量的站点的位置信息,赋予各所述站点以不同的id标识;

根据所述id标识,确定共识节点数量,从所述共识节点的数据信息中获取节点特征代码,根据所述节点特征代码建立连接所述共识节点的区块链;

获取所述区块链产生的信息,对所述区块链产生的信息进行解析,得到各所述待统计访问量的站点的访问量;

获取访问量统计请求,从所述访问量统计请求中提取出对应站点的位置信息,根据所述位置信息抽取所述对应站点的数据信息,根据所述数据信息得到所述访问量统计请求所请求的访问量数据。

在其中一个实施例中,所述获取多个待统计访问量的站点的位置信息,赋予各所述站点以不同的id标识,包括:

获取所述待统计访问量的站点的访问历史数据,将所述历史数据按照距离现在时刻的远近进行排序;

根据所述历史数据与现在时刻的差值,赋予不同的权重,其中距离现在时刻越近的所述历史数据的权重越大;

将所述历史数据进行加权求和得到一信息抓取时间阈值,根据所述信息抓取时间阈值对所述待统计访问量站点进行信息采集,得到所述待统计访问量的站点位置信息;

抽取所述站点位置信息中的ip地址,根据所述ip地址,给予所述待统计访问量的站点以id标识。

在其中一个实施例中,所述根据所述id标识,确定共识节点数量,从所述共识节点的数据信息中获取节点特征代码,根据所述节点特征代码建立连接所述共识节点的区块链,包括:

根据所述id标识,追踪每一个所述待统计访问量的站点产生的信息的变化数量;

根据所述待统计访问量的站点的信息的变化数量,将各所述待统计访问量的站点分为主节点和从节点;

汇总所述从节点的访问量信息,广播至所述主节点,汇总所述主节点的访问量信息,广播至所述共识节点;

将所述共识节点接收到的信息进行投票验证,生成投票结果,传递所述投票结果至所述主节点进行结果分析,根据有效结果数确定所述共识节点的数量,其中投票结果包括“1”和“0”,当所述投票结果为“1”时表示向所述主节点传递的交易信息有效,当所述投票结果为“0”时表示向所述主节点传递的交易信息无效。

在其中一个实施例中,所述获取所述区块链产生的信息,对所述区块链产生的信息进行解析,得到各所述待统计访问量的站点的访问量,包括:

获取所述区块链中各子节点产生的数据信息,将各所述子节点的数据信息广播至所述共识节点;

将所述数据信息按照信息生成的时间节点进行排序,建立时间访问量直方图,其中所述访问量直方图的横坐标为时间,纵坐标为访问量,根据所述时间访问量直方图的纵坐标获取任意时间的访问量。

在其中一个实施例中,所述获取访问量统计请求,从所述访问量统计请求中提取出对应站点的位置信息,根据所述位置信息抽取所述对应站点的数据信息,根据所述数据信息得到所述访问量统计请求所请求的访问量数据,包括:

接收所述访问量统计请求,并根据所述访问量统计请求生成对所述访问量统计请求中的统计项进行统计的配置文件,所述配置文件包含对所述统计项进行统计的节点地址和统计规则;

将所述配置文件传输至所述共识节点,应用哈希算法对所述配置文件中的节点地址和统计规则进行查询,并抽取出核心元素,所述核心元素包括站点ip地址和数据统计时段;

根据所述核心元素对所述待统计访问量的站点进行数据采集,得到所述站点的访问量。

在其中一个实施例中,所述抽取所述站点位置信息中的ip地址,根据所述ip地址,给予所述待统计访问量的站点以id标识,包括:

获取进行dns解析服务的递归请求,将所述递归请求的信息进行分解,查询分解后的所述递归请求中的关键字获得待访问域名;

根据所述待访问域名向至少两个不同的dns解析服务器发送拨测请求,获取所有所述dns解析服务器根据所述拨测请求得到的拨测结果,所述拨测结果包括ip地址;

汇总所述拨测结果,识别出重复度最高的ip地址,此ip地址作为待统计访问量的站点的ip地址;

根据所述待统计访问量的站点的ip地址,给予所述待统计访问量的站点以id标识。

在其中一个实施例中,所述获取所述区块链中各子节点产生的数据信息,将各所述子节点的数据信息广播至所述共识节点,包括:

获取各所述子节点产生的子数据,根据所述子数据生成记录文本;

同步所述记录文本于各所述子节点的上级从节点;

广播存储在所述上级从节点中的所述记录文本至所述共识节点。

一种基于区块链的访问量统计装置,包括如下模块:

赋予id标识模块,设置为获取多个待统计访问量的站点的位置信息,赋予各所述站点以不同的id标识;

生成区块链模块,设置为根据所述id标识,确定共识节点数量,从所述共识节点的数据信息中获取节点特征代码,根据所述节点特征代码建立连接所述共识节点的区块链;

统计访问量模块,设置为获取所述区块链产生的信息,对所述区块链产生的信息进行解析,得到各所述待统计访问量的站点的访问量;

获取访问量模块,设置为获取访问量统计请求,从所述访问量统计请求中提取出对应站点的位置信息,根据所述位置信息抽取所述对应站点的数据信息,根据所述数据信息得到所述访问量统计请求所请求的访问量数据。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述基于区块链的访问量统计方法的步骤。

一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述协议接口测试方法的步骤。

上述基于区块链的访问量统计方法、装置、计算机设备和存储介质,包括获取多个待统计访问量的站点的位置信息,赋予各所述站点以不同的id标识;根据所述id标识,确定共识节点数量,从所述共识节点的数据信息中获取节点特征代码,根据所述节点特征代码建立连接所述共识节点的区块链;获取所述区块链产生的信息,对所述区块链产生的信息进行解析,得到各所述待统计访问量的站点的访问量;获取访问量统计请求,从所述访问量统计请求中提取出对应站点的位置信息,根据所述位置信息抽取所述对应站点的数据信息,根据所述数据信息得到所述访问量统计请求所请求的访问量数据。本技术方案针对站点访问量统计过程中,数据容易被篡改而且查询耗时长,不能及时对站点的访问量进行统计的问题,通过区块链技术对访问站点的数据信息进行固化,能够有效防止访问量被篡改,并提升了统计速度。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。

图1为本申请在一个实施例中的一种基于区块链的访问量统计方法的整体流程图;

图2为本申请在一个实施例中的一种基于区块链的访问量统计方法中的赋予id标识过程示意图;

图3为本申请在一个实施例中的一种基于区块链的访问量统计方法中的生成区块链过程示意图;

图4为本申请在一个实施例中的一种基于区块链的访问量统计装置的结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。

图1为本申请在一个实施例中的一种基于区块链的访问量统计方法的整体流程图,如图1所示,一种基于区块链的访问量统计方法,包括以下步骤:

s1,获取多个待统计访问量的站点的位置信息,赋予各所述站点以不同的id标识;

具体的,在进行访问量统计时,站点的位置由于动态域名的存在使得很难确定每一个网页具体的访问量,因此需要对站点的位置信息进行固定,在赋予id标识时可以根据对站点位置信息中的ip地址进行解析后,将ip地址的后3位作为站点的id标识。

s2,根据所述id标识,确定共识节点数量,从所述共识节点的数据信息中获取节点特征代码,根据所述节点特征代码建立连接所述共识节点的区块链;

具体的,如果两个不同的站点的id标识中的首字母一致,则在这两个站点之间建立共识节点,然后在提取在同一时间段内两个站点的相同的数据信息作为节点的特征代码,若任意两个共识节点之间的特征代码一致,则将这两个共识节点连接。

s3,获取所述区块链产生的信息,对所述区块链产生的信息进行解析,得到各所述待统计访问量的站点的访问量;

具体的,设置数个时间节点,当时间节点到来时,从所述区块链中进行信息提取,提取时可以采用网络爬虫对信息进行爬取,然后将爬取到的信息进行特征词检索,检索出与访问相关的信息,根据访问相关的信息,得到所述待统计访问量的站点的访问量。

s4,获取访问量统计请求,从所述访问量统计请求中提取出对应站点的位置信息,根据所述位置信息抽取所述对应站点的数据信息,根据所述数据信息得到所述访问量统计请求所请求的访问量数据。

具体的,对访问量统计请求进行特征词检索,检索出与站点位置信息相关的特征词,进而确定访问统计的请求是关于那些网站的。比如,检索出访问统计请求信息中包含“体育”这一特征词,则检索区块链上所有与体育相关的网站的访问量。

本实施例,通过区块链技术有效确定待统计访问量的站点位置,并能够及时准确的统计出站点具体的访问量。

图2为本申请在一个实施例中的一种基于区块链的访问量统计方法中的赋予id标识过程示意图,如图所示,获取多个待统计访问量的站点的位置信息,赋予各所述站点以不同的id标识,包括:

s101、获取所述待统计访问量的站点的访问历史数据,将所述历史数据按照距离现在时刻的远近进行排序;

具体的,在将历史数据按照现在时刻的远近进行排序时,可以将相邻的两个时间段内的历史数据进行打包成一个历史数据组,这种情况主要是针对夜间时段,在夜间时段由于部分网站需要维护,且访问人数较少,因此可以将0时至4时的访问数据进行打包统计。

s102、根据所述历史数据与现在时刻的差值,赋予不同的权重,其中距离现在时刻越近的所述历史数据的权重越大;

其中,距离现在最近的时刻的历史数据的权重可以是“1”,而距离现在时刻超过1000天的历史数据的权重可以是“0”。

s103、将所述历史数据进行加权求和得到一信息抓取时间阈值,根据所述信息抓取时间阈值对所述待统计访问量站点进行信息采集,得到所述待统计访问量的站点位置信息;

具体的,对于时间阈值可以根据实际情况进行修正,修正时可以将抓确时间阈值入参到误差修正模型中进行训练,训练后得到修正后的抓取时间阈值,然后根据修正后的抓取时间阈值对所述待统计访问量站点进行信息采集,然后对抓取到的信息进行站点特征词检索,检索后得到所述待统计访问量的站点位置信息。

s104、抽取所述站点位置信息中的ip地址,根据所述ip地址,给予所述待统计访问量的站点以id标识。

本实施例,通过历史数据确定站点的位置信息,然后对站点进行id标识,从而固定了访问量的来源。

图3为本申请在一个实施例中的一种基于区块链的访问量统计方法中的生成区块链过程示意图,如图所示,所述根据所述id标识,确定共识节点数量,从所述共识节点的数据信息中获取节点特征代码,根据所述节点特征代码建立连接所述共识节点的区块链,包括:

s201、根据所述id标识,追踪每一个所述待统计访问量的站点产生的信息的变化数量;

具体的,在一个站点产生访问量时,首先要获取站点的位置信息,然后才能访问该站点,在获取位置信息时即同时获得了id标识,因此当访问一个站点一次时,则id标识出现一次。

s202、根据所述待统计访问量的站点的信息的变化数量,将各所述待统计访问量的站点分为主节点和从节点;

其中,主节点是指同一大类网站被访问时的数据汇总点,从节点是指同一小类网站被访问时的数据汇总点;比如主节点对应的信息为“体育”,而从节点对应的信息为“篮球”。

s203、汇总所述从节点的访问量信息,广播至所述主节点,汇总所述主节点的访问量信息,广播至所述共识节点;

其中,主节点主要是将从节点的访问数据进行汇总,而共识节点则是为了对访问信息进行真实性验证。

s204、将所述共识节点接收到的信息进行投票验证,生成投票结果,传递所述投票结果至所述主节点进行结果分析,根据有效结果数确定所述共识节点的数量,其中投票结果包括“1”和“0”,当所述投票结果为“1”时表示向所述主节点传递的交易信息有效,当所述投票结果为“0”时表示向所述主节点传递的交易信息无效。

本实施例,通过建立主节点、从节点和共识节点,有利于对站点访问量进行多级监管,防止数据被篡改。

在一个实施例中,所述获取所述区块链产生的信息,对所述区块链产生的信息进行解析,得到各所述待统计访问量的站点的访问量,包括:

获取所述区块链中各子节点产生的数据信息,将各所述子节点的数据信息广播至所述共识节点;

将所述数据信息按照信息生成的时间节点进行排序,建立时间访问量直方图,其中所述访问量直方图的横坐标为时间,纵坐标为访问量,根据所述时间访问量直方图的纵坐标获取任意时间的访问量。

具体的,在建立访问量直方图时,可以对每一个直方图进行不同颜色标记,并且将访问量数据表示在直方图的上方以便于人工核验和观察。

本实施例,通过建立访问量直方图,可以有效地计算访问量,并且直观。

在一个实施例中,所述获取访问量统计请求,从所述访问量统计请求中提取出对应站点的位置信息,根据所述位置信息抽取所述对应站点的数据信息,根据所述数据信息得到所述访问量统计请求所请求的访问量数据,包括:

接收所述访问量统计请求,并根据所述访问量统计请求生成对所述访问量统计请求中的统计项进行统计的配置文件,所述配置文件包含对所述统计项进行统计的节点地址和统计规则;

具体的,统计规则可以是根据站点的分类,进行分类统计,比如“体育”、“娱乐”和“新闻”等,也可以根据访问时段,比如“7点~8点”、“10点~12点”等。

将所述配置文件传输至所述共识节点,应用哈希算法对所述配置文件中的节点地址和统计规则进行查询,并抽取出核心元素,所述核心元素包括站点ip地址和数据统计时段;

其中,哈希算法就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

根据所述核心元素对所述待统计访问量的站点进行数据采集,得到所述站点的访问量。

本实施例中,通过建立配置文件对访问量统计制定有效的规则,提升了统计站点访问量的准确性。

在一个实施例中,所述抽取所述站点位置信息中的ip地址,根据所述ip地址,给予所述待统计访问量的站点以id标识,包括:

获取进行dns解析服务的递归请求,将所述递归请求的信息进行分解,查询分解后的所述递归请求中的关键字获得待访问域名;

根据所述待访问域名向至少两个不同的dns解析服务器发送拨测请求,获取所有所述dns解析服务器根据所述拨测请求得到的拨测结果,所述拨测结果包括ip地址;

具体的,在对递归请求进行分解时,可以进行逐级查询,找到站点dns服务器所对应最终的查询结果,然后再进行拨测验证。

汇总所述拨测结果,识别出重复度最高的ip地址,此ip地址作为待统计访问量的站点的ip地址;

根据所述待统计访问量的站点的ip地址,给予所述待统计访问量的站点以id标识。

本实施例,通过对站点的ip地址进行dns解析,从而得到待统计访问量站点的正确id标识。

在一个实施例中,所述获取所述区块链中各子节点产生的数据信息,将各所述子节点的数据信息广播至所述共识节点,包括:

获取各所述子节点产生的子数据,根据所述子数据生成记录文本;

同步所述记录文本于各所述子节点的上级从节点;

广播存储在所述上级从节点中的所述记录文本至所述共识节点。

具体的,获取各个节点正在访问页面的元数据,将元数据按照预设的时间顺序或者字符顺序生成记录文本,并将记录文本发送给上级从节点;从节点暂存接收到的所述文本记录,然后在记录文本中建立元数据的索引目录,然后再将带有索引目录的记录文本广播至相应的共识节点,完成数据的传输。

本实施例,通过生成记录文本,有效防止访问量数据在传输过程中被篡改。

在一个实施例中,提出了基于区块链的访问量统计装置,如图4所示,包括如下模块:

赋予id标识模块,设置为获取多个待统计访问量的站点的位置信息,赋予各所述站点以不同的id标识;

生成区块链模块,设置为根据所述id标识,确定共识节点数量,从所述共识节点的数据信息中获取节点特征代码,根据所述节点特征代码建立连接所述共识节点的区块链;

统计访问量模块,设置为获取所述区块链产生的信息,对所述区块链产生的信息进行解析,得到各所述待统计访问量的站点的访问量;

获取访问量模块,设置为获取访问量统计请求,从所述访问量统计请求中提取出对应站点的位置信息,根据所述位置信息抽取所述对应站点的数据信息,根据所述数据信息得到所述访问量统计请求所请求的访问量数据。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述各实施例中所述基于区块链的访问量统计方法的步骤。

一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中所述基于区块链的访问量统计方法的步骤。所述存储介质可以为非易失性存储介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请一些示例性实施例,其中描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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