[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN106933722A - 一种网页应用监控方法、服务器和系统 - Google Patents

一种网页应用监控方法、服务器和系统 Download PDF

Info

Publication number
CN106933722A
CN106933722A CN201710128486.0A CN201710128486A CN106933722A CN 106933722 A CN106933722 A CN 106933722A CN 201710128486 A CN201710128486 A CN 201710128486A CN 106933722 A CN106933722 A CN 106933722A
Authority
CN
China
Prior art keywords
monitored
page
web application
monitoring
monitor
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.)
Granted
Application number
CN201710128486.0A
Other languages
English (en)
Other versions
CN106933722B (zh
Inventor
胡倪斌
方谦翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tengyun Tianyu Technology (beijing) Co Ltd
Original Assignee
Tengyun Tianyu Technology (beijing) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tengyun Tianyu Technology (beijing) Co Ltd filed Critical Tengyun Tianyu Technology (beijing) Co Ltd
Priority to CN201710128486.0A priority Critical patent/CN106933722B/zh
Publication of CN106933722A publication Critical patent/CN106933722A/zh
Application granted granted Critical
Publication of CN106933722B publication Critical patent/CN106933722B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种网页应用监控方法,该方法在待监控页面的源码中引入目标监控脚本文件,目标监控脚本文件对应于一个网页应用标识;在计算设备处输入待监控页面的地址,该地址中包括网页应用标识。当目标监控脚本文件所对应的网页应用标识与待监控页面地址中的网页应用标识一致时,实现握手。计算设备处能够显示出标记了当前埋点情况的待监控页面,开发人员通过在待监控页面中点击元素即可生成埋点监控事件并存储于服务器。当用户浏览埋点过的页面时,触发执行目标监控脚本文件,从监控服务器处获取当前页面的监控事件集合,根据监控事件集合来收集用户访问信息并上报至服务器。本发明还公开了能够实施上述方法的服务器和系统。

Description

一种网页应用监控方法、服务器和系统
技术领域
本发明涉及互联网技术领域,尤其涉及一种网页应用监控方法、服务器和系统。
背景技术
由于跨平台、强兼容性、低开发成本等优势,网页应用(Web App)逐渐取代原生应用(iOS App、Android App),成为开发者的首选。
在移动应用领域,为了不断地改进应用的性能,需要获取用户数据,了解用户对应用的使用情况。现有的用户数据采集方法多为人工埋点(埋点,即在正常的功能逻辑中添加统计逻辑),即由开发人员人工地定义控件或页面元素所对应的统计逻辑,并将该统计逻辑写入该控件或元素对应的代码里。这样,当用户使用该控件或元素时,可以通过埋点代码收集用户的行为数据。人工埋点方式需要编写额外的埋点代码,费时费力且容易出错。当应用功能升级时,需要重新定义埋点逻辑并编写相应的埋点代码;当修改了埋点逻辑时,也需要对整个应用版本进行升级,加大了开发及测试的工作量。
因此,需要提供一种针对网页应用的埋点方法,以实现对网页应用的监控。
发明内容
为此,本发明提供一种网页应用监控方法、服务器和系统,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种网页应用监控方法,一个网页应用包括一个或多个页面,每个网页应用对应于一个网页应用标识,该方法在监控服务器中执行,监控服务器包括数据存储装置,数据存储装置中存储有一个或多个监控脚本文件,每个监控脚本文件对应于一个网页应用标识,数据存储装置中还存储有一个或多个监控事件,每个监控事件对应于一个页面中的一个元素,该方法包括:接收计算设备发送的待监控页面地址,待监控页面地址中包括网页应用标识,待监控页面的源码中包括对目标监控脚本文件的引用;当待监控页面地址中的网页应用标识与目标监控脚本文件所对应的网页应用标识一致时,根据待监控页面地址从数据存储装置处获取待监控页面的监控事件集合,并指示计算设备根据监控事件集合将标记出可监控元素的待监控页面渲染出来;接收计算设备对于可监控元素的选定以及对该可监控元素的事件配置信息的设置;将选定的可监控元素及其事件配置信息作为监控事件,存储于数据存储装置中以便对已选定的可监控元素进行监控。
可选地,在根据本发明的网页应用监控方法中,在接收计算设备发送的待监控页面地址的步骤之前,还包括:为待监控页面所属的网页应用分配一个网页应用标识,生成与该网页应用标识所对应的目标监控脚本文件;向该网页应用所包括的所有页面的源码中添加对于目标监控脚本文件的引用。
可选地,在根据本发明的网页应用监控方法中,向该网页应用所包括的所有页面的源码中添加对于目标监控脚本文件的引用的步骤包括:向该网页应用所对应的所有页面的HTML文件中添加script元素,script元素的src属性值为目标监控脚本文件的地址。
可选地,在根据本发明的网页应用监控方法中,指示计算设备根据监控事件集合将标记出可监控元素的待监控页面渲染出来的步骤包括:将待监控页面作为iframe元素显示于计算设备的浏览器中,采用不同的显示格式标记待监控页面中的可监控元素和已监控元素。
可选地,在根据本发明的网页应用监控方法中,事件配置信息包括事件名称,接收计算设备对于可监控元素的选定以及对该可监控元素的事件配置信息的设置的步骤包括:接收计算设备对于可监控元素的选定;获取选定的可监控元素在待监控页面的文档对象模型中的路径,采用预设的显示格式在待监控页面中标记出该可监控元素;接收计算设备对于该可监控元素所对应的事件名称的设置;将选定的可监控元素在待监控页面的文档对象模型中的路径、对应的事件名称、待监控页面所对应的网页应用标识、以及待监控页面地址关联存储于监控服务器的缓存接口中。
可选地,在根据本发明的网页应用监控方法中,在采用预设的显示格式在待监控页面中标记出该可监控元素的步骤之后,还包括:基于计算设备的指示,根据可监控元素在待监控页面的文档对象模型中的路径查找该可监控元素的上一级元素,并将上一级元素作为选定的可监控元素。
可选地,在根据本发明的网页应用监控方法中,将路径、事件名称、网页应用标识、待监控页面地址关联存储于监控服务器的缓存接口中的步骤包括:用通配符替换待监控页面地址中的参数,生成通配后的待监控页面地址;将选定的可监控元素在待监控页面的文档对象模型中的路径、对应的事件名称、待监控页面所对应的网页应用标识、以及通配后的待监控页面地址关联存储于监控服务器的缓存接口中。
可选地,在根据本发明的网页应用监控方法中,将选定的可监控元素及其事件配置信息作为监控事件,存储于数据存储装置中以便对已选定的可监控元素进行监控的步骤包括:接收计算设备发送的将选定的可监控元素及其事件配置信息全部生效的指示,将缓存接口中存储的信息作为监控事件存储于数据存储装置中,以便对已选定的可监控元素进行监控。
可选地,在根据本发明的网页应用监控方法中,根据待监控页面地址从数据存储装置处获取待监控页面的监控事件集合的步骤包括:接收计算设备对于待监控页面地址是否为通配的待监控页面地址的指示;当待监控页面地址为通配的待监控页面地址时,根据通配的待监控页面地址从数据存储装置处获取待监控页面的监控事件集合。
可选地,在根据本发明的网页应用监控方法中,在将选定的可监控元素及其事件配置信息作为监控事件存储的步骤之后,还包括:在客户端访问待监控页面时,调用目标监控脚本文件从数据存储装置处获取待监控页面的监控事件集合,根据监控事件集合收集客户端对于待监控页面的访问信息。
可选地,在根据本发明的网页应用监控方法中,访问信息包括基本信息和已监控元素信息,基本信息包括客户端标识、浏览器信息、客户端当前所处的地理位置信息中的一种或多种,其中,浏览器信息包括当前客户端所使用的浏览器的版本信息、代理信息、操作系统信息中的一种或多种,地理位置信息包括当前客户端所处的经纬度信息、定位精度、海拔信息、速度信息、方向信息中的一种或多种;已监控元素信息包括客户端对于已监控元素的浏览量、点击量中的一种或多种。
根据本发明的一个方面,提供一种网页应用监控方法,一个网页应用包括一个或多个页面,每个网页应用对应于一个网页应用标识,该方法在监控系统中执行,监控系统包括计算设备和监控服务器,监控服务器包括数据存储装置,数据存储装置中存储有一个或多个监控脚本文件,每个监控脚本文件对应于一个网页应用标识,数据存储装置中还存储有一个或多个监控事件,每个监控事件对应于一个页面中的一个元素,该方法包括:计算设备接收开发人员输入的待监控页面地址,并将待监控页面地址发送至监控服务器,其中,待监控页面地址中包括网页应用标识,待监控页面的源码中包括对目标监控脚本文件的引用;监控服务器接收计算设备发送的待监控页面地址,并判断待监控页面地址中的网页应用标识与目标监控脚本文件所对应的网页应用标识是否一致,若二者一致,则根据待监控页面地址从数据存储装置处获取待监控页面的监控事件集合,并将监控事件集合发送至计算设备;计算设备根据接收到的监控事件集合,将标记出可监控元素的待监控页面渲染出来,接收开发人员对于可监控元素的选定以及对该可监控元素的事件配置信息的设置,并将接收到的可监控元素及其事件配置信息发送至监控服务器;监控服务器将接收到的可监控元素及其事件配置信息作为监控事件,存储于数据存储装置中以便对已选定的可监控元素进行监控。
可选地,在根据本发明的网页应用监控方法中,在计算设备接收开发人员输入的待监控页面地址的步骤之前,还包括:监控服务器为待监控页面所属的网页应用分配一个网页应用标识,生成与该网页应用标识所对应的目标监控脚本文件;在计算设备处向该网页应用所包括的所有页面的源码中添加对于目标监控脚本文件的引用。
可选地,在根据本发明的网页应用监控方法中,向该网页应用所包括的所有页面的源码中添加对于目标监控脚本文件的引用的步骤包括:向该网页应用所对应的所有页面的HTML文件中添加script元素,script元素的src属性值为目标监控脚本文件的地址。
可选地,在根据本发明的网页应用监控方法中,计算设备根据接收到的监控事件集合,将标记出可监控元素的待监控页面渲染出来的步骤包括:计算设备将待监控页面作为iframe元素显示于浏览器中,采用不同的显示格式标记待监控页面中的可监控元素和已监控元素。
可选地,在根据本发明的网页应用监控方法中,事件配置信息包括事件名称,接收开发人员对于可监控元素的选定以及对该可监控元素的事件配置信息的设置,并将接收到的可监控元素及其事件配置信息发送至监控服务器的步骤包括:接收开发人员对于可监控元素的选定;获取选定的可监控元素在待监控页面的文档对象模型中的路径,采用预设的显示格式在待监控页面中标记出该可监控元素;接收开发人员对于该可监控元素所对应的事件名称的设置;将选定的可监控元素在待监控页面的文档对象模型中的路径、对应的事件名称、待监控页面所对应的网页应用标识、以及待监控页面地址发送至监控服务器的缓存接口中。
可选地,在根据本发明的网页应用监控方法中,在采用预设的显示格式在待监控页面中标记出该可监控元素的步骤之后,还包括:基于开发人员的指示,根据可监控元素在待监控页面的文档对象模型中的路径查找该可监控元素的上一级元素,并将上一级元素作为选定的可监控元素。
可选地,在根据本发明的网页应用监控方法中,将路径、事件名称、网页应用标识、待监控页面地址发送至监控服务器的缓存接口中的步骤包括:用通配符替换待监控页面地址中的参数,生成通配后的待监控页面地址;将选定的可监控元素在待监控页面的文档对象模型中的路径、对应的事件名称、待监控页面所对应的网页应用标识、以及通配后的待监控页面地址发送至监控服务器的缓存接口中。
可选地,在根据本发明的网页应用监控方法中,监控服务器将接收到的可监控元素及其事件配置信息作为监控事件,存储于数据存储装置中以便对已选定的可监控元素进行监控的步骤包括:计算设备接收开发人员将选定的可监控元素及其事件配置信息全部生效的指示,并将该指示发送至监控服务器;监控服务器接收该指示,将缓存接口中存储的信息作为监控事件存储于数据存储装置中,以便对已选定的可监控元素进行监控。
可选地,在根据本发明的网页应用监控方法中,在计算设备接收开发人员输入的待监控页面地址的步骤之后,还包括:计算设备接收开发人员对于待监控页面地址是否为通配的待监控页面地址的指示;根据待监控页面地址从数据存储装置处获取待监控页面的监控事件集合的步骤包括:当待监控页面地址为通配的待监控页面地址时,根据通配的待监控页面地址从数据存储装置处获取待监控页面的监控事件集合。
可选地,在根据本发明的网页应用监控方法中,监控系统还包括客户端,在监控服务器将接收到的可监控元素及其事件配置信息作为监控事件存储的步骤之后,还包括:客户端发起对于待监控页面的访问;调用目标监控脚本文件从数据存储装置处获取待监控页面的监控事件集合,根据监控事件集合收集客户端对于待监控页面的访问信息。
可选地,在根据本发明的网页应用监控方法中,访问信息包括基本信息和已监控元素信息,基本信息包括客户端标识、浏览器信息、客户端当前所处的地理位置信息中的一种或多种,其中,浏览器信息包括当前客户端所使用的浏览器的版本信息、代理信息、操作系统信息中的一种或多种,地理位置信息包括当前客户端所处的经纬度信息、定位精度、海拔信息、速度信息、方向信息中的一种或多种;已监控元素信息包括客户端对于已监控元素的浏览量、点击量中的一种或多种。
根据本发明的一个方面,提供一种监控服务器,包括:至少一个处理器;和至少一个数据存储装置,数据存储装置中存储有一个或多个监控脚本文件以及一个或多个监控事件;其中,处理器被配置为适于根据数据存储装置中存储的监控脚本文件和监控事件执行如前所述的网页应用监控方法。
根据本发明的一个方面,提供一种监控系统,适于监控网页应用,该监控系统包括:至少一个如上所述的监控服务器;和至少一个计算设备;其中,监控服务器和计算设备被配置为适于执行如前所述的网页应用监控方法。
根据本发明的网页应用监控方案,在待监控页面的源码中引入目标监控脚本文件,目标监控脚本文件对应于一个网页应用标识;在计算设备的指定位置输入待监控页面的地址,待监控页面的地址中包括网页应用标识。当目标监控脚本文件所对应的网页应用标识与待监控页面地址中的网页应用标识一致时,即可实现握手,开启埋点。计算设备的指定位置能够显示出标记了当前埋点情况的待监控页面,开发人员通过在待监控页面中点击元素即可生成埋点监控事件并存储于服务器,实现对页面元素的埋点。当用户浏览埋点过的页面时,即可触发执行目标监控脚本文件,从监控服务器处获取当前页面的监控事件集合,根据监控事件集合来收集用户访问信息并上报至服务器。
本方案是一种灵动的埋点方式,通过简单的交互操作即可实现埋点,无需开发人员手动编写代码,减轻了开发人员的编码负担。甚至即使是不懂代码的使用者,也可以通过本方法轻松地实现自己需要的埋点监控方案。监控事件与应用源代码分离,监控事件更新时无需对应用源代码做任何修改(即无需对应用本身进行更新),减少了测试与维护的工作量。另外,本方案的埋点监控事件在服务器端存储,不依赖于计算设备,开发人员可以在不同计算设备的不同浏览器上实现页面埋点。
另外,本发明的网页应用监控方案还支持查找当前元素的上一级元素并埋点,以及对待监控页面地址的通配处理等,使得本方案能够实现对页面元素的灵活、精准地埋点。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的监控系统100的示意图;
图2示出了根据本发明一个实施例的监控系统100的功能结构示意图;
图3示出了根据本发明一个实施例的网页应用监控方法300的交互流程图;
图4A、4B分别示出了根据本发明两个实施例的步骤S310的示意图;
图5示出了在根据本发明一个实施例的在计算设备中显示待监控页面的示意图;
图6示出了根据本发明一个实施例的选定可监控元素并设置事件配置信息的流程图;
图7示出了根据本发明一个实施例的获取选定的可监控元素在待监控页面的DOM中的路径的示意图;
图8示出了根据本发明一个实施例的基于当前选定的可监控元素弹出对话框,提示开发人员设置事件名称的示意图;
图9示出了根据本发明另一个实施例的基于当前选定的可监控元素弹出对话框,提示开发人员设置事件名称的示意图;
图10示出了根据本发明一个实施例的生成监控事件的示意图;
图11示出了根据本发明另一个实施例的监控系统1000的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的监控系统100的示意图。图1所示的监控系统100包括计算设备110和监控服务器200。应当指出,图1中的监控系统100仅是示例性的,在具体的实践情况中,监控系统100中可以有不同数量的计算设备以及监控服务器,多个计算设备以及监控服务器也可以分别部署于多个地理位置,监控服务器可以实现为单个设备也可以实现为集群,本发明对监控系统中所包括的计算设备、监控服务器的数量以及部署细节不做限制。
计算设备110可以是诸如PC、笔记本电脑、手机、平板电脑、笔记本电脑、电视盒子、可穿戴设备等具有显示装置并可以接入互联网的设备。计算设备110可以经由互联网与监控服务器200建立连接并进行通信。计算设备110可以以有线的方式与监控服务器200建立连接,也可以通过3G、4G、WiFi、个人热点、IEEE802.11x、蓝牙等无线的方式与监控服务器200建立连接,本发明对计算设备110与监控服务器200之间的连接方式不做限制。
监控系统200可以对页面元素进行埋点,从而实现对网页应用(Web App)的监控。网页应用即运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用,其包括网站和采用网页技术开发的移动端应用等,但不限于此。目前的网页应用多由HTML5(H5)开发,但HTML5本身不造成对本发明的限制,不管网页应用以何种语言开发,任何包括本发明中公开的技术特征的技术方案均落于本发明的保护范围之内。
监控服务器200包括数据存储装置210和处理器220,数据存储装置210和处理器220可以经由存储总线230实现通信。数据存储装置210中存储有一个或多个监控脚本文件和一个或多个监控事件,处理器220可以根据数据存储装置210中存储的监控脚本文件和监控事件来实现对网页应用的监控。一个监控脚本文件是一个SDK(Software DevelopmentKit,软件开发工具包),每一个监控脚本文件对应于一个网页应用,网页应用由网页应用标识(appid)来唯一标识。监控脚本文件可以被其对应的网页应用的各页面所引用,以实现对页面元素的埋点监控。页面元素即当前HTML页面中的元素,例如head、title、body、button、标题h1~h6、img、link等。根据一种实施例,HTML页面的body中可见的元素均可以进行埋点监控,例如button、标题h1~h6、img、link等。监控事件指的是可以被监控的页面元素所对应的用户在页面中进行的特定操作或达成的特定条件,例如,用户点击了页面中的广告栏(广告栏可以是iframe、img等元素),用户进行了付费(付费可以是button元素)等,每个监控事件对应于一个页面元素。应当指出,监控脚本文件和监控事件可以存储于同一个监控服务器,也可以分别存储于不同的监控服务器,也可以采用分布式存储方案将监控脚本文件和监控事件分别存储于多个监控服务器,本发明对监控脚本文件及监控事件的具体存储方案不做限制。
为了实现对网页应用的监控,开发人员可以在待监控页面的源码中引入相应的监控脚本文件(为了叙述方便,下文中,将对应于待监控页面的监控脚本文件记为“目标监控脚本文件”)。应当指出,在源码中引入目标监控脚本文件的步骤可以在任意计算设备上进行,而不仅限于图1所示的计算设备110。目标监控脚本文件对应于一个网页应用标识。随后,在计算设备110的浏览器页面的指定位置输入待监控页面地址,待监控页面地址中包括网页应用标识,例如,在图2所示的矩形框112中输入待监控页面地址http://54.222.228.161:8080/business-app-sdk/WebContent/index.html?appid=abcde,abcde即当前待监控页面的网页应用标识。当目标监控脚本文件所对应的网页应用标识与待监控页面地址中的网页应用标识一致时(即目标监控脚本文件所对应的网页应用标识也是abcde),即可实现握手,开启埋点。监控服务器200根据待监控页面地址从已存储的多个监控事件中找出待监控页面的监控事件集合,并将其发送至计算设备110。计算设备110根据监控事件集合在浏览器可视区域的指定位置处(例如图2中的矩形区域114)显示待监控页面,并在待监控页面中用不同的显示格式标记出各页面元素的埋点情况,例如用不同颜色的矩形框来分别表示可监控元素(可以埋点但尚未埋点)、已监控元素(已埋点)和当前选中的元素。应当指出,图2中计算设备110的浏览器可视区域的右下角还显示了可监控元素、已监控元素和当前选中的元素的图例,由于附图中不能显示彩色,故图2中三者的图例均为黑色矩形框,但在实际应用中三者是不同的颜色。开发人员通过在待监控页面中点击元素并设置事件配置信息即可生成埋点监控事件并存储于在监控服务器,200,实现对页面元素的埋点。
图3示出了根据本发明一个实施例的网页应用监控方法300的流程图,方法300可以在如图1、图2所示的监控系统100中执行。如图3所示,方法300始于步骤S310。
在步骤S310中,计算设备接收开发人员输入的待监控页面地址,并将待监控页面地址发送至监控服务器。其中,待监控页面地址中包括网页应用标识,待监控页面的源码中包括对目标监控脚本文件的引用。
根据一种实施例,在步骤S310之前,还包括步骤S302(图3中未示出)。在步骤S302中,待监控页面所属的网页应用(Web App)需要在监控服务器端完成注册,监控服务器为待监控页面所属的网页应用分配一个网页应用标识(appid),并生成与该网页应用标识所对应的目标监控脚本文件。随后,开发人员向该网页应用所包括的所有页面的源码中添加对于该目标监控脚本文件的引用。根据一种实施例,可以通过向页面对应的HTML文件中添加script元素的方式来实现对目标监控脚本文件的引用,script元素的src属性值为目标监控脚本文件的地址。以下是步骤S302的一个例子:
网页应用A包括三个页面x、y、z。监控服务器为网页应用A分配一个网页应用标识abcde,并生成与该网页应用对应的目标监控脚本文件,目标监控脚本文件的URL(UniformResource Locator,统一资源定位符)地址为http://www.talkingdata.com/business-app-sdk/webContent/js/sdk。随后,开发人员需要在x、y、z三个页面所对应的HTML文件中添加对于目标监控脚本文件的引用,即在相应的HTML文件中加入以下代码:
<script type=“text/javasrcipt”src=“http://www.talkingdata.com/business-app-sdk/webContent/js/sdk”></script>
根据一种优选的实施例,为了获得比较完整的数据,将上述代码添加在HTML文件的head位置。
在步骤S310中,计算设备接收开发人员输入的待监控页面地址,并将待监控页面地址发送至监控服务器。其中,待监控页面地址中包括网页应用标识,待监控页面的源码中包括对目标监控脚本文件的引用。
待监控页面地址即待监控页面的URL,待监控页面地址中包括网页应用标识。例如,如图4A所示,待监控页面地址为http://54.222.228.161:8080/business-app-sdk/WebContent/index.html?appid=abcde,其中“?appid=abcde”的部分是以“参数名=参数值”的形式标注了待监控页面http://54.222.228.161:8080/business-app-sdk/WebContent/index.html所对应的网页应用标识。实际上,我们想要监控的页面是http://54.222.228.161:8080/business-app-sdk/WebContent/index.html,?appid=abcde仅仅是添加了一个参数(即该页面所对应的网页应用标识),而不会改变网页本身的内容。另外,该待监控页面所对应的HTML文件中也引入了目标监控脚本文件。
由于页面URL的复杂性,在实际应用中,URL中的问号(?)后面可能带有许多自定义参数,尽管参数是动态的,但是参数并不会改变页面本身,即仅问号后面参数不同的URL指向的是同一个页面。另外,URL中的井号(#)后面可能带有位置标识符,例如,单页面应用即通过hash位置的变动来更改页面,尽管位置标识符有多种取值,根据不同的取值可以将页面滚动至指定区域,但是仅位置标识符不同的URL所指向的也是同一个页面。为了实现智能识别页面,避免因为动态参数的不同而丢失监控事件信息,根据一种实施例,开发人员在输入待监控页面地址后,还需要指定该地址中动态参数的部分,将该部分用通配符代替。通配符例如可以是星号(*),但不限于此。将待监控页面地址进行通配后,在后续步骤S330中可以按照通配后的地址从监控服务器处获取待监控页面地址所对应的监控事件,可以避免动态参数的影响,在后续步骤S330获取监控事件时不会产生遗漏。
例如,如图4A所示,开发人员在矩形框112中输入待监控页面地址http://54.222.228.161:8080/business-app-sdk/WebContent/index.html?appid=abcde,并在矩形框116中输入通配后的地址http://54.222.228.161:8080/business-app-sdk/WebContent/index.html?*,即将待监控页面地址中?后面的参数部分“appid=abcde”用通配符*代替。图4B示出了在步骤S310中将待监控页面地址进行通配的另一个例子。如图4B所示,开发人员在矩形框112中输入待监控页面地址http://54.222.228.161:8080/business-app-sdk/WebContent/index.html?appid=abcde&&key=1#hash=code,并在矩形框116中输入通配后的地址http://54.222.228.161:8080/business-app-sdk/WebContent/index.html?*#*,即将待监控页面地址中?和#后面的参数部分均用通配符*代替。
在步骤S310之后,点击矩形框116下方的“开始设定事件”按钮,执行步骤S320。在步骤S320中,监控服务器接收计算设备发送的待监控页面地址,并判断待监控页面地址中的网页应用标识与目标监控脚本文件所对应的网页应用标识是否一致。其中,待监控页面地址中的网页应用标识即为URL中?后面的appid的值,目标监控脚本文件所对应的网页应用标识为在步骤S302中监控服务器为目标监控脚本文件所指定的网页应用标识。该步骤是为了实现身份校验,保证当前的待监控页面属于当前的开发人员,避免非法操作。
随后,在步骤S330中,若待监控页面地址中的网页应用标识与目标监控脚本文件所对应的网页应用标识一致,则根据待监控页面地址从数据存储装置处获取待监控页面的监控事件集合,并将监控事件集合发送至计算设备;若二者不一致,则无法对当前页面进行后续的埋点监控操作。监控事件集合包括一个或多个监控事件,每个监控事件又包括事件名称、事件所对应的页面元素在待监控页面的文档对象模型(DOM,Document ObjectModel)中的路径(path)等信息。
随后,在步骤S340中,计算设备根据接收到的监控事件集合,将标记出可监控元素的待监控页面渲染出来,并接收开发人员对于可监控元素的选定以及对该可监控元素的事件配置信息的设置。
根据一种实施例,计算设备将待监控页面作为iframe元素显示于浏览器的可视区域中,并采用不同的显示格式标记待监控页面中的可监控元素和已监控元素。应当指出,iframe元素的尺寸可以与iPhone 6s Plus相同,或与其他型号的移动终端相同,或由本领域技术人员根据经验或实际情况设计为其他尺寸,本发明对于iframe元素的大小不做限制。例如,如图5所示,计算设备的浏览器的灵动分析页面的矩形框114处嵌套了一个iframe元素,计算设备接收到监控事件集合后,根据监控事件集合在矩形框114中渲染出待监控页面,并用橙色的矩形框标记出可监控元素、蓝色矩形框标记出已监控元素。可监控元素是当前可以选择进行埋点监控的元素,后续当开发人员选中一个可监控元素时,用绿色矩形框标记出当前选中的元素,以提示开发人员。应当指出,由于附图不能显示彩色,图5中用于标记可监控元素的橙色矩形框以及用于标记已监控元素的蓝色矩形框均用黑色代替。另外,本领域技术人员应当可以意识到,上述用不同颜色的矩形框颜色标记各页面元素的监控状态的方案只是一个示例,在其他的实施例中,本领域技术人员也可以选用其他的颜色来分别标记可监控元素、已监控元素以及当前选中的元素,本发明对标记各页面元素的监控状态所采用的矩形框的颜色不做限制。另外,除了用不同颜色的矩形框来标记各页面元素的监控状态之外,还可以采用其他的标记方案,例如采用不同的背景色、不同颜色的下划线、不同粗细的矩形框等来标记各页面元素的监控状态,本发明对标记各页面元素的监控状态所采用的具体的显示格式不做限制,只要其能够实现监控状态的区分(即对可监控元素、已监控元素以及当前选中的元素的区分)即可。另外,计算设备中还可以设置一个区域,用于查询、显示待监控页面的监控事件情况,该区域例如可以是图5中的矩形框118。例如,图5中的矩形框118中有“appid设定”字样,其表示待监控页面当前有一个监控事件,该监控事件的事件名称为“appid设定”,该监控事件对应于待监控页面中的“appid”元素。随着后续对更多的页面元素进行监控,矩形框118中显示的监控事件也会增加,当然,矩形框118处也可以对监控事件进行修改(例如修改监控事件名称)和删除,本发明对矩形框118处所显示的具体信息以及可以提供的功能不做限制。
如图5所示,在计算设备将标记出可监控元素的待监控页面渲染出来后,可以接收开发人员对于可监控元素的选定以及对该可监控元素的事件配置信息的设置。根据一种实施例,事件配置信息包括事件名称,上述接收开发人员对于可监控元素的选定以及对该可监控元素的事件配置信息的设置的过程可以参考图6,该过程包括:
步骤S342:接收开发人员对于可监控元素的选定。根据一种实施例,开发人员可以通过点击或者其他的交互方式选定可监控元素。
步骤S344:获取选定的可监控元素在待监控页面的文档对象模型中的路径,采用预设的显示格式在待监控页面中标记出该可监控元素。根据一种实施例,开发人员选定了某个可监控元素后,从该元素开始在待监控页面的文档对象模型中(即DOM)一级一级向上冒泡,一直到html根元素为止,这样可以得到在DOM中从当前选中的元素到html根元素的路径,该路径即可以标记当前选中的元素在DOM中的位置。获取到选定的可监控元素在DOM中的路径后,获取当前选定的可监控元素在待监控页面中的相对位置来定位该元素。例如,可以通过getBoundingClientRect()方法来获取该元素在待监控页面的相对位置,该方法可以返回一个矩形对象,该矩形对象即为当前元素的外接矩形框。获取到该元素在待监控页面的相对位置后,可以对该位置进行标记,以向开发人员提示当前选定的元素,并弹出对话框,提示开发人员设置该可监控元素的事件名称。
根据一种实施例,在步骤S344之后,还包括步骤S345(图6中未示出)。在步骤S345中,基于开发人员的指示,根据可监控元素在待监控页面的文档对象模型中的路径查找该可监控元素的上一级元素,并将上一级元素作为选定的可监控元素。例如,在开发人员选定可监控元素后,弹出的对话框中有“查找元素上一级”的按钮。开发人员点击该按钮后,可以根据当前选中的可监控元素在待监控页面的文档对象模型中的路径查找该可监控元素的上一级元素,并将上一级元素作为选定的可监控元素。
步骤S346:接收开发人员对于该可监控元素所对应的事件名称的设置。事件名称是当前可监控元素所对应的监控事件的一个代号,可以方便开发人员对当前元素进行监控。根据一种实施例,一个待监控页面中的所有事件名称应当各不相同。设置了事件名称后,即可生成监控事件。
以下是步骤S342~S346的一个示例:
开发人员通过点击的方式选定了“应用描述”这一h1元素,从该h1元素开始在待监控页面的DOM结构中层层向上冒泡直到到达根元素html为止,冒泡的过程如图7所示,经过冒泡,可以得出“应用描述”这一元素在DOM中的路径如下:
0:{tag:“H1”,id:“”,index:0,class:“”,target:{index:0}};
1:{tag:“DT”,id:“”,index:0,class:“”,target:{index:0}};
2:{tag:“BODY”,id:“”,index:0,class:“”,target:{index:0}};
3:{tag:“HTML”,id:“”,index:0,class:“”,target:{index:0}}。
随后,调用getBoundingClientRect()方法获取“应用描述”元素在待监控页面的相对位置,根据该位置来绘制该元素的外接矩形框,并用区别于已监控元素和其他未选中的可监控元素的颜色来对该矩形框进行着色,以实现对当前选定的元素的标记。例如,可以用绿色矩形框来标记元素“应用描述”。在用矩形框标记当前元素的同时,如图8所示,在当前元素的附近区域弹出对话框120,提示开发人员设置该可监控元素的事件名称,例如,开发人员将该元素的事件名称设置为“应用描述按钮”。点击对话框120中的“确定”按钮后,即可生成对应于该元素的监控事件。
根据一种实施例,弹出的对话框的格式还可以如图9中的对话框122所示,对话框122与图8中的对话框120的区别在于,对话框122中还包括“查找元素上一级”的按钮,开发人员点击该按钮后,即可查找当前选定的元素的上一级元素,即“应用描述”的上一级元素,并将上一级元素作为当前选定的可监控元素,重新弹出一个对话框,以设置该元素所对应的事件名称。
当在对话框中设置了事件名称并点击“确定”按钮后,即可生成监控事件。例如,如图8所示,选定“应用描述”元素,为其设置事件名称“应用描述按钮”,点击“确定”后,即可生成名称为“应用描述按钮”的监控事件,同时,生成的监控事件会在矩形框118中进行显示。如图10所示,虚线矩形框124中的内容即对应于生成的“应用描述按钮”监控事件。
应当指出,对于当前的待监控页面,开发人员可以针对多个可监控元素设置多个监控事件,即上述步骤S342~S346可以被执行多次。
在步骤340中,每接收到开发人员对于可监控元素的选定以及对该可监控元素的事件配置信息的设置后,均继续执行步骤350。在步骤S350中,计算设备将选定的可监控元素及其事件配置信息发送至监控服务器。
根据一种实施例,步骤S350进一步包括:计算设备将选定的可监控元素在待监控页面的文档对象模型(DOM)中的路径、对应的事件名称、待监控页面所对应的网页应用标识(appid)、以及待监控页面地址(URL)发送至监控服务器的缓存接口中关联存储。根据一种实施例,考虑到待监控页面URL的复杂性,在向监控服务器的缓存接口发送以上数据之前,需要先用通配符替换待监控页面地址中的参数,生成通配后的待监控页面地址,随后,再将选定的可监控元素在待监控页面的DOM中的路径、对应的事件名称、待监控页面所对应的appid、以及通配后的待监控页面URL发送至监控服务器的缓存接口中。这里的URL通配方案与前述步骤S310中所述的URL通配方案对应,均是为了避免动态参数对URL的影响,使得计算设备在步骤S330获取监控事件时不会产生遗漏。
随后,在步骤S360中,监控服务器将接收到的可监控元素及其事件配置信息作为监控事件,存储于数据存储装置中以便对该已选定的可监控元素进行监控。根据一种实施例,与前述对步骤S350的描述相对应的,在开发人员选定一个可监控元素后,监控服务器首先将该可监控元素的相关数据(即可监控元素在待监控页面的DOM中的路径、对应的事件名称、待监控页面所对应的appid、以及通配或未通配的待监控页面URL)关联存储于缓存接口中。应当指出,缓存接口中存储的实际上是尚未生效的监控事件。根据一种实施例,步骤S360进一步包括:计算设备接收开发人员将选定的可监控元素及其事件配置信息全部生效的指示,并将该指示发送至监控服务器;监控服务器接收该指示,将缓存接口中存储的信息作为监控事件存储于数据存储装置210中,以便对已选定的可监控元素进行监控。例如,参考图10,开发人员在完成对一个或多个可监控元素的选定后,将每一个可监控元素的相关数据发送至监控服务器的缓存接口中缓存,缓存中存储的是未生效的监控事件。随后,开发人员在计算设备处点击矩形框118右下角的“全部生效”按钮,响应于该点击,监控服务器将缓存接口中存储的数据转存至数据存储装置210,这时,监控事件生效。
步骤S350和步骤S360中先将监控事件的相关数据缓存于监控服务器的缓存接口中再基于开发人员的指示转存于数据存储装置210中的技术方案,相当于,在对页面元素进行埋点监控时,采用的是一种多次埋点、一次生效的方案,该方案可以增强用户体验,实现更好的监控事件管理,防止开发人员的误操作以及避免计算设备与监控服务器多次交互所带来的消耗。
步骤S360之后,即完成了对待监控页面的埋点,从而可以实现对待监控页面所属的网页应用的监控。
根据一种实施例,监控系统中还包括客户端,在步骤S360监控服务器将接收到的可监控元素及其事件配置信息作为监控事件存储之后,还包括:客户端发起对于待监控页面的访问;调用目标监控脚本文件从数据存储装置处获取待监控页面的监控事件集合,根据监控事件集合收集客户端对于待监控页面的访问信息。
根据一种实施例,访问信息包括基本信息和已监控元素信息。基本信息包括客户端标识、浏览器信息、客户端当前所处的地理位置信息中的一种或多种。其中,客户端标识即客户端的id,其是用于唯一标记客户端的一个编码;浏览器信息包括当前客户端所使用的浏览器的版本信息、代理信息、操作系统信息中的一种或多种;地理位置信息包括当前客户端所处的经纬度信息、定位精度、海拔信息、速度信息、方向信息中的一种或多种。已监控元素信息包括客户端对于已监控元素的浏览量、点击量中的一种或多种,其中,浏览量指的是用户对当前待监控页面的浏览次数,点击量为用户对已监控元素的点击次数。
例如,如图11所示,监控系统1000中包括计算设备110、监控服务器200和客户端400。计算设备110和监控服务器200通过执行前述步骤S310~S360在监控服务器200处保存了对于待监控页面的一个或多个监控事件。随后,客户端400可以发起对于待监控页面的访问。待监控页面中引用了位于监控服务器200处的目标监控脚本文件(可以参考前述对于步骤S302的描述)。在客户端400的浏览器打开待监控页面时,客户端400从服务器处获取目标监控脚本文件并缓存于本地,随后可以调用该目标监控脚本文件从监控服务器200处获取待监控页面的监控事件集合,根据监控事件集合来收集客户端对于待监控页面的访问信息,即收集客户端的基本信息(客户端标识、浏览器信息、客户端当前所处的地理位置等)以及已监控元素信息(客户端对于已监控元素的浏览量、点击量等),并将收集到的信息上报至监控服务器200。
根据一种实施例,在目标监控脚本文件收集到客户端对于待监控页面的访问信息后,有两种方式向监控服务器200发送。第一种方式为,当客户端处的用户离开待监控页面时触发window.onunload或window.onbeforeunload事件,向监控服务器200发送访问信息。另一种方式为,当目标监控脚本文件被执行后定时向监控服务器200上报收集到的信息,例如定时每3s发送一次。以上两种数据发送方式可以保证目标监控脚本文件将收集到的数据完整地发送到监控服务器200。
A5:A1或4所述的方法,其中,所述事件配置信息包括事件名称,所述接收计算设备对于可监控元素的选定以及对该可监控元素的事件配置信息的设置的步骤包括:接收计算设备对于可监控元素的选定;获取所述选定的可监控元素在所述待监控页面的文档对象模型中的路径,采用预设的显示格式在待监控页面中标记出该可监控元素;接收计算设备对于该可监控元素所对应的事件名称的设置;将所述选定的可监控元素在所述待监控页面的文档对象模型中的路径、对应的事件名称、待监控页面所对应的网页应用标识、以及待监控页面地址关联存储于监控服务器的缓存接口中。A6:A5所述的方法,其中,在采用预设的显示格式在待监控页面中标记出该可监控元素的步骤之后,还包括:基于计算设备的指示,根据可监控元素在所述待监控页面的文档对象模型中的路径查找该可监控元素的上一级元素,并将所述上一级元素作为选定的可监控元素。A7:A5所述的方法,其中,将路径、事件名称、网页应用标识、待监控页面地址关联存储于监控服务器的缓存接口中的步骤包括:用通配符替换待监控页面地址中的参数,生成通配后的待监控页面地址;将所述选定的可监控元素在所述待监控页面的文档对象模型中的路径、对应的事件名称、待监控页面所对应的网页应用标识、以及通配后的待监控页面地址关联存储于监控服务器的缓存接口中。A8:A5或7所述的方法,其中,将选定的可监控元素及其事件配置信息作为监控事件,存储于数据存储装置中以便对所述已选定的可监控元素进行监控的步骤包括:接收计算设备发送的将选定的可监控元素及其事件配置信息全部生效的指示,将所述缓存接口中存储的信息作为监控事件存储于数据存储装置中,以便对所述已选定的可监控元素进行监控。A9:A1或7所述的方法,其中,根据所述待监控页面地址从数据存储装置处获取待监控页面的监控事件集合的步骤包括:接收计算设备对于待监控页面地址是否为通配的待监控页面地址的指示;当待监控页面地址为通配的待监控页面地址时,根据所述通配的待监控页面地址从所述数据存储装置处获取待监控页面的监控事件集合。A10:A1所述的方法,其中,在将选定的可监控元素及其事件配置信息作为监控事件存储的步骤之后,还包括:在客户端访问所述待监控页面时,调用所述目标监控脚本文件从数据存储装置处获取待监控页面的监控事件集合,根据所述监控事件集合收集所述客户端对于所述待监控页面的访问信息。A11:A10所述的方法,其中,所述访问信息包括基本信息和已监控元素信息,所述基本信息包括客户端标识、浏览器信息、客户端当前所处的地理位置信息中的一种或多种,其中,所述浏览器信息包括当前客户端所使用的浏览器的版本信息、代理信息、操作系统信息中的一种或多种,所述地理位置信息包括当前客户端所处的经纬度信息、定位精度、海拔信息、速度信息、方向信息中的一种或多种;所述已监控元素信息包括客户端对于已监控元素的浏览量、点击量中的一种或多种。
B16:B12或15所述的方法,其中,所述事件配置信息包括事件名称,所述接收开发人员对于可监控元素的选定以及对该可监控元素的事件配置信息的设置,并将接收到的可监控元素及其事件配置信息发送至监控服务器的步骤包括:接收开发人员对于可监控元素的选定;获取所述选定的可监控元素在所述待监控页面的文档对象模型中的路径,采用预设的显示格式在待监控页面中标记出该可监控元素;接收开发人员对于该可监控元素所对应的事件名称的设置;将所述选定的可监控元素在所述待监控页面的文档对象模型中的路径、对应的事件名称、待监控页面所对应的网页应用标识、以及待监控页面地址发送至监控服务器的缓存接口中。B17:B16所述的方法,其中,在采用预设的显示格式在待监控页面中标记出该可监控元素的步骤之后,还包括:基于开发人员的指示,根据可监控元素在所述待监控页面的文档对象模型中的路径查找该可监控元素的上一级元素,并将所述上一级元素作为选定的可监控元素。B18:B16所述的方法,其中,将路径、事件名称、网页应用标识、待监控页面地址发送至监控服务器的缓存接口中的步骤包括:用通配符替换待监控页面地址中的参数,生成通配后的待监控页面地址;将所述选定的可监控元素在所述待监控页面的文档对象模型中的路径、对应的事件名称、待监控页面所对应的网页应用标识、以及通配后的待监控页面地址发送至监控服务器的缓存接口中。B19:B16或18所述的方法,其中,监控服务器将接收到的可监控元素及其事件配置信息作为监控事件,存储于数据存储装置中以便对所述已选定的可监控元素进行监控的步骤包括:计算设备接收开发人员将选定的可监控元素及其事件配置信息全部生效的指示,并将该指示发送至监控服务器;监控服务器接收该指示,将所述缓存接口中存储的信息作为监控事件存储于数据存储装置中,以便对所述已选定的可监控元素进行监控。B20:B12或18所述的方法,其中,在计算设备接收开发人员输入的待监控页面地址的步骤之后,还包括:计算设备接收开发人员对于待监控页面地址是否为通配的待监控页面地址的指示;根据所述待监控页面地址从数据存储装置处获取待监控页面的监控事件集合的步骤包括:当待监控页面地址为通配的待监控页面地址时,根据所述通配的待监控页面地址从所述数据存储装置处获取待监控页面的监控事件集合。B21:B12所述的方法,其中,所述监控系统还包括客户端,在监控服务器将接收到的可监控元素及其事件配置信息作为监控事件存储的步骤之后,还包括:客户端发起对于待监控页面的访问;调用目标监控脚本文件从数据存储装置处获取待监控页面的监控事件集合,根据所述监控事件集合收集所述客户端对于所述待监控页面的访问信息。B22:B21所述的方法,其中,所述访问信息包括基本信息和已监控元素信息,所述基本信息包括客户端标识、浏览器信息、客户端当前所处的地理位置信息中的一种或多种,其中,所述浏览器信息包括当前客户端所使用的浏览器的版本信息、代理信息、操作系统信息中的一种或多种,所述地理位置信息包括当前客户端所处的经纬度信息、定位精度、海拔信息、速度信息、方向信息中的一种或多种;所述已监控元素信息包括客户端对于已监控元素的浏览量、点击量中的一种或多种。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种网页应用监控方法,一个网页应用包括一个或多个页面,每个网页应用对应于一个网页应用标识,所述方法在监控服务器中执行,所述监控服务器包括数据存储装置,所述数据存储装置中存储有一个或多个监控脚本文件,每个监控脚本文件对应于一个网页应用标识,所述数据存储装置中还存储有一个或多个监控事件,每个监控事件对应于一个页面中的一个元素,所述方法包括:
接收计算设备发送的待监控页面地址,所述待监控页面地址中包括网页应用标识,所述待监控页面的源码中包括对目标监控脚本文件的引用;
当待监控页面地址中的网页应用标识与目标监控脚本文件所对应的网页应用标识一致时,根据所述待监控页面地址从数据存储装置处获取待监控页面的监控事件集合,并指示所述计算设备根据所述监控事件集合将标记出可监控元素的待监控页面渲染出来;
接收计算设备对于可监控元素的选定以及对该可监控元素的事件配置信息的设置;
将选定的可监控元素及其事件配置信息作为监控事件,存储于数据存储装置中以便对所述已选定的可监控元素进行监控。
2.如权利要求1所述的方法,其中,在所述接收计算设备发送的待监控页面地址的步骤之前,还包括:
为待监控页面所属的网页应用分配一个网页应用标识,生成与该网页应用标识所对应的目标监控脚本文件;
向该网页应用所包括的所有页面的源码中添加对于所述目标监控脚本文件的引用。
3.如权利要求2所述的方法,其中,向该网页应用所包括的所有页面的源码中添加对于所述目标监控脚本文件的引用的步骤包括:
向该网页应用所对应的所有页面的HTML文件中添加script元素,所述script元素的src属性值为所述目标监控脚本文件的地址。
4.如权利要求1所述的方法,其中,指示所述计算设备根据所述监控事件集合将标记出可监控元素的待监控页面渲染出来的步骤包括:
将所述待监控页面作为iframe元素显示于所述计算设备的浏览器中,采用不同的显示格式标记所述待监控页面中的可监控元素和已监控元素。
5.一种网页应用监控方法,一个网页应用包括一个或多个页面,每个网页应用对应于一个网页应用标识,所述方法在监控系统中执行,所述监控系统包括计算设备和监控服务器,所述监控服务器包括数据存储装置,所述数据存储装置中存储有一个或多个监控脚本文件,每个监控脚本文件对应于一个网页应用标识,所述数据存储装置中还存储有一个或多个监控事件,每个监控事件对应于一个页面中的一个元素,所述方法包括:
计算设备接收开发人员输入的待监控页面地址,并将所述待监控页面地址发送至监控服务器,其中,所述待监控页面地址中包括网页应用标识,所述待监控页面的源码中包括对目标监控脚本文件的引用;
监控服务器接收计算设备发送的待监控页面地址,并判断待监控页面地址中的网页应用标识与目标监控脚本文件所对应的网页应用标识是否一致,若二者一致,则根据所述待监控页面地址从数据存储装置处获取待监控页面的监控事件集合,并将所述监控事件集合发送至计算设备;
计算设备根据接收到的监控事件集合,将标记出可监控元素的待监控页面渲染出来,接收开发人员对于可监控元素的选定以及对该可监控元素的事件配置信息的设置,并将接收到的可监控元素及其事件配置信息发送至监控服务器;
监控服务器将接收到的可监控元素及其事件配置信息作为监控事件,存储于数据存储装置中以便对所述已选定的可监控元素进行监控。
6.如权利要求5所述的方法,其中,在计算设备接收开发人员输入的待监控页面地址的步骤之前,还包括:
监控服务器为待监控页面所属的网页应用分配一个网页应用标识,生成与该网页应用标识所对应的目标监控脚本文件;
在计算设备处向该网页应用所包括的所有页面的源码中添加对于所述目标监控脚本文件的引用。
7.如权利要求6所述的方法,其中,向该网页应用所包括的所有页面的源码中添加对于所述目标监控脚本文件的引用的步骤包括:
向该网页应用所对应的所有页面的HTML文件中添加script元素,所述script元素的src属性值为所述目标监控脚本文件的地址。
8.如权利要求5所述的方法,其中,计算设备根据接收到的监控事件集合,将标记出可监控元素的待监控页面渲染出来的步骤包括:
计算设备将所述待监控页面作为iframe元素显示于浏览器中,采用不同的显示格式标记所述待监控页面中的可监控元素和已监控元素。
9.一种监控服务器,包括:
至少一个处理器;和
至少一个数据存储装置,所述数据存储装置中存储有一个或多个监控脚本文件以及一个或多个监控事件;
其中,所述处理器被配置为适于根据所述数据存储装置中存储的监控脚本文件和监控事件执行如权利要求1-4中任一项所述的网页应用监控方法。
10.一种监控系统,适于监控网页应用,所述监控系统包括:
至少一个如权利要求9所述的监控服务器;和
至少一个计算设备;
其中,所述监控服务器和所述计算设备被配置为适于执行如权利要求5-8中任一项所述的网页应用监控方法。
CN201710128486.0A 2017-03-06 2017-03-06 一种网页应用监控方法、服务器和系统 Active CN106933722B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710128486.0A CN106933722B (zh) 2017-03-06 2017-03-06 一种网页应用监控方法、服务器和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710128486.0A CN106933722B (zh) 2017-03-06 2017-03-06 一种网页应用监控方法、服务器和系统

Publications (2)

Publication Number Publication Date
CN106933722A true CN106933722A (zh) 2017-07-07
CN106933722B CN106933722B (zh) 2019-12-31

Family

ID=59423279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710128486.0A Active CN106933722B (zh) 2017-03-06 2017-03-06 一种网页应用监控方法、服务器和系统

Country Status (1)

Country Link
CN (1) CN106933722B (zh)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483622A (zh) * 2017-09-06 2017-12-15 广州供电局有限公司 基于组件的浏览器操作行为数据采集方法
CN107491488A (zh) * 2017-07-18 2017-12-19 北京京东尚科信息技术有限公司 页面数据采集的方法和装置
CN107562620A (zh) * 2017-08-24 2018-01-09 阿里巴巴集团控股有限公司 一种埋点自动设置方法和装置
CN107633019A (zh) * 2017-08-24 2018-01-26 阿里巴巴集团控股有限公司 一种页面事件采集方法和装置
CN107862091A (zh) * 2017-12-04 2018-03-30 腾讯科技(深圳)有限公司 实现网页访问的控制方法及装置
CN108459845A (zh) * 2018-03-14 2018-08-28 北京思特奇信息技术股份有限公司 一种监控标签属性的埋点方法及装置
CN108536575A (zh) * 2017-03-02 2018-09-14 中国移动通信有限公司研究院 在线音视频播放的用户体验指标的测试方法及装置
CN108763062A (zh) * 2018-05-09 2018-11-06 平安普惠企业管理有限公司 埋点名称的过滤方法及终端设备
CN109302493A (zh) * 2018-11-15 2019-02-01 北京金山云网络技术有限公司 一种用户信息共享方法、装置、电子设备及存储介质
CN109559181A (zh) * 2017-09-26 2019-04-02 北京国双科技有限公司 订单数据采集方法及装置
CN109561117A (zh) * 2017-09-26 2019-04-02 北京国双科技有限公司 数据采集方法及装置
CN109710440A (zh) * 2018-12-14 2019-05-03 平安科技(深圳)有限公司 网页前端的异常处理方法、装置、存储介质及终端设备
CN109829121A (zh) * 2017-08-22 2019-05-31 北京京东尚科信息技术有限公司 一种点击行为数据上报的方法和装置
CN109948025A (zh) * 2019-03-20 2019-06-28 上海古鳌电子科技股份有限公司 一种数据引用记录方法
CN110020238A (zh) * 2017-09-18 2019-07-16 北京国双科技有限公司 点击事件数据采集方法、装置及系统
CN110020339A (zh) * 2017-08-17 2019-07-16 北京国双科技有限公司 基于无埋点的网页数据采集方法及装置
CN110096658A (zh) * 2019-04-22 2019-08-06 无线生活(杭州)信息科技有限公司 一种数据埋点方法及装置
CN110109700A (zh) * 2019-05-08 2019-08-09 吉旗(成都)科技有限公司 一种针对iOS App无埋点的数据统计方法及装置
CN110163654A (zh) * 2019-04-15 2019-08-23 上海基分文化传播有限公司 一种广告投放数据追踪方法和系统
CN110413476A (zh) * 2019-06-20 2019-11-05 平安普惠企业管理有限公司 网页崩溃监听方法、装置、计算机设备和存储介质
CN110674025A (zh) * 2018-07-03 2020-01-10 百度在线网络技术(北京)有限公司 交互行为监测方法、装置以及计算机设备
CN110766476A (zh) * 2019-10-31 2020-02-07 北京达佳互联信息技术有限公司 广告处理方法、装置、计算机设备以及存储介质
CN110825594A (zh) * 2018-08-07 2020-02-21 北京优酷科技有限公司 数据的上报、下发方法、客户端及服务器
CN110866205A (zh) * 2018-08-27 2020-03-06 北京易数科技有限公司 用于存储信息的方法和装置
CN110908884A (zh) * 2019-11-20 2020-03-24 北京悠易网际科技发展有限公司 统计信息生成方法、装置、系统、电子设备及存储介质
CN110909284A (zh) * 2019-10-11 2020-03-24 口碑(上海)信息技术有限公司 一种数据处理系统以及方法
CN110968817A (zh) * 2018-09-28 2020-04-07 北京国双科技有限公司 一种页面内容检测方法、装置及系统
CN111381813A (zh) * 2018-12-28 2020-07-07 北京字节跳动网络技术有限公司 前端页面调试方法、装置、计算机设备和存储介质
CN111506471A (zh) * 2020-03-31 2020-08-07 微梦创科网络科技(中国)有限公司 一种基于Js埋点的数据监测方法及系统
CN111767111A (zh) * 2020-07-06 2020-10-13 网易(杭州)网络有限公司 页面数据处理方法及装置、电子设备和存储介质
CN111813629A (zh) * 2020-07-13 2020-10-23 赞同科技股份有限公司 一种Web页面的监控数据生成方法、装置及设备
CN112130908A (zh) * 2019-06-24 2020-12-25 北京百度网讯科技有限公司 设置用户引导的方法及装置
CN112286576A (zh) * 2019-07-23 2021-01-29 腾讯科技(深圳)有限公司 跨平台渲染方法、客户端及介质
CN112540751A (zh) * 2019-09-23 2021-03-23 北京国双科技有限公司 事件接口的处理方法和装置、存储介质及电子设备
CN113886200A (zh) * 2021-09-06 2022-01-04 浪潮软件科技有限公司 基于埋点的页面分组识别及统计系统及方法
CN115586895A (zh) * 2022-09-08 2023-01-10 浙江讯盟科技有限公司 一种用于协同办公的大数据处理系统和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222349A (zh) * 2007-01-12 2008-07-16 中国电信股份有限公司 收集web用户行为及性能数据的方法及系统
CN104281960A (zh) * 2013-07-12 2015-01-14 北京齐尔布莱特科技有限公司 一种广告点击及广告转换效果的监测方法
US20150046787A1 (en) * 2013-08-06 2015-02-12 International Business Machines Corporation Url tagging based on user behavior
CN104572043A (zh) * 2013-10-16 2015-04-29 阿里巴巴集团控股有限公司 一种对客户端应用的控件进行实时埋点的方法及装置
CN104915398A (zh) * 2015-05-29 2015-09-16 北京京东尚科信息技术有限公司 一种网页埋点的方法及装置
CN105701164A (zh) * 2015-12-30 2016-06-22 广东欧珀移动通信有限公司 一种网页点击量的统计方法和装置
CN106469185A (zh) * 2016-08-29 2017-03-01 浪潮电子信息产业股份有限公司 一种网站统计中进行数据收集的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222349A (zh) * 2007-01-12 2008-07-16 中国电信股份有限公司 收集web用户行为及性能数据的方法及系统
CN104281960A (zh) * 2013-07-12 2015-01-14 北京齐尔布莱特科技有限公司 一种广告点击及广告转换效果的监测方法
US20150046787A1 (en) * 2013-08-06 2015-02-12 International Business Machines Corporation Url tagging based on user behavior
CN104572043A (zh) * 2013-10-16 2015-04-29 阿里巴巴集团控股有限公司 一种对客户端应用的控件进行实时埋点的方法及装置
CN104915398A (zh) * 2015-05-29 2015-09-16 北京京东尚科信息技术有限公司 一种网页埋点的方法及装置
CN105701164A (zh) * 2015-12-30 2016-06-22 广东欧珀移动通信有限公司 一种网页点击量的统计方法和装置
CN106469185A (zh) * 2016-08-29 2017-03-01 浪潮电子信息产业股份有限公司 一种网站统计中进行数据收集的方法

Cited By (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536575A (zh) * 2017-03-02 2018-09-14 中国移动通信有限公司研究院 在线音视频播放的用户体验指标的测试方法及装置
CN107491488A (zh) * 2017-07-18 2017-12-19 北京京东尚科信息技术有限公司 页面数据采集的方法和装置
CN107491488B (zh) * 2017-07-18 2020-05-01 北京京东尚科信息技术有限公司 页面数据采集的方法和装置
CN110020339B (zh) * 2017-08-17 2022-03-18 北京国双科技有限公司 基于无埋点的网页数据采集方法及装置
CN110020339A (zh) * 2017-08-17 2019-07-16 北京国双科技有限公司 基于无埋点的网页数据采集方法及装置
CN109829121A (zh) * 2017-08-22 2019-05-31 北京京东尚科信息技术有限公司 一种点击行为数据上报的方法和装置
CN109829121B (zh) * 2017-08-22 2021-07-06 北京京东尚科信息技术有限公司 一种点击行为数据上报的方法和装置
CN107562620A (zh) * 2017-08-24 2018-01-09 阿里巴巴集团控股有限公司 一种埋点自动设置方法和装置
CN107633019A (zh) * 2017-08-24 2018-01-26 阿里巴巴集团控股有限公司 一种页面事件采集方法和装置
CN107483622A (zh) * 2017-09-06 2017-12-15 广州供电局有限公司 基于组件的浏览器操作行为数据采集方法
CN110020238A (zh) * 2017-09-18 2019-07-16 北京国双科技有限公司 点击事件数据采集方法、装置及系统
CN109561117A (zh) * 2017-09-26 2019-04-02 北京国双科技有限公司 数据采集方法及装置
CN109559181A (zh) * 2017-09-26 2019-04-02 北京国双科技有限公司 订单数据采集方法及装置
CN107862091A (zh) * 2017-12-04 2018-03-30 腾讯科技(深圳)有限公司 实现网页访问的控制方法及装置
CN108459845A (zh) * 2018-03-14 2018-08-28 北京思特奇信息技术股份有限公司 一种监控标签属性的埋点方法及装置
CN108763062A (zh) * 2018-05-09 2018-11-06 平安普惠企业管理有限公司 埋点名称的过滤方法及终端设备
CN110674025B (zh) * 2018-07-03 2023-08-11 百度在线网络技术(北京)有限公司 交互行为监测方法、装置以及计算机设备
CN110674025A (zh) * 2018-07-03 2020-01-10 百度在线网络技术(北京)有限公司 交互行为监测方法、装置以及计算机设备
CN110825594B (zh) * 2018-08-07 2023-10-24 阿里巴巴(中国)有限公司 数据的上报、下发方法、客户端及服务器
CN110825594A (zh) * 2018-08-07 2020-02-21 北京优酷科技有限公司 数据的上报、下发方法、客户端及服务器
CN110866205B (zh) * 2018-08-27 2023-05-02 北京易数科技有限公司 用于存储信息的方法和装置
CN110866205A (zh) * 2018-08-27 2020-03-06 北京易数科技有限公司 用于存储信息的方法和装置
CN110968817A (zh) * 2018-09-28 2020-04-07 北京国双科技有限公司 一种页面内容检测方法、装置及系统
CN109302493B (zh) * 2018-11-15 2021-06-22 北京金山云网络技术有限公司 一种用户信息共享方法、装置、电子设备及存储介质
CN109302493A (zh) * 2018-11-15 2019-02-01 北京金山云网络技术有限公司 一种用户信息共享方法、装置、电子设备及存储介质
CN109710440A (zh) * 2018-12-14 2019-05-03 平安科技(深圳)有限公司 网页前端的异常处理方法、装置、存储介质及终端设备
CN111381813A (zh) * 2018-12-28 2020-07-07 北京字节跳动网络技术有限公司 前端页面调试方法、装置、计算机设备和存储介质
CN109948025A (zh) * 2019-03-20 2019-06-28 上海古鳌电子科技股份有限公司 一种数据引用记录方法
CN109948025B (zh) * 2019-03-20 2023-10-20 上海古鳌电子科技股份有限公司 一种数据引用记录方法
CN110163654A (zh) * 2019-04-15 2019-08-23 上海基分文化传播有限公司 一种广告投放数据追踪方法和系统
CN110096658B (zh) * 2019-04-22 2021-01-26 无线生活(杭州)信息科技有限公司 一种数据埋点方法及装置
CN110096658A (zh) * 2019-04-22 2019-08-06 无线生活(杭州)信息科技有限公司 一种数据埋点方法及装置
CN110109700A (zh) * 2019-05-08 2019-08-09 吉旗(成都)科技有限公司 一种针对iOS App无埋点的数据统计方法及装置
CN110413476A (zh) * 2019-06-20 2019-11-05 平安普惠企业管理有限公司 网页崩溃监听方法、装置、计算机设备和存储介质
CN112130908B (zh) * 2019-06-24 2024-04-09 北京百度网讯科技有限公司 设置用户引导的方法及装置
CN112130908A (zh) * 2019-06-24 2020-12-25 北京百度网讯科技有限公司 设置用户引导的方法及装置
CN112286576A (zh) * 2019-07-23 2021-01-29 腾讯科技(深圳)有限公司 跨平台渲染方法、客户端及介质
CN112540751A (zh) * 2019-09-23 2021-03-23 北京国双科技有限公司 事件接口的处理方法和装置、存储介质及电子设备
CN110909284A (zh) * 2019-10-11 2020-03-24 口碑(上海)信息技术有限公司 一种数据处理系统以及方法
CN110766476B (zh) * 2019-10-31 2022-09-30 北京达佳互联信息技术有限公司 广告处理方法、装置、计算机设备以及存储介质
CN110766476A (zh) * 2019-10-31 2020-02-07 北京达佳互联信息技术有限公司 广告处理方法、装置、计算机设备以及存储介质
CN110908884A (zh) * 2019-11-20 2020-03-24 北京悠易网际科技发展有限公司 统计信息生成方法、装置、系统、电子设备及存储介质
CN111506471A (zh) * 2020-03-31 2020-08-07 微梦创科网络科技(中国)有限公司 一种基于Js埋点的数据监测方法及系统
CN111767111A (zh) * 2020-07-06 2020-10-13 网易(杭州)网络有限公司 页面数据处理方法及装置、电子设备和存储介质
CN111813629A (zh) * 2020-07-13 2020-10-23 赞同科技股份有限公司 一种Web页面的监控数据生成方法、装置及设备
CN111813629B (zh) * 2020-07-13 2024-10-29 赞同科技股份有限公司 一种Web页面的监控数据生成方法、装置及设备
CN113886200A (zh) * 2021-09-06 2022-01-04 浪潮软件科技有限公司 基于埋点的页面分组识别及统计系统及方法
CN113886200B (zh) * 2021-09-06 2024-01-30 浪潮软件科技有限公司 基于埋点的页面分组识别及统计系统及方法
CN115586895A (zh) * 2022-09-08 2023-01-10 浙江讯盟科技有限公司 一种用于协同办公的大数据处理系统和方法

Also Published As

Publication number Publication date
CN106933722B (zh) 2019-12-31

Similar Documents

Publication Publication Date Title
CN106933722A (zh) 一种网页应用监控方法、服务器和系统
Afzal et al. Visual analytics decision support environment for epidemic modeling and response evaluation
CN106302008B (zh) 数据更新方法和装置
US20130263023A1 (en) Graphical Overlay Related To Data Mining and Analytics
CN105989082B (zh) 报表视图生成方法和装置
US20210056739A1 (en) Systems and methods for updating a third party visualization in response to a query
CN104572968B (zh) 一种页面更新方法和装置
US10656907B2 (en) Translation of natural language into user interface actions
Bagheri et al. Software architectural principles in contemporary mobile software: from conception to practice
CN109697064A (zh) 一种自定义页面的生成方法及装置
CN103618773B (zh) 热力图的显示方法、装置及系统
CN106462406A (zh) 客户端侧代码的中间表示的交互式查看器
CN109902446A (zh) 用于生成信息预测模型的方法和装置
CN109063144A (zh) 可视化网络爬虫方法及装置
CN110196809A (zh) 接口测试方法及装置
CN103530338A (zh) 在计算设备上进行页面渲染的框架及生成页面的方法
Neha et al. Challenges in the adaptation of IoT technology
CN109558123A (zh) 网页转化电子书的方法、电子设备、存储介质
CN107203470A (zh) 页面调试方法和装置
CN109299032A (zh) 数据分析方法、电子设备及计算机存储介质
US9043464B1 (en) Automatically grouping resources accessed by a user
US9558161B2 (en) Providing a recovery placeholder within an application
US10210001B2 (en) Automatic execution of objects in a user interface
Compastié et al. Palantir: An nfv-based security-as-a-service approach for automating threat mitigation
CN110443880A (zh) 图像渲染方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant