CN105959180A - 数据检测方法及装置 - Google Patents
数据检测方法及装置 Download PDFInfo
- Publication number
- CN105959180A CN105959180A CN201610408204.8A CN201610408204A CN105959180A CN 105959180 A CN105959180 A CN 105959180A CN 201610408204 A CN201610408204 A CN 201610408204A CN 105959180 A CN105959180 A CN 105959180A
- Authority
- CN
- China
- Prior art keywords
- data
- user behavior
- user
- page
- behavior data
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据检测方法及装置,包括:获取用户使用数据和所述用户使用数据对应的检测请求;根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据;检查所述用户行为数据的正确性,并生成检查结果;将所述检查结果推送到测试终端。本发明提出的数据检测方法及装置,能够自动检测数据的正确性。
Description
技术领域
本发明涉及数据处理技术领域,特别是指一种数据检测方法及装置。
背景技术
用户行为分析,是指在获得网站访问量基本数据的情况下,对有关数据进行统计、分析,从中发现用户访问网站的规律,并将这些规律与网络营销策略等相结合,从而发现目前网络营销活动中可能存在的问题,并为进一步修正或重新制定网络营销策略提供依据。
要对用户行为进行分析,首先需要对用户行为进行收集。对于用户行为的收集,目前采用的方法基本是在客户端埋点,通过网络协议(如HTTP协议)传送到服务器端。所谓埋点,就是在正常的功能逻辑中添加统计逻辑,当发生相应事件时,触发与事件相应的统计操作。由于数据收集功能通常是用户不可感知的功能,所以在埋点开发的时候检查收集数据的值是否符合预期是一种很重要的测试手段。现在的测试方法是通过设置代理,抓取数据传输过程中的数据包,并且查看传输的参数。可能用到抓包工具有:浏览器自带开发者工具、Charles(查尔斯,是一种HTTP代理服务器、HTTP监视器、反转代理服务器,它允许一个开发者查看所有连接互联网的HTTP通信)等。
但在实现本发明的过程中,发明人发现现有技术至少存在以下问题:上述的这些抓包工具只是协助查看传递参数值。例如,在产品首页有一个视频的推荐位(即用于设置推荐数据的预览区域),为了统计有多少用户点击了推荐位的视频,那么在用户点击视频时可以将数据发送到服务器端。但现有技术的抓包工具只能看到推荐位置或其他位置的内容(例如视频)每次被点击时客户端所上传的一条传递参数值,每个字段信息是否正确需要测试人员人工确认,这样的检测方式较为耗费时间,效率也较为低下。
发明内容
有鉴于此,本发明实施例的目的在于提出一种数据检测方法及装置,能够自动检测数据的正确性。
基于上述目的本发明实施例提供的数据检测方法,包括:
获取用户使用数据和所述用户使用数据对应的检测请求;
根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据;
检查所述用户行为数据的正确性,并生成检查结果;
将所述检查结果推送到测试终端。
在一些实施方式中,所述用户使用数据和检测请求是通过Nginx服务器直接获取的。
在一些实施方式中,所述根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据的步骤包括:
判断所述用户使用数据是否为自定义数据类型;
若所述用户使用数据为自定义数据类型,按照预设数据自定义方法对所述用户使用数据进行处理,得到所述用户使用数据的数据对象;
对所述数据对象进行解析,得到用户行为数据。
在一些实施方式中,所述检查所述用户行为数据的正确性,并生成检查结果的步骤包括:
从所述用户行为数据中提取出页面编码数据;
判断所述页面编码数据是否存在于预设页面编码列表中;
若所述页面编码数据不存在于预设页面编码列表中,则在所述检查结果中生成页面编码错误结果。
在一些实施方式中,所述检查所述用户行为数据的正确性,并生成检查结果的步骤包括:
从所述用户行为数据中提取出用户编码数据;
判断所述用户编码数据是否处于预设用户编码取值范围中;
若所述用户编码数据不处于预设用户编码取值范围中,则在所述检查结果中生成用户编码错误结果。
在一些实施方式中,所述检查所述用户行为数据的正确性,并生成检查结果的步骤包括:
判断所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出视频编码数据;
判断所述视频编码数据是否为空;
若所述视频编码数据为空,则在所述检查结果中生成视频编码错误结果。
在一些实施方式中,所述检查所述用户行为数据的正确性,并生成检查结果的步骤包括:
判断所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出页面编码数据;
判断所述页面编码数据是否为主页数据;
若所述页面编码数据不是主页数据,则在所述检查结果中生成页面编码错误结果。
在一些实施方式中,所述将所述检查结果推送到测试终端的步骤包括:
通过网络套接字协议与所述测试终端的浏览器达成通信参数协议;
通过网络套接字协议,将所述检查结果主动推送到所述测试终端的浏览器界面进行展示。
在一些实施方式中,所述的方法还包括:将与所述检查结果相关联的用户行为数据推送到测试终端。
本发明实施例的另一方面,还提供了一种数据检测装置,包括:
数据获取模块,用于获取用户使用数据和所述用户使用数据对应的检测请求;
数据解析模块,用于根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据;
数据检查模块,用于检查所述用户行为数据的正确性,并生成检查结果;
数据推送模块,用于将所述检查结果推送到测试终端。
在一些实施方式中,所述用户使用数据和检测请求是通过Nginx服务器直接获取的。
在一些实施方式中,所述数据解析模块,具体用于:
判断所述用户使用数据是否为自定义数据类型;
若所述用户使用数据为自定义数据类型,按照预设数据自定义方法对所述用户使用数据进行处理,得到所述用户使用数据的数据对象;
对所述数据对象进行解析,得到用户行为数据。
在一些实施方式中,所述数据检查模块,具体用于:
从所述用户行为数据中提取出页面编码数据;
判断所述页面编码数据是否存在于预设页面编码列表中;
若所述页面编码数据不存在于预设页面编码列表中,则在所述检查结果中生成页面编码错误结果。
在一些实施方式中,所述数据检查模块,具体用于:
从所述用户行为数据中提取出用户编码数据;
判断所述用户编码数据是否处于预设用户编码取值范围中;
若所述用户编码数据不处于预设用户编码取值范围中,则在所述检查结果中生成用户编码错误结果。
在一些实施方式中,所述数据检查模块,具体用于:
判断所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出视频编码数据;
判断所述视频编码数据是否为空;
若所述视频编码数据为空,则在所述检查结果中生成视频编码错误结果。
在一些实施方式中,所述数据检查模块,具体用于:
判断所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出页面编码数据;
判断所述页面编码数据是否为主页数据;
若所述页面编码数据不是主页数据,则在所述检查结果中生成页面编码错误结果。
在一些实施方式中,所述数据推送模块,具体用于:
通过网络套接字协议与所述测试终端的浏览器达成通信参数协议;
通过网络套接字协议,将所述检查结果主动推送到所述测试终端的浏览器界面进行展示。
在一些实施方式中,所述数据推送模块,还用于:将与所述检查结果相关联的用户行为数据推送到测试终端。
从上面所述可以看出,本发明实施例提供的数据检测方法及装置,通过抓取用户使用数据进行测试,经过用户使用数据的解析,并对解析得到的用户行为数据进行正确性检查,得到检查结果并推送到测试终端,从而向测试工程师直观展示了检查结果,而无需测试工程师进行人工排查,大大提高了测试工程师的工作效率和数据检测效率,在测试数据量较为庞大的情况下,本发明实施例提供的数据检测方法及装置,能够大大减轻测试工程师的工作量,提高测试效率,并能根据检测结果及时对系统错误进行修复。
附图说明
图1为本发明提供的数据检测方法的第一个实施例的流程示意图;
图2为本发明提供的数据检测方法的第二个实施例中数据解析步骤的一个实施例的流程示意图;
图3为本发明提供的数据检测方法的第三个实施例的流程示意图;
图4为本发明提供的数据检测装置实施例的模块结构示意图;
图5为本发明提供的数据检测方法及装置实施例中测试界面的示意图;
图6为本发明提供的数据检测方法及装置实施例中错误状态的用户行为数据的查看界面的一部分的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明实施例的第一个方面,提出了一种能够自动检测数据正确性的数据检测方法的第一个实施例。如图1所示,为本发明提供的数据检测方法的第一个实施例的流程示意图。
所述数据检测方法,可选的,应用于服务器端,可包括以下步骤:
步骤101:获取用户使用数据和所述用户使用数据对应的检测请求;所述用户使用数据是用户在使用相关产品时产生的使用数据,例如使用APP(应用程序)或浏览网页等产生的使用数据;可选的,所述用户使用数据是基于HTTP协议,从客户端发送到服务器端的;
可选的,所述检测请求可以是通过埋点的方式预先设置的统计逻辑,即在发生相应事件(例如点击了APP或网页的首页的某个视频)时,所触发的相应事件的统计操作(也就是检测请求);所述检测请求还可以是通过在APP中预先设计的用于上传检测请求的程序包(可选的,可以采用SDK实现,即软件开发工具包),在客户端使用相应APP而产生用户使用数据的同时,触发该程序包并主动上传所述检测请求到服务器端,从而触发服务器端对用户使用数据进行采集与解析的检测过程,这种程序包通常与APP绑定在一起,即一个APP对应一个SDK;当然,也不排除在获取终端产品的用户使用数据的情况下,这种SDK则对应设置于一个终端产品上,用于获取整个终端产品的用户使用数据;
通常情况下,所述用户使用数据和检测请求是一一对应的关系,即一个用户使用数据会触发一次检测请求;但是,在某些情况下,例如用户使用数据不是一条一条传输,而是采用暂存本地并在达到相应预设数量的情况下进行批量传输的方式时,此时的一个检测请求对应的则是批量的用户使用数据,这样,根据批量传输的情况,前述的埋点、设置数据包则需要进行相应的统计逻辑的设置;可见,所述检测请求,可以是与所述用户使用数据同时产生的(用户使用数据和检测请求一对一的情况下),也可以是滞后于用户使用数据产生的(用户使用数据和检测请求多对一的情况下),但二者通常情况下是同时传输到服务器端的;
步骤102:根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据;
可选的,采用后端的数据解析器服务对所述用户使用数据进行解析,数据解析器服务负责完成的用户使用数据的解析工作,可以是,例如,获取HTTP请求中的获取请求(Get)或发送请求(Post)中的与用户行为相关的参数作为业务数据,业务数据主要是由用户行为产生的一些数据,如用户观看视频的ID、观看的时长、视频播放的类型(点播、直播)等,因此,所述业务数据也可称为用户行为数据;
步骤103:检查所述用户行为数据的正确性,并生成检查结果;这里,用户行为数据中可以包含体现用户行为的一些数据,例如用户点击视频的页面编码(pageId)、用户编码(userId)、视频编码(videoId)等,这些数据预先被设定了一定的正确性标准,将这些数据与相应的正确性标准进行比对,即可得出所述用户行为数据是否正确的检查结果;
步骤104:将所述检查结果推送到测试终端;所述测试终端在获取到所述检查结果后,可以将检查结果展示在测试界面中,供测试工程师查看。
从上述实施例可以看出,本发明实施例提供的数据检测方法,通过抓取用户使用数据进行测试,经过用户使用数据的解析,并对解析得到的用户行为数据进行正确性检查,得到检查结果并推送到测试终端,从而向测试工程师直观展示了检查结果,而无需测试工程师进行人工排查,大大提高了测试工程师的工作效率和数据检测效率,在测试数据量较为庞大的情况下,本发明实施例提供的数据检测方法,能够大大减轻测试工程师的工作量,提高测试效率,并能根据检测结果及时对系统错误进行修复。
由于现有技术中采用的用户使用数据的抓取方法是:设置代理(代理服务器),抓取数据传输过程中的数据包,并且查看传输的参数;这种抓取方法必须要经过代理(代理服务器),流程较为繁琐,并且用户使用数据通过代理服务器中转,可能会造成数据丢失,同时,还需要依赖代理服务器的正常运行,若代理服务器出现故障,会导致数据传输中断或者至少是数据传输不畅。
因此,本发明实施例的第二个方面,提出了一种能够自动检测数据正确性的数据检测方法的第二个实施例。
所述数据检测方法,应用于Nginx服务器,Nginx("engine x",引擎x)作为负载均衡服务器,既可以在内部直接支持Rails(可译为轨道,是一种用于开发数据库驱动的网络应用程序的完整框架)和PHP(Hypertext Preprocessor,超文本预处理器)程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务;
所述方法可包括以下步骤:
步骤101:获取用户使用数据和所述用户使用数据对应的检测请求;利用Nginx服务器的代理服务器功能,直接获取用户使用数据和检测请求,从而不需要从代理服务器抓取数据,节约了数据传输步骤,同时对于数据传输的稳定性掌握了主动权;
步骤102:根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据;
步骤103:检查所述用户行为数据的正确性,并生成检查结果;
步骤104:将所述检查结果推送到测试终端;
现有技术中的抓包工具都只能抓取HTTP传输协议的数据包,对于自定义数据类型并不适用,例如:如果用户使用数据是通过TCP协议(TransmissionControl Protocol,传输控制协议)传输的protobuf格式(protocol buffer,简称PB,协议缓冲区,是google(谷歌)的一种数据交换的格式)的数据,现有技术的抓包工具则无法对其进行抓取,但Nginx服务器可以获取这些数据;因此,对于自定义数据类型的数据包,参照附图2,所述步骤102还可进一步包括以下步骤:
步骤201:判断所述用户使用数据是否为自定义数据类型;所述自定义数据类型可以是Nginx服务器能够处理的各种自定义数据类型,例如protobuf格式的数据;Protobuf有如XML,不过它更小、更快、也更简单,它可以被任意定义数据结构,然后使用代码生成器生成的代码来读写这个数据结构,甚至可以在无需重新部署程序的情况下更新数据结构;只需使用Protobuf对数据结构进行一次描述,即可利用各种不同语言或从各种不同数据流中对自定义的结构化数据轻松读写;
步骤202:若所述用户使用数据为自定义数据类型,按照预设数据自定义方法对所述用户使用数据进行处理,得到所述用户使用数据的数据对象;例如,若自定义数据类型为protobuf,则将protobuf格式的用户使用数据反序列化为业务数据对象;序列化是指将数据结构或对象转换成二进制串的过程,而反序列化则是将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程;
步骤203:对所述数据对象进行解析,得到用户行为数据;所述数据对象的解析方法可以根据需求从中提取与用户行为有关的数据,例如用户观看视频的ID、观看的时长、视频播放的类型(点播、直播)等;具体的,不同的参数对应数据对象中的不同字段,根据字段即可提取得到相应参数。
从上述实施例可以看出,本发明实施例提供的数据检测方法,通过Nginx服务器直接获取用户使用数据进行测试,并经过用户使用数据的解析,特别是自定义数据类型的解析,并对解析得到的用户行为数据进行正确性检查,得到检查结果并推送到测试终端,从而向测试工程师直观展示了检查结果,而无需测试工程师进行人工排查,大大提高了测试工程师的工作效率和数据检测效率,在测试数据量较为庞大的情况下,本发明实施例提供的数据检测方法,能够大大减轻测试工程师的工作量,提高测试效率,并能根据检测结果及时对系统错误进行修复;此外,还节约了数据传输步骤,同时对于数据传输的稳定性掌握了主动权,并且,解决了现有技术中只能对http协议传输的数据进行抓取的问题。
本发明实施例的第三个方面,提出了一种能够自动检测数据正确性的数据检测方法的第三个实施例。如图2所示,为本发明提供的数据检测方法的第三个实施例的流程示意图。
所述方法可包括以下步骤:
步骤101:获取用户使用数据和所述用户使用数据对应的检测请求;
步骤102:根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据;
步骤103:检查所述用户行为数据的正确性,并生成检查结果;
步骤104:将所述检查结果推送到测试终端;
其中,以JSON格式为例,所述用户行为数据可以表示为:
{‘pageId’:’main’,‘position’:’recommend’,userId’:’12356890’,’videoId’:’v_123’}
pageId:页面的编码,main表示首页,当然在一个产品中还会有其他页面,每个页面都可以编码;
Position:对页面上的位置进行编码,recommend表示推荐位置;
userId:用户标识,videoId:视频ID;
上述格式的数据通常也可以称为传递参数值;
所述检查所述用户行为数据的正确性,并生成检查结果的步骤103可采用枚举值校验规则进行正确性检查,具体包括以下步骤:
步骤301:从所述用户行为数据中提取出页面编码数据(pageId);
步骤302:判断所述页面编码数据是否存在于预设页面编码列表中;通常情况下,页面编码数据是已经确定好的,已经确定好的页面编码数据被存储在所述预设页面编码列表,通过查看每次获取到的页面编码数据(pageId)是否存在于所述预设页面编码列表中,就能确定用户行为数据是否出现问题;
步骤303:若所述页面编码数据不存在于预设页面编码列表中,说明所述用户行为数据出现问题,则在所述检查结果中生成页面编码错误结果;这里的页面编码错误结果,可以不是将页面编码错误的全部内容在检查结果中进行展示,可以是仅仅在检查结果中通过警示性标识进行警告,参考附图5,为检查结果推送到测试终端后所展示的测试界面,其中,在用户IP和值之间的一列表格,用于标识错误警告,通过不同的颜色区分正确和错误,例如,图5中的黑色方框可以是指代检查结果为正确,灰色方框则可以是指代检查结果为错误;
可见,通过上述实施例,使得页面编码数据的正确性可以进行自动检测,而无需人工排查;
可选的,所述检查所述用户行为数据的正确性,并生成检查结果的步骤103还可采用取值范围校验规则进行正确性检查,具体包括以下步骤:
步骤304:从所述用户行为数据中提取出用户编码数据(userId);
步骤305:判断所述用户编码数据是否处于预设用户编码取值范围中;通常情况下,用户编码数据为一个取值,该取值处于一个预设用户编码取值范围中,例如,用户编码数据是一个8位数字,且预设用户编码取值范围为10000000~99999999,若用户编码数据超出这个范围,则说明用户编码数据出现问题;
步骤306:若所述用户编码数据不处于预设用户编码取值范围中,说明用户编码数据出现问题,则在所述检查结果中生成用户编码错误结果;同理,这里的用户编码错误结果,也可以不是将用户编码错误的全部内容在检查结果中进行展示,而可以是仅仅在检查结果中通过警示性标识进行警告,参考附图5,为检查结果推送到测试终端后所展示的测试界面,其中,在用户IP和值之间的一列表格,用于标识错误警告,通过不同的颜色区分正确和错误,例如,图5中的黑色方框可以是指代检查结果为正确,灰色方框则可以是指代检查结果为错误;
可见,通过上述实施例,使得用户编码数据的正确性可以进行自动检测,而无需人工排查;
可选的,所述检查所述用户行为数据的正确性,并生成检查结果的步骤103还可采用关联校验规则进行正确性检查,具体包括以下步骤:
步骤307:判断所述用户行为数据是否为推荐位的用户行为数据;所述推荐位是指用于设置推荐数据的预览区域,例如视频软件首页中的最热门视频、最新视频的区域;所述推荐位的用户行为数据,是指推荐位的内容被点击后而最终产生的用户行为数据;如果是推荐位的用户行为数据,则用户行为数据中就会有position(位置)为recommend(推荐)的数据,通过判断该字段内容,即可得知所述用户行为数据是否为推荐位的用户行为数据;
步骤308:若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出视频编码数据(videoId);
步骤309:判断所述视频编码数据是否为空;通常情况下,如果是推荐位的用户行为数据,那么视频编码数据(videoId)必须不能为空,若视频编码数据为空,则说明视频编码数据出现问题;
步骤310:若所述视频编码数据为空,说明视频编码数据出现问题,则在所述检查结果中生成视频编码错误结果;同理,这里的视频编码错误结果,也可以不是将视频编码错误的全部内容在检查结果中进行展示,而可以是仅仅在检查结果中通过警示性标识进行警告,参考附图5,为检查结果推送到测试终端后所展示的测试界面,其中,在用户IP和值之间的一列表格,用于标识错误警告,通过不同的颜色区分正确和错误,例如,图5中的黑色方框可以是指代检查结果为正确,灰色方框则可以是指代检查结果为错误;
可见,通过上述实施例,使得推荐位的视频编码数据的正确性可以进行自动检测,而无需人工排查;
可选的,所述检查所述用户行为数据的正确性,并生成检查结果的步骤103还可采用逻辑校验规则进行正确性检查,具体包括以下步骤:
步骤307:判断所述用户行为数据是否为推荐位的用户行为数据;所述推荐位是指用于设置推荐数据的预览区域,例如视频软件首页中的最热门视频、最新视频的区域;所述推荐位的用户行为数据,是指推荐位的内容被点击后而最终产生的用户行为数据;如果是推荐位的用户行为数据,则用户行为数据中就会有position(位置)为recommend(推荐)的数据,通过判断该字段内容,即可得知所述用户行为数据是否为推荐位的用户行为数据;
步骤311:若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出页面编码数据(pageId);
步骤312:判断所述页面编码数据(pageId)是否为主页数据;因为通常情况下,产品首页才有推荐位,那么这条数据对应的页面编码数据(pageId)必须是主页数据(main),如果是其他值则说明页面编码数据出现错误;
步骤313:若所述页面编码数据不是主页数据,说明页面编码数据出现错误,则在所述检查结果中生成页面编码错误结果;同理,这里的页面编码错误结果,也可以不是将页面编码错误的全部内容在检查结果中进行展示,而可以是仅仅在检查结果中通过警示性标识进行警告,参考附图5,为检查结果推送到测试终端后所展示的测试界面,其中,在用户IP和值之间的一列表格,用于标识错误警告,通过不同的颜色区分正确和错误,例如,图5中的黑色方框可以是指代检查结果为正确,灰色方框则可以是指代检查结果为错误;
可见,通过上述实施例,使得推荐位的页面编码数据的正确性可以进行自动检测,而无需人工排查。
需要说明的是,上述各检查规则的实施例除了可以单独使用外,各检查规则实施例之间还可以任意排列组合形成新的检查规则实施例;除了上述实施例中例举的检查规则,还根据业务自定义其他检查规则,因此不能讲本发明的保护范围限定在上述实施例之上。
通过上述各实施例或各实施例的排列组合,本发明实施例提供的数据检测方法,可以针对用户行为数据中的每个字段信息设置检查规则,这样每次测试时就可以通过这些规则检查每个字段的正确性,从而方便测试人员快速完成测试,提高测试效率。
此外,还可以将所述步骤103封装设计为具有规则库的规则引擎,所述规则库中存储各设计完成的检测规则,通过调整规则引擎中对检测规则的选择,从规则库中调用检测规则,用于对需要测试的字段进行检测并自动生成检查结果。可选的,所述规则引擎接收数据解析器发送的数据,根据数据的键(key)匹配的规则对该键(key)对应的值(value)做检查。
可选的,在一些实施方式中,上述各实施例中的所述将所述检查结果推送到测试终端的步骤104还可具体包括以下步骤:
通过网络套接字协议(WebSocket protocol)与所述测试终端的浏览器达成通信参数协议(亦称握手或交握,英文名Handshake);所述握手是指,在通信电路建立之后,信息传输开始之前,握手用于对操作模式的状态互相达成协定,其中包括达成参数(如信息传输率、字母表、奇偶校验、中断过程等)协议的特性;这里,与所述测试终端的浏览器完成握手的可以是服务器端的网络套接字服务器(WebSocket Server),网络套接字服务器可视为服务器的一部分;网络套接字协议(WebSocket protocol)是HTML5的一种新的协议,它能够实现浏览器与服务器全双工通信(full-duplex),一开始的握手需要借助HTTP请求完成握手,利用WebSocket API(Application Programming Interface,应用程序编程接口),测试终端的浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道,两者之间就直接可以数据互相传送;
通过网络套接字协议,将所述检查结果主动推送到所述测试终端的浏览器界面进行展示;现有技术中,很多网站为了实现即时通讯,所用的技术都是轮询(polling),轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器,这种传统的HTTP请求的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求的头部(header)是非常长的,里面包含的有用数据可能只是一个很小的值,这样会占用很多的带宽;本发明实施例采用网络套接字协议实现服务器与测试终端的连接,服务器不再被动的接收到浏览器的请求之后才返回数据,而是在有新数据时就主动推送给浏览器,从而能够主动向测试终端推送检查结果,达到实时更新的效果,并且采用WebSocket协议,互相沟通的Header很小,大概只有2Bytes,从而节省了带宽。
可选的,在一些实施方式中,上述各实施例中的所述数据检测方法,还可包括步骤:将与所述检查结果相关联的用户行为数据推送到测试终端,这里的与所述检查结果相关联的用户行为数据可以是包括了正确状态和错误状态对应的所有用户行为数据,也可以是只有错误状态的用户行为数据;所述用户行为数据与检查结果相关联,在测试界面中可以相应的检查结果关联在一起,当测试工程师需要查看详细内容时,点击相应的检查结果,则可打开展示相应的用户行为数据的界面,从而方便测试工程师了解具体的错误内容。参考附图6,为错误状态的用户行为数据的查看界面的一部分的示意图。
本发明实施例的第四个方面,提出了一种能够自动检测数据的正确性的数据检测装置的第一个实施例。如图4所示,为本发明提供的数据检测装置实施例的流程示意图。
所述数据检测装置,可选的,应用于服务器端,包括:
数据获取模块401,用于获取用户使用数据和所述用户使用数据对应的检测请求;所述用户使用数据是用户在使用相关产品时产生的使用数据,例如使用APP(应用程序)或浏览网页等产生的使用数据;可选的,所述用户使用数据是基于HTTP协议,从客户端发送到服务器端的;可选的,所述检测请求可以是通过埋点的方式预先设置的统计逻辑,即在发生相应事件(例如点击了APP或网页的首页的某个视频)时,所触发的相应事件的统计操作(也就是检测请求);所述检测请求还可以是通过在APP中预先设计的用于上传检测请求的程序包(可选的,可以采用SDK实现,即软件开发工具包),在客户端使用相应APP而产生用户使用数据的同时,触发该程序包并主动上传所述检测请求到服务器端,从而触发服务器端对用户使用数据进行采集与解析的检测过程,这种程序包通常与APP绑定在一起,即一个APP对应一个SDK;当然,也不排除在获取终端产品的用户使用数据的情况下,这种SDK则对应设置于一个终端产品上,用于获取整个终端产品的用户使用数据;
通常情况下,所述用户使用数据和检测请求是一一对应的关系,即一个用户使用数据会触发一次检测请求;但是,在某些情况下,例如用户使用数据不是一条一条传输,而是采用暂存本地并在达到相应预设数量的情况下进行批量传输的方式时,此时的一个检测请求对应的则是批量的用户使用数据,这样,根据批量传输的情况,前述的埋点、设置数据包则需要进行相应的统计逻辑的设置;可见,所述检测请求,可以是与所述用户使用数据同时产生的(用户使用数据和检测请求一对一的情况下),也可以是滞后于用户使用数据产生的(用户使用数据和检测请求多对一的情况下),但二者通常情况下是同时传输到服务器端的;
数据解析模块402,用于根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据;
可选的,采用后端的数据解析器服务对所述用户使用数据进行解析,数据解析器服务负责完成的用户使用数据的解析工作,可以是,例如,获取HTTP请求中的获取请求(Get)或发送请求(Post)中的与用户行为相关的参数作为业务数据,业务数据主要是由用户行为产生的一些数据,如用户观看视频的ID、观看的时长、视频播放的类型(点播、直播)等,因此,所述业务数据也可称为用户行为数据;
数据检查模块403,用于检查所述用户行为数据的正确性,并生成检查结果;这里,用户行为数据中可以包含体现用户行为的一些数据,例如用户点击视频的页面编码(pageId)、用户编码(userId)、视频编码(videoId)等,这些数据预先被设定了一定的正确性标准,将这些数据与相应的正确性标准进行比对,即可得出所述用户行为数据是否正确的检查结果;
数据推送模块404,用于将所述检查结果推送到测试终端,所述测试终端在接收到所述检查结果后,可以将检查结果展示在测试界面中,供测试工程师查看。
从上述实施例可以看出,本发明实施例提供的数据检测装置,通过抓取用户使用数据进行测试,经过用户使用数据的解析,并对解析得到的用户行为数据进行正确性检查,得到检查结果并推送到测试终端,从而向测试工程师直观展示了检查结果,而无需测试工程师进行人工排查,大大提高了测试工程师的工作效率和数据检测效率,在测试数据量较为庞大的情况下,本发明实施例提供的数据检测装置,能够大大减轻测试工程师的工作量,提高测试效率,并能根据检测结果及时对系统错误进行修复。
由于现有技术中采用的用户使用数据的抓取方法是:设置代理(代理服务器),抓取数据传输过程中的数据包,并且查看传输的参数;这种抓取方法必须要经过代理(代理服务器),流程较为繁琐,并且用户使用数据通过代理服务器中转,可能会造成数据丢失,同时,还需要依赖代理服务器的正常运行,若代理服务器出现故障,会导致数据传输中断或者至少是数据传输不畅。
因此,本发明实施例的第五个方面,提出了一种能够自动检测数据的正确性的数据检测装置的第二个实施例。
继续参照附图4,所述数据检测装置,应用于Nginx服务器,Nginx("enginex",引擎x)作为负载均衡服务器,既可以在内部直接支持Rails(可译为轨道,是一种用于开发数据库驱动的网络应用程序的完整框架)和PHP(HypertextPreprocessor,超文本预处理器)程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务;
所述装置包括:
Nginx服务器中实现数据抓取功能的数据获取模块401,用于获取用户使用数据和所述用户使用数据对应的检测请求;利用Nginx服务器的代理服务器功能,直接获取用户使用数据和检测请求,从而不需要从代理服务器抓取数据,节约了数据传输步骤,同时对于数据传输的稳定性掌握了主动权;
数据解析模块402,用于根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据;
数据检查模块403,用于检查所述用户行为数据的正确性,并生成检查结果;
数据推送模块404,用于将所述检查结果推送到测试终端;
现有技术中的抓包工具都只能抓取HTTP传输协议的数据包,对于自定义数据类型并不适用,例如:如果用户使用数据是通过TCP协议(TransmissionControl Protocol,传输控制协议)传输的protobuf格式(protocol buffer,简称PB,协议缓冲区,是google(谷歌)的一种数据交换的格式)的数据,现有技术的抓包工具则无法对其进行抓取,但Nginx服务器可以获取这些数据;因此,对于自定义数据类型的数据包,所述数据解析模块402,还可具体用于:
判断所述用户使用数据是否为自定义数据类型;所述自定义数据类型可以是Nginx服务器能够处理的各种自定义数据类型,例如protobuf格式的数据;Protobuf有如XML,不过它更小、更快、也更简单,它可以被任意定义数据结构,然后使用代码生成器生成的代码来读写这个数据结构,甚至可以在无需重新部署程序的情况下更新数据结构;只需使用Protobuf对数据结构进行一次描述,即可利用各种不同语言或从各种不同数据流中对自定义的结构化数据轻松读写;
若所述用户使用数据为自定义数据类型,按照预设数据自定义方法对所述用户使用数据进行处理,得到所述用户使用数据的数据对象;例如,若自定义数据类型为protobuf,则将protobuf格式的用户使用数据反序列化为业务数据对象;序列化是指将数据结构或对象转换成二进制串的过程,而反序列化则是将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程;
对所述数据对象进行解析,得到用户行为数据;所述数据对象的解析方法可以根据需求从中提取与用户行为有关的数据,例如用户观看视频的ID、观看的时长、视频播放的类型(点播、直播)等;具体的,不同的参数对应数据对象中的不同字段,根据字段即可提取得到相应参数。
从上述实施例可以看出,本发明实施例提供的数据检测装置,通过Nginx服务器直接抓取用户使用数据进行测试,并经过用户使用数据的解析,特别是自定义数据类型的解析,并对解析得到的用户行为数据进行正确性检查,得到检查结果并推送到测试终端,从而向测试工程师直观展示了检查结果,而无需测试工程师进行人工排查,大大提高了测试工程师的工作效率和数据检测效率,在测试数据量较为庞大的情况下,本发明实施例提供的数据检测装置,能够大大减轻测试工程师的工作量,提高测试效率,并能根据检测结果及时对系统错误进行修复;此外,还节约了数据传输步骤,同时对于数据传输的稳定性掌握了主动权,并且,解决了现有技术中只能对http协议传输的数据进行抓取的问题。
可选的,在一些实施方式中,以JSON格式为例,所述用户行为数据可以表示为:
{‘pageId’:’main’,‘position’:’recommend’,userId’:’12356890’,’videoId’:’v_123’}
pageId:页面的编码,main表示首页,当然在一个产品中还会有其他页面,每个页面都可以编码;
Position:对页面上的位置进行编码,recommend表示推荐位置;
userId:用户标识,videoId:视频ID;
上述格式的数据通常也可以称为传递参数值;
所述数据检查模块403,还可采用枚举值校验规则进行正确性检查,具体用于:
从所述用户行为数据中提取出页面编码数据(pageId);
判断所述页面编码数据是否存在于预设页面编码列表中;通常情况下,页面编码数据是已经确定好的,已经确定好的页面编码数据被存储在所述预设页面编码列表,通过查看每次获取到的页面编码数据(pageId)是否存在于所述预设页面编码列表中,就能确定用户行为数据是否出现问题;
若所述页面编码数据不存在于预设页面编码列表中,说明所述用户行为数据出现问题,则在所述检查结果中生成页面编码错误结果;这里的页面编码错误结果,可以不是将页面编码错误的全部内容在检查结果中进行展示,可以是仅仅在检查结果中通过警示性标识进行警告,参考附图5,为检查结果推送到测试终端后所展示的测试界面,其中,在用户IP和值之间的一列表格,用于标识错误警告,通过不同的颜色区分正确和错误,例如,图5中的黑色方框可以是指代检查结果为正确,灰色方框则可以是指代检查结果为错误。
可见,通过上述实施例,使得页面编码数据的正确性可以进行自动检测,而无需人工排查。
可选的,在一些实施方式中,所述数据检查模块403,还可采用取值范围校验规则进行正确性检查,具体用于:
从所述用户行为数据中提取出用户编码数据(userId);
判断所述用户编码数据是否处于预设用户编码取值范围中;通常情况下,用户编码数据为一个取值,该取值处于一个预设用户编码取值范围中,例如,用户编码数据是一个8位数字,且预设用户编码取值范围为10000000~99999999,若用户编码数据超出这个范围,则说明用户编码数据出现问题;
若所述用户编码数据不处于预设用户编码取值范围中,说明用户编码数据出现问题,则在所述检查结果中生成用户编码错误结果;同理,这里的用户编码错误结果,也可以不是将用户编码错误的全部内容在检查结果中进行展示,而可以是仅仅在检查结果中通过警示性标识进行警告,参考附图5,为检查结果推送到测试终端后所展示的测试界面,其中,在用户IP和值之间的一列表格,用于标识错误警告,通过不同的颜色区分正确和错误,例如,图5中的黑色方框可以是指代检查结果为正确,灰色方框则可以是指代检查结果为错误。
可见,通过上述实施例,使得用户编码数据的正确性可以进行自动检测,而无需人工排查。
可选的,在一些实施方式中,所述数据检查模块403,还可采用关联校验规则进行正确性检查,具体用于:
判断所述用户行为数据是否为推荐位的用户行为数据;所述推荐位是指用于设置推荐数据的预览区域,例如视频软件首页中的最热门视频、最新视频的区域;所述推荐位的用户行为数据,是指推荐位的内容被点击后而最终产生的用户行为数据;如果是推荐位的用户行为数据,则用户行为数据中就会有position(位置)为recommend(推荐)的数据,通过判断该字段内容,即可得知所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出视频编码数据(videoId);
判断所述视频编码数据是否为空;通常情况下,如果是推荐位的用户行为数据,那么视频编码数据(videoId)必须不能为空,若视频编码数据为空,则说明视频编码数据出现问题;
若所述视频编码数据为空,说明视频编码数据出现问题,则在所述检查结果中生成视频编码错误结果;同理,这里的视频编码错误结果,也可以不是将视频编码错误的全部内容在检查结果中进行展示,而可以是仅仅在检查结果中通过警示性标识进行警告,参考附图5,为检查结果推送到测试终端后所展示的测试界面,其中,在用户IP和值之间的一列表格,用于标识错误警告,通过不同的颜色区分正确和错误,例如,图5中的黑色方框可以是指代检查结果为正确,灰色方框则可以是指代检查结果为错误。
可见,通过上述实施例,使得推荐位的视频编码数据的正确性可以进行自动检测,而无需人工排查。
可选的,在一些实施方式中,所述数据检查模块403,还可采用逻辑校验规则进行正确性检查,具体用于:
判断所述用户行为数据是否为推荐位的用户行为数据;所述推荐位是指用于设置推荐数据的预览区域,例如视频软件首页中的最热门视频、最新视频的区域;所述推荐位的用户行为数据,是指推荐位的内容被点击后而最终产生的用户行为数据;如果是推荐位的用户行为数据,则用户行为数据中就会有position(位置)为recommend(推荐)的数据,通过判断该字段内容,即可得知所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出页面编码数据(pageId);
判断所述页面编码数据是否为主页数据;因为通常情况下,产品首页才有推荐位,那么这条数据对应的页面编码数据(pageId)必须是主页数据(main),如果是其他值则说明页面编码数据出现错误;
若所述页面编码数据不是主页数据,说明页面编码数据出现错误,则在所述检查结果中生成页面编码错误结果;同理,这里的页面编码错误结果,也可以不是将页面编码错误的全部内容在检查结果中进行展示,而可以是仅仅在检查结果中通过警示性标识进行警告,参考附图5,为检查结果推送到测试终端后所展示的测试界面,其中,在用户IP和值之间的一列表格,用于标识错误警告,通过不同的颜色区分正确和错误,例如,图5中的黑色方框可以是指代检查结果为正确,灰色方框则可以是指代检查结果为错误。
可见,通过上述实施例,使得推荐位的页面编码数据的正确性可以进行自动检测,而无需人工排查。
需要说明的是,上述各检查规则的实施例除了可以单独使用外,各检查规则实施例之间还可以任意排列组合形成新的检查规则实施例;除了上述实施例中例举的检查规则,还根据业务自定义其他检查规则,因此不能讲本发明的保护范围限定在上述实施例之上。
通过上述各实施例或各实施例的排列组合,本发明实施例提供的数据检测装置,可以针对用户行为数据中的每个字段信息设置检查规则,这样每次测试时就可以通过这些规则检查每个字段的正确性,从而方便测试人员快速完成测试,提高测试效率。
此外,还可以将所述数据检查模块403封装设计为具有规则库的规则引擎,所述规则库中存储各设计完成的检测规则,通过调整规则引擎中对检测规则的选择,从规则库中调用检测规则,用于对需要测试的字段进行检测并自动生成检查结果。可选的,所述规则引擎接收数据解析器发送的数据,根据数据的键(key)匹配的规则对该键(key)对应的值(value)做检查。
可选的,在一些实施方式中,上述各实施例中的所述数据推送模块404,还可具体用于:
通过网络套接字协议(WebSocket protocol)与所述测试终端的浏览器达成通信参数协议(亦称握手或交握,英文名Handshake);所述握手是指,在通信电路建立之后,信息传输开始之前,握手用于对操作模式的状态互相达成协定,其中包括达成参数(如信息传输率、字母表、奇偶校验、中断过程等)协议的特性;这里,与所述测试终端的浏览器完成握手的可以是服务器端的网络套接字服务器(WebSocket Server),网络套接字服务器可视为服务器的一部分;网络套接字协议(WebSocket protocol)是HTML5的一种新的协议,它能够实现浏览器与服务器全双工通信(full-duplex),一开始的握手需要借助HTTP请求完成握手,利用WebSocket API(Application Programming Interface,应用程序编程接口),测试终端的浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道,两者之间就直接可以数据互相传送;
通过网络套接字协议,将所述检查结果主动推送到所述测试终端的浏览器界面进行展示;现有技术中,很多网站为了实现即时通讯,所用的技术都是轮询(polling),轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器,这种传统的HTTP请求的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求的头部(header)是非常长的,里面包含的有用数据可能只是一个很小的值,这样会占用很多的带宽;本发明实施例采用网络套接字协议实现服务器与测试终端的连接,服务器不再被动的接收到浏览器的请求之后才返回数据,而是在有新数据时就主动推送给浏览器,从而能够主动向测试终端推送检查结果,达到实时更新的效果,并且采用WebSocket协议,互相沟通的Header很小,大概只有2Bytes,从而节省了带宽。
可选的,在一些实施方式中,上述各实施例中的所述数据推送模块404,还可用于:
将与所述检查结果相关联的用户行为数据推送到测试终端,这里的与所述检查结果相关联的用户行为数据可以是包括了正确状态和错误状态对应的所有用户行为数据,也可以是只有错误状态的用户行为数据;所述用户行为数据与检查结果相关联,在测试界面中可以相应的检查结果关联在一起,当测试工程师需要查看详细内容时,点击相应的检查结果,则可打开展示相应的用户行为数据的界面,从而方便测试工程师了解具体的错误内容。参考附图6,为错误状态的用户行为数据的查看界面的一部分的示意图。
本发明实施例的第六个方面,还提供了一种装置,包括:
一个或多个处理器;以及
用于存储操作指令的存储器;
所述一个或多个处理器被配置为从所述存储器中获取操作指令并执行:
获取用户使用数据和所述用户使用数据对应的检测请求;
根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据;
检查所述用户行为数据的正确性,并生成检查结果;
将所述检查结果推送到测试终端。
可选的,在一些实施方式中,应用于Nginx服务器,所述用户使用数据和检测请求是通过Nginx服务器直接获取的。
可选的,在一些实施方式中,所述处理器还用于执行:
判断所述用户使用数据是否为自定义数据类型;
若所述用户使用数据为自定义数据类型,按照预设数据自定义方法对所述用户使用数据进行处理,得到所述用户使用数据的数据对象;
对所述数据对象进行解析,得到用户行为数据。
可选的,在一些实施方式中,所述处理器还用于执行:
从所述用户行为数据中提取出页面编码数据;
判断所述页面编码数据是否存在于预设页面编码列表中;
若所述页面编码数据不存在于预设页面编码列表中,则在所述检查结果中生成页面编码错误结果。
可选的,在一些实施方式中,所述处理器还用于执行:
从所述用户行为数据中提取出用户编码数据;
判断所述用户编码数据是否处于预设用户编码取值范围中;
若所述用户编码数据不处于预设用户编码取值范围中,则在所述检查结果中生成用户编码错误结果。
可选的,在一些实施方式中,所述处理器还用于执行:
判断所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出视频编码数据;
判断所述视频编码数据是否为空;
若所述视频编码数据为空,则在所述检查结果中生成视频编码错误结果。
可选的,在一些实施方式中,所述处理器还用于执行:
判断所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出页面编码数据;
判断所述页面编码数据是否为主页数据;
若所述页面编码数据不是主页数据,则在所述检查结果中生成页面编码错误结果。
可选的,在一些实施方式中,所述处理器还用于执行:
通过网络套接字协议与所述测试终端的浏览器达成通信参数协议;
通过网络套接字协议,将所述检查结果主动推送到所述测试终端的浏览器界面进行展示。
可选的,在一些实施方式中,所述处理器还用于执行:
将与所述检查结果相关联的用户行为数据推送到测试终端。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种数据检测方法,其特征在于,包括:
获取用户使用数据和所述用户使用数据对应的检测请求;
根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据;
检查所述用户行为数据的正确性,并生成检查结果;
将所述检查结果推送到测试终端。
2.根据权利要求1所述的方法,其特征在于,所述用户使用数据和检测请求是通过Nginx服务器直接获取的。
3.根据权利要求2所述的方法,其特征在于,所述根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据的步骤包括:
判断所述用户使用数据是否为自定义数据类型;
若所述用户使用数据为自定义数据类型,按照预设数据自定义方法对所述用户使用数据进行处理,得到所述用户使用数据的数据对象;
对所述数据对象进行解析,得到用户行为数据。
4.根据权利要求1所述的方法,其特征在于,所述检查所述用户行为数据的正确性,并生成检查结果的步骤包括:
从所述用户行为数据中提取出页面编码数据;
判断所述页面编码数据是否存在于预设页面编码列表中;
若所述页面编码数据不存在于预设页面编码列表中,则在所述检查结果中生成页面编码错误结果。
5.根据权利要求1所述的方法,其特征在于,所述检查所述用户行为数据的正确性,并生成检查结果的步骤包括:
从所述用户行为数据中提取出用户编码数据;
判断所述用户编码数据是否处于预设用户编码取值范围中;
若所述用户编码数据不处于预设用户编码取值范围中,则在所述检查结果中生成用户编码错误结果。
6.根据权利要求1所述的方法,其特征在于,所述检查所述用户行为数据的正确性,并生成检查结果的步骤包括:
判断所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出视频编码数据;
判断所述视频编码数据是否为空;
若所述视频编码数据为空,则在所述检查结果中生成视频编码错误结果。
7.根据权利要求1所述的方法,其特征在于,所述检查所述用户行为数据的正确性,并生成检查结果的步骤包括:
判断所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出页面编码数据;
判断所述页面编码数据是否为主页数据;
若所述页面编码数据不是主页数据,则在所述检查结果中生成页面编码错误结果。
8.根据权利要求1所述的方法,其特征在于,所述将所述检查结果推送到测试终端的步骤包括:
通过网络套接字协议与所述测试终端的浏览器达成通信参数协议;
通过网络套接字协议,将所述检查结果主动推送到所述测试终端的浏览器界面进行展示。
9.根据权利要求1所述的方法,其特征在于,还包括:将与所述检查结果相关联的用户行为数据推送到测试终端。
10.一种数据检测装置,其特征在于,包括:
数据获取模块,用于获取用户使用数据和所述用户使用数据对应的检测请求;
数据解析模块,用于根据所述检测请求,对所述用户使用数据进行解析,得到用户行为数据;
数据检查模块,用于检查所述用户行为数据的正确性,并生成检查结果;
数据推送模块,用于将所述检查结果推送到测试终端。
11.根据权利要求10所述的装置,其特征在于,所述用户使用数据和检测请求是通过Nginx服务器直接获取的。
12.根据权利要求11所述的装置,其特征在于,所述数据解析模块,具体用于:
判断所述用户使用数据是否为自定义数据类型;
若所述用户使用数据为自定义数据类型,按照预设数据自定义方法对所述用户使用数据进行处理,得到所述用户使用数据的数据对象;
对所述数据对象进行解析,得到用户行为数据。
13.根据权利要求10所述的装置,其特征在于,所述数据检查模块,具体用于:
从所述用户行为数据中提取出页面编码数据;
判断所述页面编码数据是否存在于预设页面编码列表中;
若所述页面编码数据不存在于预设页面编码列表中,则在所述检查结果中生成页面编码错误结果。
14.根据权利要求10所述的装置,其特征在于,所述数据检查模块,具体用于:
从所述用户行为数据中提取出用户编码数据;
判断所述用户编码数据是否处于预设用户编码取值范围中;
若所述用户编码数据不处于预设用户编码取值范围中,则在所述检查结果中生成用户编码错误结果。
15.根据权利要求10所述的装置,其特征在于,所述数据检查模块,具体用于:
判断所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出视频编码数据;
判断所述视频编码数据是否为空;
若所述视频编码数据为空,则在所述检查结果中生成视频编码错误结果。
16.根据权利要求10所述的装置,其特征在于,所述数据检查模块,具体用于:
判断所述用户行为数据是否为推荐位的用户行为数据;
若所述用户行为数据为推荐位的用户行为数据,则从所述用户行为数据中提取出页面编码数据;
判断所述页面编码数据是否为主页数据;
若所述页面编码数据不是主页数据,则在所述检查结果中生成页面编码错误结果。
17.根据权利要求10所述的装置,其特征在于,所述数据推送模块,具体用于:
通过网络套接字协议与所述测试终端的浏览器达成通信参数协议;
通过所述网络套接字协议,将所述检查结果主动推送到所述测试终端的浏览器界面进行展示。
18.根据权利要求10所述的装置,其特征在于,所述数据推送模块,还用于:
将与所述检查结果相关联的用户行为数据推送到测试终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610408204.8A CN105959180A (zh) | 2016-06-12 | 2016-06-12 | 数据检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610408204.8A CN105959180A (zh) | 2016-06-12 | 2016-06-12 | 数据检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105959180A true CN105959180A (zh) | 2016-09-21 |
Family
ID=56909183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610408204.8A Pending CN105959180A (zh) | 2016-06-12 | 2016-06-12 | 数据检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105959180A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528432A (zh) * | 2016-12-12 | 2017-03-22 | 北京三快在线科技有限公司 | 测试场景数据的构建方法及装置、埋点测试方法 |
CN108196971A (zh) * | 2017-12-29 | 2018-06-22 | 北京五八信息技术有限公司 | 一种数据的分析方法、装置、终端及存储介质 |
CN109302402A (zh) * | 2018-10-26 | 2019-02-01 | 北京芯盾时代科技有限公司 | 一种行为检测方法及装置 |
CN109446030A (zh) * | 2018-11-12 | 2019-03-08 | 北京芯盾时代科技有限公司 | 一种行为监测方法以及装置 |
CN112346988A (zh) * | 2020-11-26 | 2021-02-09 | 恩亿科(北京)数据科技有限公司 | 一种数据测试方法、系统及数据筛选器 |
CN112653599A (zh) * | 2020-12-21 | 2021-04-13 | 广州爱浦路网络技术有限公司 | 接口错误信息报告方法、系统、装置和存储介质 |
CN112995256A (zh) * | 2019-12-13 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 行为数据处理方法及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1649311A (zh) * | 2005-03-23 | 2005-08-03 | 北京首信科技有限公司 | 基于机器学习的用户行为异常检测系统和方法 |
US20130138507A1 (en) * | 2011-11-30 | 2013-05-30 | Amit Kumar | Predictive modeling for e-commerce advertising systems and methods |
CN103812683A (zh) * | 2012-11-15 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种用户行为数据的处理方法、装置和系统 |
CN103916293A (zh) * | 2014-04-15 | 2014-07-09 | 浪潮软件股份有限公司 | 一种监控分析网站用户行为的方法 |
CN105338115A (zh) * | 2015-11-26 | 2016-02-17 | 上海晶赞科技发展有限公司 | 数据服务器 |
-
2016
- 2016-06-12 CN CN201610408204.8A patent/CN105959180A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1649311A (zh) * | 2005-03-23 | 2005-08-03 | 北京首信科技有限公司 | 基于机器学习的用户行为异常检测系统和方法 |
US20130138507A1 (en) * | 2011-11-30 | 2013-05-30 | Amit Kumar | Predictive modeling for e-commerce advertising systems and methods |
CN103812683A (zh) * | 2012-11-15 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种用户行为数据的处理方法、装置和系统 |
CN103916293A (zh) * | 2014-04-15 | 2014-07-09 | 浪潮软件股份有限公司 | 一种监控分析网站用户行为的方法 |
CN105338115A (zh) * | 2015-11-26 | 2016-02-17 | 上海晶赞科技发展有限公司 | 数据服务器 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528432A (zh) * | 2016-12-12 | 2017-03-22 | 北京三快在线科技有限公司 | 测试场景数据的构建方法及装置、埋点测试方法 |
CN106528432B (zh) * | 2016-12-12 | 2019-01-25 | 北京三快在线科技有限公司 | 测试场景数据的构建方法及装置、埋点测试方法 |
CN108196971A (zh) * | 2017-12-29 | 2018-06-22 | 北京五八信息技术有限公司 | 一种数据的分析方法、装置、终端及存储介质 |
CN109302402A (zh) * | 2018-10-26 | 2019-02-01 | 北京芯盾时代科技有限公司 | 一种行为检测方法及装置 |
CN109446030A (zh) * | 2018-11-12 | 2019-03-08 | 北京芯盾时代科技有限公司 | 一种行为监测方法以及装置 |
CN112995256A (zh) * | 2019-12-13 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 行为数据处理方法及相关设备 |
CN112995256B (zh) * | 2019-12-13 | 2022-08-26 | 腾讯科技(深圳)有限公司 | 行为数据处理方法及相关设备 |
CN112346988A (zh) * | 2020-11-26 | 2021-02-09 | 恩亿科(北京)数据科技有限公司 | 一种数据测试方法、系统及数据筛选器 |
CN112653599A (zh) * | 2020-12-21 | 2021-04-13 | 广州爱浦路网络技术有限公司 | 接口错误信息报告方法、系统、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105959180A (zh) | 数据检测方法及装置 | |
US7950004B2 (en) | Devices systems and methods for testing software | |
CN105099811B (zh) | 一种接口测试方法和装置 | |
CN107783899B (zh) | 应用程序中h5页面的测试方法、装置和计算机设备 | |
CN101877696B (zh) | 在网络应用环境下重构错误响应信息的设备和方法 | |
CN103560932B (zh) | 一种无线传感器网络远程协议一致性测试系统及方法 | |
CN107562620A (zh) | 一种埋点自动设置方法和装置 | |
CN111159014B (zh) | 探索性测试的响应方法及装置、计算机设备、存储介质 | |
CN105359487B (zh) | 通过网络浏览器中的uri去引用监控nat行为的方法 | |
CN103399908B (zh) | 业务数据抓取方法和系统 | |
CN104731566B (zh) | 集成开发环境测试装置、方法及系统 | |
CN109977027A (zh) | 一种性能测试的方法、装置、系统、设备和存储介质 | |
CN107203470B (zh) | 页面调试方法和装置 | |
CN108965296A (zh) | 一种用于智能家居设备的漏洞检测方法及检测装置 | |
CN107508720A (zh) | 一种自动化测试方法及装置 | |
CN106776318A (zh) | 一种测试脚本录制方法及系统 | |
CN110727572A (zh) | 埋点数据处理方法、装置、设备及存储介质 | |
CN106850717A (zh) | 一种基于网页的监视工业数据采集网关实时数据的方法 | |
CN106550235A (zh) | 一种机顶盒故障信息的处理方法、装置及机顶盒 | |
CN110609785A (zh) | 软件接口的测试方法及装置 | |
CN110083755A (zh) | 一种高仿真解析网页方法、装置和电子设备 | |
CN105051713B (zh) | 基于网络的键盘、视频和鼠标(kvm)重定向的方法及系统 | |
CN103902534A (zh) | 一种网页程序触发本地操作的方法和装置 | |
CN105373533B (zh) | 一种页面链接地址的检测方法、客户端及装置 | |
US8621287B1 (en) | Computing system monitoring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160921 |
|
WD01 | Invention patent application deemed withdrawn after publication |