CN117009345A - 数据上报功能的校验方法、装置以及电子设备 - Google Patents
数据上报功能的校验方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN117009345A CN117009345A CN202211097865.5A CN202211097865A CN117009345A CN 117009345 A CN117009345 A CN 117009345A CN 202211097865 A CN202211097865 A CN 202211097865A CN 117009345 A CN117009345 A CN 117009345A
- Authority
- CN
- China
- Prior art keywords
- verification
- data
- behavior
- reporting
- value
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 379
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000009471 action Effects 0.000 claims abstract description 98
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 25
- 230000003542 behavioural effect Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 238000011160 research Methods 0.000 claims description 6
- 230000006399 behavior Effects 0.000 description 169
- 230000006870 function Effects 0.000 description 109
- 230000001960 triggered effect Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 12
- 230000008439 repair process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 238000013475 authorization Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012356 Product development Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种数据上报功能的校验方法、装置以及电子设备,其涉及数据上报功能的校验技术领域,该校验方法包括:通过驱动应用程序模拟用户的操作动作,获取用于表征该用户的行为的至少一个行为事件;获取用于对该应用程序的上报数据进行校验的校验数据;接收该上报数据;基于该校验数据中各个行为事件的校验值,对该上报数据中该各个行为事件的上报值进行校验,得到该应用程序的数据上报功能的校验结果。本申请实施例提供的校验方法能够实现对应用程序的数据上报功能的自动化校验。
Description
技术领域
本申请实施例涉及领域数据上报领域中的数据上报功能的校验技术领域,并且更具体地,涉及数据上报功能的校验方法、装置以及电子设备。
背景技术
对应用程序的数据上报功能的校验是一个产品开发至关重要的一环,其准确性直接关系着日活跃用户数(Daily Active Users,DAU)等核心数据统计。然而,在开发过程中,针对数据上报功能的验证通常是通过人工的方式触发场景并对触发场景后应用程序发送的上报数据进行校验。但是,待触发的场景过多时会导致校验成本过大。
但是,采用这种人工对应用程序产品的数据上报功能进行校验的方案,存在以下问题:
1、待触发的场景过多时会导致校验成本过大。
2、应用程序在后续维护中,如果需要改动需求则需要重新对其数据上报功能进行人工校验,否则有可能会存在数据上报功能出错,若是某些关系到算法的建模等重要的上报数据,则会带来错误的推荐,进而产生严重的影响,降低了用户体验。
3、应用程序产品上线后不再对其数据上报功能进行复盘检测。即数据上报功能处于一种被遗忘状态,不会对其再次进行检测等。然而,当应用程序产品上线后,有可能存在数据上报功能出现问题的情况,例如其他员工错误修改了代码造成数据上报功能出现漏洞(bug)等。
4、发现问题及修补问题的时间过于滞后和被动,而且,在数据上报功能的修复期间,外网的上报数据也会一直处于一种不准确的状态,从而增加了对应用程序产品的运营难度。
发明内容
本申请实施例提供了一种数据上报功能的校验方法、装置以及电子设备,能够实现对应用程序的数据上报功能的自动化校验,进而,不仅能够减低应用程序的数据上报功能的校验成本并提升用户体验,还有利于对上线后的应用程序产品进行数据上报功能的复盘检测以及及时的发现数据上报功能相关的问题对其进行修复。
第一方面,本申请实施例提供了一种数据上报功能的校验方法,包括:
通过驱动应用程序模拟用户的操作动作,获取用于表征该用户的行为的至少一个行为事件;
获取用于对该应用程序的上报数据进行校验的校验数据;
接收该上报数据;
基于该校验数据中各个行为事件的校验值,对该上报数据中该各个行为事件的上报值进行校验,得到该应用程序的数据上报功能的校验结果。
第二方面,本申请实施例提供了一种数据上报功能的校验装置,用于执行上述第一方面或其各实现方式中的方法。
具体地,该电子设备包括用于执行上述第一方面或其各实现方式中的方法的功能模块。
在一种实现方式中,该校验装置可包括处理单元,该处理单元用于执行与信息处理相关的功能。例如,该处理单元可以为处理器。在另一种实现方式中,该校验装置可包括发送单元和/或接收单元。该发送单元用于执行与发送相关的功能,该接收单元用于执行与接收相关的功能。例如,该发送单元可以为发射机或发射器,该接收单元可以为接收机或接收器。再如,该电子设备为通信芯片,该发送单元可以为该通信芯片的输入电路或者接口,该发送单元可以为该通信芯片的输出电路或者接口。
第三方面,本申请实施例提供了一种电子设备,包括:
处理器,适于实现计算机指令;以及,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上述第一方面的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上述第一方面的方法。
第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面的方法。
本申请实施例中,通过驱动应用程序模拟用户的操作动作,获取用于表征该用户的行为的至少一个行为事件;基于此,不仅可以获取用于对该应用程序的上报数据进行校验的校验数据;还可以触发应用程序对上报数据的上报;进而,可以基于该校验数据中各个行为事件的校验值,对该上报数据中该各个行为事件的上报值进行校验,得到该应用程序的数据上报功能的校验结果,以实现对应用程序的数据上报功能的自动化校验,进而,不仅能够减低应用程序的数据上报功能的校验成本并提升用户体验,还有利于对上线后的应用程序产品进行数据上报功能的复盘检测以及及时的发现数据上报功能相关的问题对其进行修复。
附图说明
图1是本申请实施例提供的***框架的示例。
图2是本申请实施例提供的数据上报功能的校验方法的示意性流程图。
图3是本申请实施例提供的显示有校验结果的常驻界面的示意图。
图4是本申请实施例提供的校验方法的另一示意性流程图。
图5是本申请实施例提供的校验装置的示意性框图。
图6是本申请实施例提供的电子设备的示意性框图。
具体实施方式
本申请提供的方案可涉及区块链技术领域。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营等处理模块。
其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、检测网络情况、检测节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。
应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
更具体的,本申请实施例提供的方案适用于区块链的应用服务技术领域。结合领域数据上报领域中的数据上报功能的校验技术领域来说,可以利用区块链技术实现对数据上报功能进行校验、校验结果的传输以及校验结果的存储等应用。
本申请提供的方案可涉及云技术。
云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
结合领域数据上报领域中的数据上报功能的校验技术领域来说,可以利用云极端技术实现对数据上报功能进行校验,利用云通信技术实现对校验结果的传输以及利用云存储技术实现对校验结果的存储等。
下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚完整地描述。
图1是本申请实施例提供的***框架100的示例。
该***框架100可以是一个应用程序***,本申请实施例对该应用程序的具体类型不加以限定。该***框架100包括:终端110和校验装置120。
终端110可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP4播放器、MP4播放器和膝上型便携计算机中的至少一种。终端110可以是客户端,其安装和运行有应用程序。该应用程序可以是在线视频程序、短视频程序、图片分享程序、声音社交程序、动漫程序、壁纸程序、新闻推送程序、供求信息推送程序、学术交流程序、技术交流程序、政策交流程序、包含评论机制的程序、包含观点发布机制的程序、知识分享程序中的任意一种。终端110可以分别是用户使用的终端,终端110中运行的应用程序内登录有用户帐号。
校验装置120可以是一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。校验装置120用于为应用程序(例如终端110和终端110上的应用程序)提供后台服务。可选地,校验装置120承担主要计算工作,终端110承担次要计算工作;或者,校验装置120承担次要计算工作,终端110承担主要计算工作;或者,终端110和校验装置120之间采用分布式计算架构进行协同计算。
可选地,以***框架100是网页浏览***为例,该校验装置120用于获取终端110上安装的应用程序的上报数据(例如业务数据等),并基于校验装置120获取用于对终端110上安装的应用程序的上报数据进行校验的校验数据,并基于获取的校验数据对该终端110上安装的应用程序的上报数据进行校验,进而实现对该终端110的数据上报功能的校验。
对应用程序的数据上报功能的校验是一个产品开发至关重要的一环,其准确性直接关系着日活跃用户数(Daily Active Users,DAU)等核心数据统计。然而,在开发过程中,针对数据上报功能的验证通常是通过人工的方式触发场景并对触发场景后应用程序发送的上报数据进行校验。其流程一般为:在应用程序产品的开发完成后添加数据上报功能,然后由产品或数据校验人员对数据上报功能进行校验,即手动触发场景并对上报数据进行校验,若数据上报功能存在缺失或错误等则由产品或数据校验人员打回给开发人员,由开发人员进行检查(check)以及修复,直到校验通过为止。由此,应用程序产品上线后可以收到外网产品的上报数据。
但是,采用这种人工对应用程序产品的数据上报功能进行校验的方案,存在以下问题:
1、待触发的场景过多时会导致校验成本过大。
2、应用程序在后续维护中,如果需要改动需求则需要重新对其数据上报功能进行人工校验,否则有可能会存在数据上报功能出错,若是某些关系到算法的建模等重要的上报数据,则会带来错误的推荐,进而产生严重的影响,降低了用户体验。
3、应用程序产品上线后不再对其数据上报功能进行复盘检测,即数据上报功能处于一种被遗忘状态,不会对其再次进行检测等。然而,当应用程序产品上线后,有可能存在数据上报功能出现问题的情况,例如其他员工错误修改了代码造成数据上报功能出现漏洞(bug)等。
4、数据上报功能的问题发现和修复路径通常为:如果在统计外网核心数据时发现明显异常,则反馈给产品和开发人员对数据上报功能进行检查,并在查出问题后由开发人员再进行修补并发布修补后的最新版本。然而,这会导致发现问题及修补问题的时间过于滞后以及过于被动;而且,在数据上报功能的修复期间,外网的上报数据也会一直处于一种不准确的状态,从而增加了对应用程序产品的运营难度。
有鉴于此,本申请实施例提供了一种数据上报功能的校验方法、装置以及电子设备,能够实现对应用程序的数据上报功能的自动化校验,进而,不仅能够减低应用程序的数据上报功能的校验成本并提升用户体验,还有利于对上线后的应用程序产品进行数据上报功能的复盘检测以及及时的发现数据上报功能相关的问题对其进行修复。具体的,通过运行驱动用例的方式(即自动化或流水线的方式)实现对应用程序的数据上报功能的自动化校验,其中驱动用例相当于用于模拟用户操作动作的测试用例。
图2示出了根据本申请实施例的数据上报功能的校验方法200的示意性流程图,该校验方法200可以由任何具有数据处理能力的电子设备执行。例如,该电子设备可实施为服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器,服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。为便于描述,下文以校验装置为例对该校验方法200进行示例性说明。
如图2所示,该校验方法200可包括:
S210,校验装置通过驱动应用程序模拟用户的操作动作,获取用于表征该用户的行为的至少一个行为事件。
示例性地,校验装置可用于驱动应用程序执行模拟用户的操作动作。例如校验装置可用于驱动应用程序自动执行滑动显示界面或显示界面中的部分区域的动作。应用程序自动执行模拟用户的操作动作后,可以触发用于表征该用户的行为的至少一个行为事件。
值得注意的是,单个用于模拟用户的操作动作可以触发一个或多个行为事件,其可用于表征该用户的行为。例如,以单个用于模拟用户的操作动作为模拟的用户滑动显示界面或显示界面中的部分区域的操作动作为例,其触发的行为事件可以包括通过曝光量表征的曝光行为事件,还可以包括通过视频播放时长表征的视频播放时长行为事件。在其他可替代实施例中,本申请实施例涉及的行为事件可以等同替换为能够用于表征用户的行为的参数,例如播放时长行为事件可以等同替换为能够用户表征用户观看播放视频的行为的播放时长。
S220,接收该应用程序的上报数据,并获取用于对该上报数据进行校验的校验数据。
示例性地,该上报数据可以是针对该至少一个行为事件上报的数据。例如,该校验装置模拟的动作为短视频滑动动作时,该至少一个行为事件可包括曝光行为事件和播放时长行为事件,相应的,该上报数据可包括:曝光量、视频播放时长等上报值。
示例性地,该上报数据可以包括真实数据。
其中,该真实数据包括用户的相关信息以及与模拟的操作动作所针对的对象相关的数据。
以模拟的操作动作为模拟用户滑动显示界面或显示界面中的部分区域的操作动作为例,该上报数据可以包括用户的相关信息以及滑动的显示界面或显示界面中的部分区域的相关信息。可选的,该用户的相关信息可包括用户的账号、头像等信息。滑动的显示界面或显示界面中的部分区域的相关信息包括但不限于:该显示界面中显示的内容、该部分区域的标识、该部分区域中显示的内容等信息。其中,该显示界面中的内容或该部分区域中显示的内容通过资源标识等信息来唯一性标识。
以模拟的操作动作为模拟用户滑动短视频的操作动作为例,该上报数据可以包括用户的相关信息以及短视频的内容的相关信息。
示例性地,该上报数据包括真实数据,且该真实数据包括用户的相关信息时,需要事先获取用户的授权。即该应用程序或校验装置拿到用户的授权后,可通过采集获取用户的相关信息,并将其添加至上报数据中上报给校验装置。
示例性地,校验装置可以采用hook拦截技术获取上报数据。例如可以通过截获应用程序接口(Application Programming Interface,API)拦截数据,并将拦截的数据作为上报数据。
示例性地,该校验数据可以是用于对该至少一个行为事件的上报值进行校验的数据。例如,该校验装置模拟的动作为短视频滑动动作时,该至少一个行为事件可包括曝光行为事件和播放时长行为事件,相应的,该校验数据可包括:曝光量、视频播放时长等校验值。
示例性地,用于对该至少一个行为事件的上报值进行校验的数据可以是模拟数据。
换言之,该校验装置可通过各个行为事件的模拟数据构建驱动用例,以实现模拟用户的操作动作。例如,该校验装置模拟的动作为短视频滑动动作时,该校验装置可通过视频播放时长事件和曝光量事件的模拟数据来构建驱动用例,以实现模拟用户的短视频滑动动作;此时该校验数据可以包括视频播放时长事件的模拟数据和曝光量事件的模拟数据。
示例性地,该校验数据可以包括真实数据。
其中,该真实数据包括用户的相关信息以及与模拟的操作动作所针对的对象相关的数据。
以模拟的操作动作为模拟用户滑动显示界面或显示界面中的部分区域的操作动作为例,该校验数据可以包括用户的相关信息以及滑动的显示界面或显示界面中的部分区域的相关信息。可选的,该用户的相关信息可包括用户的账号、头像等信息。可选的,滑动的显示界面或显示界面中的部分区域的相关信息包括但不限于:该显示界面中显示的内容、该部分区域的标识、该部分区域中显示的内容等信息。其中,该显示界面中的内容或该部分区域中显示的内容通过资源标识等信息来唯一性标识。
以模拟的操作动作为模拟用户滑动短视频的操作动作为例,该校验数据可以包括用户的相关信息以及短视频的内容的相关信息。
示例性地,该校验数据包括真实数据,且该真实数据包括用户的相关信息时,需要事先获取用户的授权。即校验装置拿到用户的授权后,可通过采集获取用户的相关信息,并将其作为校验数据对应用程序发送的上报数据中的用户的相关信息进行校验。
S230,校验装置基于该校验数据中各个行为事件的校验值,对该上报数据中该各个行为事件的上报值进行校验,得到该应用程序的数据上报功能的校验结果。
示例性地,该各个行为事件的校验值用于对该各个行为事件的上报值进行校验。
以该行为事件为视频播放时长事件为例,该视频播放时长事件的上报值为针对该视频播放时长事件上报的数值,该视频播放时长事件的校验值为用于对针对该视频播放时长事件上报进行校验的数值。例如,针对该视频播放时长事件上报的数值可以是以秒为单位的数值,该视频播放时长事件的校验值也可以是以秒为单位的数值。
示例性地,单个用于模拟用户的操作动作可以触发一个或多个行为事件,其中,各个行为事件均对应一个上报值和一个校验值。
以模拟用户的操作动作为模拟的用户滑动显示界面或显示界面中的部分区域的操作动作为例,其触发的行为事件可以包括用于表征曝光量的曝光行为事件,还可以包括用于表征视频播放时长的视频播放时长行为事件。基于此,应用程序每执行一次模拟的操作,校验装置都可以获取由随机滑动产生的视频播放时长事件的校验值和曝光量事件的校验值,在获取到视频播放时长事件的上报值和曝光量事件的上报值后,可通过视频播放时长事件的校验值对视频播放时长事件的上报值进行校验,并通过曝光量事件的校验值对曝光量事件的上报值进行校验,由此可得到校验结果。
示例性地,校验装置可以利用云服务器提供的云计算服务,基于该校验数据中各个行为事件的校验值,对该上报数据中该各个行为事件的上报值进行校验,得到该应用程序的数据上报功能的校验结果。
本申请实施例中,通过驱动应用程序模拟用户的操作动作,获取用于表征该用户的行为的至少一个行为事件;基于此,不仅可以获取用于对该应用程序的上报数据进行校验的校验数据;还可以触发应用程序对上报数据的上报;进而,可以基于该校验数据中各个行为事件的校验值,对该上报数据中该各个行为事件的上报值进行校验,得到该应用程序的数据上报功能的校验结果,以实现对应用程序的数据上报功能的自动化校验,进而可以得到以下有益效果:
1、在每次产品应用要应用或发版前,过驱动应用程序的方式实现对应用程序的数据上报功能的自动化校校验,避免了每个版本发版前对应用程序的数据上报功能进行人工触发场景式的校验,释放了大量人力,降低了校验成本。
2、应用程序在后续维护中,即便需要改动需求,也可以通过驱动应用程序的方式实现对应用程序的数据上报功能的自动化校校验。
3、应用程序产品上线后,也可以通过驱动应用程序的方式实现对其数据上报功能进行复盘检测。即数据上报功能处于一种复盘检测状态。由此,当应用程序产品上线后,即便存在数据上报功能出现问题的情况,例如其他员工错误修改了代码造成数据上报功能出现漏洞(bug)等,可以通过复盘检测发现问题。
4、通过驱动应用程序的方式实现对其数据上报功能进行复盘检测,能够及时发现问题及并对其进行修复,从而降低了对应用程序产品的运营难度。
综上,本申请实施例提供的数据上报功能的校验方法,不仅能够减低应用程序的数据上报功能的校验成本并提升用户体验,还有利于对上线后的应用程序产品进行数据上报功能的复盘检测以及及时的发现数据上报功能相关的问题对其进行修复。
在一些实施例中,若该上报数据包括:至少一个上报流水,该至少一个上报流水中各个上报流水对应的用于唯一性标识上报对象的上报对象标识、该各个上报流水对应的用于唯一性标识行为事件的上报行为标识、该上报行为标识所标识的行为事件的上报值;则该校验数据包括:用于唯一性标识至少一个校验对象的至少一个校验对象标识、该至少一个校验对象标识中各个校验对象标识对应的用于唯一性标识行为事件的校验行为标识、以及该校验行为标识所标识的行为事件的校验值;其中,该S230可包括:该校验装置基于该校验数据中的第一校验值,对该各个上报流水中的上报值进行校验,得到该校验结果;该第一校验值的校验对象标识为该各个上报流水对应的上报对象标识,该第一校验值的校验行为标识为该各个上报流水对应的上报行为标识。也即是说,该校验装置可基于该校验数据中校验对象标识为该各个上报流水对应的上报对象标识、且校验行为标识为该各个上报流水对应的上报行为标识的校验值,对该各个上报流水中的上报值进行校验,得到该校验结果。
换言之,该至少一个上报流水可以是针对同一个模拟的操作动作上报的数据,该各个上报流水可以是由上报对象标识、上报行为标识和上报值组成的三元组。
示例性地,该至少一个上报流水中的各个流水可以是针对不同对象,也即是说,该上报数据可包括:针对不同的对象,该同一个模拟的操作动作触发的一个或多个行为事件的上报值。类似的,该校验数据包括针对同一个模拟的操作动作的数据,例如,该同一个模拟的操作动作可以针对不同的对象下的一个或多个行为事件,该上报数据包括针对不同对象,该同一个模拟的操作动作触发的一个或多个行为事件的校验值。
或者说,该上报数据中的每一个上报值关联有一个上报对象标识和一个上报行为标识。其中,针对不同的对象,同一个模拟的操作动作触发的一个或多个行为事件的上报值关联的上报对象标识不同,针对相同的对象,同一个模拟的操作动作触发的一个或多个行为事件的上报值关联的上报对象标识相同。针对不同的行为事件,其上报值和关联的上报行为标识不同,针对相同的行为事件,其上报值和关联的上报行为标识相同。类似的,该校验数据中的每一个校验值关联有一个校验对象标识和一个校验行为标识。其中,针对不同的对象,同一个模拟的操作动作触发的一个或多个行为事件的校验值关联的校验对象标识不同,针对相同的对象,同一个模拟的操作动作触发的一个或多个行为事件的上报值关联的校验对象标识相同。针对不同的行为事件,其校验值和关联的校验行为标识不同,针对相同的行为事件,其校验值和关联的校验行为标识相同。
当然,在其他可替代实施例中,如果校验装置可驱动应用程序执行多个模拟用户的操作动作时,该上报数据中的每一个上报值和该校验数据中的每一个校验值都需要关联一个驱动标识,该驱动标识用于唯一性的标识用于确定应用程序的驱动或代码的标识。
示例性地,该上报数据可以是上报的行为事件队列,该校验数据可以实现为获取的行为事件队列,基于此,校验装置可基于获取的行为事件队列中校验对象标识为该各个上报流水对应的上报对象标识、且校验行为标识为该各个上报流水对应的上报行为标识的行为事件的校验值,对该各个上报流水中的上报值进行校验,得到该校验结果。
在一些实施例中,若该上报数据还包括该上报行为标识对应的用于唯一性标识元素的上报元素标识,则该校验数据还包括该校验行为标识对应的用于唯一性标识元素的校验元素标识;其中,该第一校验值的校验元素标识为该各个上报流水对应的上报元素标识。也即是说,校验装置可基于该校验数据中校验对象标识为该各个上报流水对应的上报对象标识、校验行为标识为该各个上报流水对应的上报行为标识、且校验元素标识为该各个上报流水对应的上报元素标识的校验值,对该各个上报流水中的上报值进行校验,得到该校验结果。
示例性地,该上报数据可以是上报的行为事件队列,该校验数据可以实现为获取的行为事件队列,基于此,校验装置可基于获取的行为事件队列中校验对象标识为该各个上报流水对应的上报对象标识、校验行为标识为该各个上报流水对应的上报行为标识的行为事件下的,校验元素标识为该各个上报流水对应的上报元素标识的元素的校验值,对该各个上报流水中的上报值进行校验,得到该校验结果。
在一些实施例中,该S210可包括:
通过至少一个驱动用例驱动该应用程序执行模拟该用户的操作动作,获取该至少一个行为事件;其中,该至少一个行为事件包括该至少一个驱动用例中各个驱动用例对应的行为事件。
示例性地,校验装置可存储有模拟用户的操作动作的代码或驱动,进而校验装置在运行模拟用户的操作动作的驱动或代码时,即可实现驱动应用程序执行模拟用户的操作动作。例如,校验装置存储有模拟用户滑动显示界面或显示界面中的部分区域的操作的代码或驱动时,校验装置通过运行模拟用户滑动显示界面或显示界面中的部分区域的操作的驱动或代码,即可实现驱动应用程序自动执行滑动显示界面或显示界面中的部分区域的动作。应用程序自动执行模拟用户的操作动作后,可以触发用于表征该用户的行为的至少一个行为事件。
在一些实施例中,该至少一个驱动用例包括以下驱动用例中的至少一项:页面启动驱动用例,用于驱动该应用程序模拟该用户启动并登录该应用程序的操作动作;自动滑动驱动用例,用于驱动该应用程序执行模拟该用户在观看展示界面或展示区域预设时长后的滑动操作动作;视图展示驱动用例,用于驱动该应用程序模拟该用户展示页面中的部分视图或页面中的隐藏视图的操作动作;视图点击驱动用例,用于驱动该应用程序模拟该用户点击的点击操作动作。
示例性地,页面启动驱动用例可以用于自动启动一个特定页面,进而可用来对登录页面以及登录信息等上报数据进行校验。
示例性地,自动滑动驱动用例可用于驱动该应用程序随机的执行模拟该用户在观看展示界面或展示区域预设时长后的滑动操作动作。例如,该自动滑动驱动用例能够驱动视频自动不断地切换而不用人为去滑动视频,其中自动切换的时间间隔为可定制的随机时间值。
示例性地,视图展示驱动用例可用于自动展示某个特定页面中的部分视图或隐藏视图,例如隐藏视图可以是通过某个按钮隐藏的视图,进而实现对部分视图或隐藏视图的曝光等上报数据进行校验。
示例性地,视图点击驱动用例可以用于自动触发某个特定页面中的区域或按钮的点击事件,可实现对点击次数等上报数据进行校验。
值得注意的是,该至少一个驱动用例针对的对象不作具体限定。
例如,该至少一个驱动用例针对的对象可以是整个展示界面,也可以是整个展示界面中的部分区域。
再如,该至少一个驱动用例针对的对象可以是feed对象,feed对象可以是能够连续的多个对象中的某一个对象。feed对象可以包括feed视频、feed图片以及feed文字段落。例如,feed视频可以是短视频或***有链接的短视频。***的链接不仅可以用于线索收集,也可以进行应用推广,为应用程序获得新增和活跃用户,还可以推广线下门店,实现对门店周边***的覆盖。再如,feed视频可以为推广短视频内容,推广短视频内容支持推荐频道竖屏展现样式,以及原生或单页等多种样式。再如,feed视频可以为推广直播间,推广直播间是直播间里的实时内容将直接展示给用户群体,以便用户可以在信息流页面刷到,直接点击屏幕进入直播间。
在一些实施例中,该S230可包括:
校验装置基于该各个行为事件的校验值和该各个行为事件的上报值之间的误差,得到该校验结果。
示例性地,校验装置可通过对比该各个行为事件的校验值和该各个行为事件的上报值,将该各个行为事件的校验值和该各个行为事件的上报值之间的差值或比值,确定为该各个行为事件的校验值和该各个行为事件的上报值之间的误差,进而基于该各个行为事件的校验值和该各个行为事件的上报值之间的误差,得到该校验结果。
在一些实施例中,该S230可包括:
若该各个行为事件的校验值和该各个行为事件的上报值之间的误差在允许范围内,则确定对该各个行为事件的上报值校验成功,该校验结果为该应用程序的数据上报功能正常;否则,确定对该各个行为事件的上报值校验失败,该校验结果为该应用程序的数据上报功能异常;若确定对该各个行为事件的上报值校验成功,则将该各个行为事件的上报值移除该上报数据,并更新已成功校验的行为事件的数量;否则,将该各个行为事件的上报值移除该上报数据,并将该各个行为事件添加到校验失败列表;其中,该校验结果包括该已成功校验的行为事件的数量以及该校验失败列表。
示例性地,该允许范围可以是用户设置的范围或预定义的范围。
当然,在其他可替代实施例中,也可以基于该校验数据中各个行为事件的校验值,通过其他方式对该上报数据中该各个行为事件的上报值进行校验,并得到该应用程序的数据上报功能的校验结果。例如,若该各个行为事件的校验值和该各个行为事件的上报值之间的误差小于预设阈值,则确定对该各个行为事件的上报值校验成功,该校验结果为该应用程序的数据上报功能正常;否则,确定对该各个行为事件的上报值校验失败,该校验结果为该应用程序的数据上报功能异常;若确定对该各个行为事件的上报值校验成功,则将该各个行为事件的上报值移除该上报数据,并更新已成功校验的行为事件的数量;否则,将该各个行为事件的上报值移除该上报数据,并将该各个行为事件添加到校验失败列表;其中,该校验结果包括该已成功校验的行为事件的数量以及该校验失败列表。
示例性地,该校验结果还可包括各个驱动用例下的总上报条数、校验失败数以及成功率。此外,针对各个驱动用例下的各个行为事件,也可显示该各个行为事件的含义、该各个行为事件的上报条数、该各个行为事件的校验失败数、以及该各个行为事件的成功率。
在一些实施例中,该方法200还可包括:
校验装置显示该校验结果。
示例性地,校验装置可以实时显示该校验结果。
本实施例中,校验装置对应用程序的数据上报功能进行校验的过程中,将校验结果进行收集统计并实时显示在测试机的页面上,可以方便校验人员实时查看实时结果。
在一些实施例中,该方法200还可包括:
校验装置在该应用程序的常驻界面显示该校验结果。
示例性地,校验装置可以实时的在常驻界面显示该校验结果。
图3是本申请实施例提供的显示有校验结果的常驻界面的示意图。
如图3所示,该应用程序的常驻界面可以是用于显示视频或页面的界面,在常驻界面可以显示该校验结果,其中,该校验结果可包括各个驱动用例下的总上报条数、校验失败数以及成功率。此外,针对各个驱动用例下的各个行为事件,也可显示该各个行为事件的含义、该各个行为事件的上报条数、该各个行为事件的校验失败数、以及该各个行为事件的成功率。此外,该常驻界面也可以显示有点击结束校验的按钮,以便测试人员结束对应用程序的数据上报功能的校验。
在一些实施例中,该方法200还可包括:
校验装置将该校验结果存储至数据库。
示例性地,校验装置在对该应用程序的数据上报功能完成校验后,将该校验结果存储至数据库。例如,校验装置在对该应用程序的数据上报功能完成校验后,将该校验结果存储至云数据库。
在一些实施例中,该方法200还可包括:
校验装置向该应用程序的研发人员,推送该校验结果。
示例性地,校验装置在对该应用程序的数据上报功能完成校验后,将该校验结果自动推送到研发人员,以便研发人员查看是否有错误并在有错误的情况下及时进行修复。例如,校验装置在对该应用程序的数据上报功能完成校验后,可以通过邮件、语音甚至是即时通信平台将该校验结果自动推送到研发人员。再如,校验装置在对该应用程序的数据上报功能完成校验后,可以通过云通信将该校验结果自动推送到研发人员。
图4是本申请实施例提供的校验方法的另一示意性流程图。
如图4所示,校验装置收到启动命令后,会运行驱动用例列表中的各个驱动用例,例如包括但不限于页面启动驱动用例、自动滑动驱动用例、视图展示驱动用例以及视图点击驱动用例。
对于校验装置获取校验数据的过程,以自动滑动驱动用例为例,自动滑动驱动用例每次通过随机时间延迟后滑向下一个feed,每次滑动后都能收集到针对曝光行为事件和播放时长行为事件的校验值;然后,校验装置将曝光行为事件和播放时长行为事件的校验值收集到一个校验队列中,形成校验数据。其中,校验队列是一个key-value的Map集合,key值为行为事件所属的对象的标识IDfeed(即对象标识),用于唯一性标识feed,同个feed下,自动滑动驱动用例触发的曝光行为事件和播放时长行为事件的校验值在同个feed所对应的value中,value值也是一个key-value形式的Map集合,key值为行为事件的标识IDaction(即行为标识),用于唯一性标识行为事件,value为key标识的行为事件的校验值。
对于校验装置获取上报数据的过程,以自动滑动驱动用例为例,自动滑动驱动用例每次通过随机时间延迟后滑向下一个feed,每次滑动后都能触发应用程序针对曝光行为事件和播放时长行为事件上报其上报值;然后,校验装置将曝光行为事件和播放时长行为事件的上报值收集到一个上报队列中,形成上报数据。其中,一个行为事件可作为一个上报队列中的一个上报流水。上报队列是一个key-value的Map集合,key值为上报的行为事件所属的对象的标识IDfeed(即对象标识),用于唯一性标识feed,同个feed下,自动滑动驱动用例触发的曝光行为事件和播放时长行为事件的上报值在同个feed所对应的value中,value值也是一个key-value形式的Map集合,key值为上报的行为事件的标识IDaction(即行为标识),用于唯一性标识行为事件,value为key标识的行为事件的上报值。在一种具体实现中,校验装置可以通过hook拦截技术收集该上报数据。
对于校验装置基于校验数据对上报数据进行校验的过程,校验装置可以采用异步线程的方式对上报队列中的上报流水进行验证,即只要上报队列中还存在上报流水,就拿出一条上报流水进行验证。线程同步和异步的区别主要在于发送请求后是否需要等待返回,对于线程同步来说,发送请求后需要等待返回,等待返回后才能继续发送下一个请求,而线程异步是不需要等待返回的,在发送一个请求后随时可发送下一个请求。
以自动滑动驱动用例为例,校验装置从上报流水队列中取出一条上报流水后,从该条上报流水中获取该条上报流水的IDfeed和IDaction,通过该条上报流水的IDfeed和IDaction可以在校验数据中找到对象标识为该条上报流水的IDfeed且行为标识为该条上报流水IDaction的行为事件的校验值,进而校验装置可以基于在校验数据中找到对象标识为该条上报流水的IDfeed且行为标识为该条上报流水IDaction的行为事件的校验值,对该条上报流水中的上报值进行校验,例如以行为事件为视频播放时长行为事件为例,则校验装置验证视频播放时长行为事件的校验值和上报值是否一致或是否在允许的误差范围内,若一致或在误差允许的范围内,则校验通过,此时,可以将该条上报流水从上报队列中移除,避免内存不断累积占用,并更新已成功校验的视频播放时长行为事件的数量;否则说明校验不通过,此时,可以将该条上报流水从上报队列中移除,避免内存不断累积占用,并则将该条上报流水添加到校验失败列表。
在基于校验数据对上报数据校验完成后,可基于已成功校验的行为事件的数量和校验失败列表得到校验结果,并在常住界面实时显示该校验结果。例如,校验装置可以实时的在常驻界面显示该校验结果。可选的,还可以向数据库上报该校验结果,并将该校验结果存储在数据库中。例如校验装置在对该应用程序的数据上报功能完成校验后,将该校验结果存储至数据库。可选的,还可以向研发人员推送该校验结果。例如校验装置在对该应用程序的数据上报功能完成校验后,将该校验结果自动推送到研发人员,以便研发人员查看是否有错误并在有错误的情况下及时进行修复。例如,校验装置在对该应用程序的数据上报功能完成校验后,可以通过邮件、语音甚至是即时通信平台将该校验结果自动推送到研发人员。
本实施例中,通过各个驱动用例的自动化运行,可以完全释放人力,不用每次恢复或发版本前都需要测试去人工检测一些关键性的上报是否出现问题(可能是上报功能本身存在漏洞或者其他开发者添加改动功能造成上报能力受影响等),大大的节省了人力成本。同时,也保证了数据上报的稳定性,将发现上报问题前移,避免是由于数据校验人员只有在统计外网的上报数据时发现异常,再推动开发人员去自查及修复问题,能够及时的发现数据上报功能存在的问题以及对其进行修复,进而能够避免上报错误造成对算法模型的构建以及推荐***带来错误评估,从而可以减小对产品的运营维护造成的损失。
当然,在其他可替代实施例中,也可以是对外网用户进行类似的自动化上报数据校验,比如,可以触发外网用户的应用程序执行模拟的用户操作,以实现对外网用户的应用程序的数据上报功能的校验。在校验期间,实时统计校验,同时将校验结果发给产品的开发者,进而实时知晓外网用户的上报***是否出现问题,由此,可以通过在发版本前校验以及线上实时校验,通过双重保险的校验保证数据上报功能能够正常运行。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文对本申请实施例提供的方法进行了说明,下面对本申请实施例提供的装置进行说明。
图5是本申请实施例提供的数据上报功能的校验装置300的示意性框图。
如图5所示,该校验装置300可包括:
第一获取单元310,用于通过驱动应用程序模拟用户的操作动作,获取用于表征该用户的行为的至少一个行为事件;
接收单元320,用于接收该应用程序的上报数据;
第二获取单元330,用于获取用于对该上报数据进行校验的校验数据;
校验单元340,用于基于该校验数据中各个行为事件的校验值,对该上报数据中该各个行为事件的上报值进行校验,得到该应用程序的数据上报功能的校验结果。
在一些实施例中,若该上报数据包括:至少一个上报流水,该至少一个上报流水中各个上报流水对应的用于唯一性标识上报对象的上报对象标识、该各个上报流水对应的用于唯一性标识行为事件的上报行为标识、该上报行为标识所标识的行为事件的上报值;则该校验数据包括:用于唯一性标识至少一个校验对象的至少一个校验对象标识、该至少一个校验对象标识中各个校验对象标识对应的用于唯一性标识行为事件的校验行为标识、以及该校验行为标识所标识的行为事件的校验值;
其中,该校验单元340具体用于:
基于该校验数据中的第一校验值,对该各个上报流水中的上报值进行校验,得到该校验结果;该第一校验值的校验对象标识为该各个上报流水对应的上报对象标识,该第一校验值的校验行为标识为该各个上报流水对应的上报行为标识。
在一些实施例中,若该上报数据还包括该上报行为标识对应的用于唯一性标识元素的上报元素标识,则该校验数据还包括该校验行为标识对应的用于唯一性标识元素的校验元素标识;该第一校验值的校验元素标识为该各个上报流水对应的上报元素标识。
在一些实施例中,该第一获取单元310具体用于:
通过至少一个驱动用例驱动该应用程序执行模拟该用户的操作动作,获取该至少一个行为事件;
其中,该至少一个行为事件包括该至少一个驱动用例中各个驱动用例对应的行为事件。
在一些实施例中,该至少一个驱动用例包括以下驱动用例中的至少一项:页面启动驱动用例,用于驱动该应用程序模拟该用户启动并登录该应用程序的操作动作;自动滑动驱动用例,用于驱动该应用程序执行模拟该用户在观看展示界面或展示区域预设时长后的滑动操作动作;视图展示驱动用例,用于驱动该应用程序模拟该用户展示页面中的部分视图或页面中的隐藏视图的操作动作;视图点击驱动用例,用于驱动该应用程序模拟该用户点击的点击操作动作。
在一些实施例中,该校验单元340具体用于:
基于该各个行为事件的校验值和该各个行为事件的上报值之间的误差,得到该校验结果。
在一些实施例中,该校验单元340具体用于:
若该各个行为事件的校验值和该各个行为事件的上报值之间的误差在允许范围内,则确定对该各个行为事件的上报值校验成功,该校验结果为该应用程序的数据上报功能正常;否则,确定对该各个行为事件的上报值校验失败,该校验结果为该应用程序的数据上报功能异常;
若确定对该各个行为事件的上报值校验成功,则将该各个行为事件的上报值移除该上报数据,并更新已成功校验的行为事件的数量;否则,将该各个行为事件的上报值移除该上报数据,并将该各个行为事件添加到校验失败列表;
其中,该校验结果包括该已成功校验的行为事件的数量以及该校验失败列表。
在一些实施例中,该校验单元340还用于:
在该应用程序的常驻界面显示该校验结果,或
将该校验结果存储至数据库;或
向该应用程序的研发人员,推送该校验结果。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,校验装置300可以对应于执行本申请实施例的方法200中的相应主体,并且校验装置300中的各个单元分别为了实现方法200中的相应流程,为了简洁,在此不再赘述。
还应当理解,本申请实施例涉及的校验装置300中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该校验装置300也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造本申请实施例涉及的校验装置300,以及来实现本申请实施例提供的方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于电子设备中,并在其中运行,来实现本申请实施例的相应方法。
换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图6是本申请实施例提供的电子设备400的示意结构图。
如图6所示,该电子设备400至少包括处理器410以及计算机可读存储介质420。其中,处理器410以及计算机可读存储介质420可通过总线或者其它方式连接。计算机可读存储介质420用于存储计算机程序421,计算机程序421包括计算机指令,处理器410用于执行计算机可读存储介质420存储的计算机指令。处理器410是电子设备400的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
作为示例,处理器410也可称为中央处理器(Central Processing Unit,CPU)。处理器410可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
作为示例,计算机可读存储介质420可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器410的计算机可读存储介质。具体而言,计算机可读存储介质420包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
如图6所示,该电子设备400还可以包括收发器430。
其中,处理器410可以控制该收发器430与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器430可以包括发射机和接收机。收发器430还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该通信设备400中的各个组件通过总线***相连,其中,总线***除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。值得注意的是,该电子设备400可以是任一具有数据处理能力的电子设备;该计算机可读存储介质420中存储有计算机指令;由处理器410加载并执行计算机可读存储介质420中存放的计算机指令,以实现本申请实施例提供的校验方法中的相应步骤;具体实现中,计算机可读存储介质420中的计算机指令由处理器410加载并执行相应步骤,为避免重复,此处不再赘述。
根据本申请的另一方面,本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是电子设备400中的记忆设备,用于存放程序和数据。例如,计算机可读存储介质420。可以理解的是,此处的计算机可读存储介质420既可以包括电子设备400中的内置存储介质,当然也可以包括电子设备400所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备400的操作***。并且,在该存储空间中还存放了适于被处理器410加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或多个的计算机程序421(包括程序代码)。
根据本申请的另一方面,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。例如,计算机程序421。此时,数据处理设备400可以是计算机,处理器410从计算机可读存储介质420读取该计算机指令,处理器410执行该计算机指令,使得该计算机执行上述各种可选方式中提供的各种方法。换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质进行传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (19)
1.一种数据上报功能的校验方法,其特征在于,包括:
通过驱动应用程序模拟用户的操作动作,获取用于表征所述用户的行为的至少一个行为事件;
接收所述应用程序的上报数据,并获取用于对所述上报数据进行校验的校验数据;
基于所述校验数据中各个行为事件的校验值,对所述上报数据中所述各个行为事件的上报值进行校验,得到所述应用程序的数据上报功能的校验结果。
2.根据权利要求1所述的方法,其特征在于,若所述上报数据包括:至少一个上报流水,所述至少一个上报流水中各个上报流水对应的用于唯一性标识上报对象的上报对象标识、所述各个上报流水对应的用于唯一性标识行为事件的上报行为标识、所述上报行为标识所标识的行为事件的上报值;则所述校验数据包括:用于唯一性标识至少一个校验对象的至少一个校验对象标识、所述至少一个校验对象标识中各个校验对象标识对应的用于唯一性标识行为事件的校验行为标识、以及所述校验行为标识所标识的行为事件的校验值;
其中,所述基于所述校验数据中各个行为事件的校验值,对所述上报数据中所述各个行为事件的上报值进行校验,得到所述应用程序的数据上报功能的校验结果,包括:
基于所述校验数据中的第一校验值,对所述各个上报流水中的上报值进行校验,得到所述校验结果;所述第一校验值的校验对象标识为所述各个上报流水对应的上报对象标识,所述第一校验值的校验行为标识为所述各个上报流水对应的上报行为标识。
3.根据权利要求2所述的方法,其特征在于,若所述上报数据还包括所述上报行为标识对应的用于唯一性标识元素的上报元素标识,则所述校验数据还包括所述校验行为标识对应的用于唯一性标识元素的校验元素标识;其中,所述第一校验值的校验元素标识为所述各个上报流水对应的上报元素标识。
4.根据权利要求1所述的方法,其特征在于,所述通过驱动应用程序模拟用户的操作动作,获取用于表征所述用户的行为的至少一个行为事件,包括:
通过至少一个驱动用例驱动所述应用程序模拟所述用户的操作动作,获取所述至少一个行为事件;
其中,所述至少一个行为事件包括所述至少一个驱动用例中各个驱动用例对应的行为事件。
5.根据权利要求4所述的方法,其特征在于,所述至少一个驱动用例包括以下驱动用例中的至少一项:页面启动驱动用例,用于驱动所述应用程序模拟所述用户启动并登录所述应用程序的操作动作;自动滑动驱动用例,用于驱动所述应用程序模拟所述用户在观看展示界面或展示区域预设时长后的滑动操作动作;视图展示驱动用例,用于驱动所述应用程序模拟所述用户展示页面中的部分视图或页面中的隐藏视图的操作动作;视图点击驱动用例,用于驱动所述应用程序模拟所述用户点击的点击操作动作。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述基于所述校验数据中各个行为事件的校验值,对所述上报数据中所述各个行为事件的上报值进行校验,得到所述应用程序的数据上报功能的校验结果,包括:
基于所述各个行为事件的校验值和所述各个行为事件的上报值之间的误差,得到所述校验结果。
7.根据权利要求6所述的方法,其特征在于,所述基于所述各个行为事件的校验值和所述各个行为事件的上报值之间的误差,得到所述校验结果,包括:
若所述各个行为事件的校验值和所述各个行为事件的上报值之间的误差在允许范围内,则确定对所述各个行为事件的上报值校验成功,所述校验结果为所述应用程序的数据上报功能正常;否则,确定对所述各个行为事件的上报值校验失败,所述校验结果为所述应用程序的数据上报功能异常;
若确定对所述各个行为事件的上报值校验成功,则将所述各个行为事件的上报值移除所述上报数据,并更新已成功校验的行为事件的数量;否则,将所述各个行为事件的上报值移除所述上报数据,并将所述各个行为事件添加到校验失败列表;
其中,所述校验结果包括所述已成功校验的行为事件的数量以及所述校验失败列表。
8.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
在所述应用程序的常驻界面显示所述校验结果;或
将所述校验结果存储至数据库;或
向所述应用程序的研发人员,推送所述校验结果。
9.一种数据上报功能的校验装置,其特征在于,包括:
第一获取单元,用于通过驱动应用程序模拟用户的操作动作,获取用于表征所述用户的行为的至少一个行为事件;
接收单元,用于接收所述应用程序的上报数据;
第二获取单元,用于获取对所述上报数据进行校验的校验数据;
校验单元,用于基于所述校验数据中各个行为事件的校验值,对所述上报数据中所述各个行为事件的上报值进行校验,得到所述应用程序的数据上报功能的校验结果。
10.根据权利要求9所述的校验装置,其特征在于,若所述上报数据包括:至少一个上报流水,所述至少一个上报流水中各个上报流水对应的用于唯一性标识上报对象的上报对象标识、所述各个上报流水对应的用于唯一性标识行为事件的上报行为标识、所述上报行为标识所标识的行为事件的上报值;则所述校验数据包括:用于唯一性标识至少一个校验对象的至少一个校验对象标识、所述至少一个校验对象标识中各个校验对象标识对应的用于唯一性标识行为事件的校验行为标识、以及所述校验行为标识所标识的行为事件的校验值;
其中,所述校验单元具体用于:
基于所述校验数据中的第一校验值,对所述各个上报流水中的上报值进行校验,得到所述校验结果;所述第一校验值的校验对象标识为所述各个上报流水对应的上报对象标识,所述第一校验值的校验行为标识为所述各个上报流水对应的上报行为标识。
11.根据权利要求10所述的校验装置,其特征在于,若所述上报数据还包括所述上报行为标识对应的用于唯一性标识元素的上报元素标识,则所述校验数据还包括所述校验行为标识对应的用于唯一性标识元素的校验元素标识;其中,所述第一校验值的校验元素标识为所述各个上报流水对应的上报元素标识。
12.根据权利要求9所述的校验装置,其特征在于,所述第一获取单元具体用于:
通过至少一个驱动用例驱动所述应用程序模拟所述用户的操作动作,获取所述至少一个行为事件;
其中,所述至少一个行为事件包括所述至少一个驱动用例中各个驱动用例对应的行为事件。
13.根据权利要求12所述的校验装置,其特征在于,所述至少一个驱动用例包括以下驱动用例中的至少一项:页面启动驱动用例,用于驱动所述应用程序模拟所述用户启动并登录所述应用程序的操作动作;自动滑动驱动用例,用于驱动所述应用程序模拟所述用户在观看展示界面或展示区域预设时长后的滑动操作动作;视图展示驱动用例,用于驱动所述应用程序模拟所述用户展示页面中的部分视图或页面中的隐藏视图的操作动作;视图点击驱动用例,用于驱动所述应用程序模拟所述用户点击的点击操作动作。
14.根据权利要求9至13中任一项所述的校验装置,其特征在于,所述校验单元具体用于:
基于所述各个行为事件的校验值和所述各个行为事件的上报值之间的误差,得到所述校验结果。
15.根据权利要求14所述的校验装置,其特征在于,所述校验单元具体用于:
若所述各个行为事件的校验值和所述各个行为事件的上报值之间的误差在允许范围内,则确定对所述各个行为事件的上报值校验成功,所述校验结果为所述应用程序的数据上报功能正常;否则,确定对所述各个行为事件的上报值校验失败,所述校验结果为所述应用程序的数据上报功能异常;
若确定对所述各个行为事件的上报值校验成功,则将所述各个行为事件的上报值移除所述上报数据,并更新已成功校验的行为事件的数量;否则,将所述各个行为事件的上报值移除所述上报数据,并将所述各个行为事件添加到校验失败列表;
其中,所述校验结果包括所述已成功校验的行为事件的数量以及所述校验失败列表。
16.根据权利要求9至13中任一项所述的校验装置,其特征在于,所述校验单元还用于:
在所述应用程序的常驻界面显示所述校验结果;或
将所述校验结果存储至数据库;或
向所述应用程序的研发人员,推送所述校验结果。
17.一种电子设备,其特征在于,包括:
处理器,适于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至8中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211097865.5A CN117009345A (zh) | 2022-09-08 | 2022-09-08 | 数据上报功能的校验方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211097865.5A CN117009345A (zh) | 2022-09-08 | 2022-09-08 | 数据上报功能的校验方法、装置以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117009345A true CN117009345A (zh) | 2023-11-07 |
Family
ID=88573358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211097865.5A Pending CN117009345A (zh) | 2022-09-08 | 2022-09-08 | 数据上报功能的校验方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117009345A (zh) |
-
2022
- 2022-09-08 CN CN202211097865.5A patent/CN117009345A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11798028B2 (en) | Systems and methods for monitoring malicious software engaging in online advertising fraud or other form of deceit | |
CN104363264B (zh) | 移动终端软件的多渠道sdk接入*** | |
CN112073269B (zh) | 区块链网络测试方法、装置、服务器及存储介质 | |
JP2021501935A (ja) | ブロックチェーンをデジタルツインのセットにリンクするための、コンピュータにより実施されるシステム及び方法 | |
CN108536521B (zh) | 基于仿真平台离线环境核对方法及装置 | |
CN111782551B (zh) | 针对区块链项目的测试方法、装置及计算机设备 | |
CN101013968A (zh) | 自动接口测试框架 | |
CN112187585A (zh) | 网络协议测试方法及装置 | |
CN111949531B (zh) | 区块链网络的测试方法、装置、介质及电子设备 | |
CN110838067B (zh) | 一种房产交易数据处理方法、装置、服务器及存储介质 | |
CN112148573A (zh) | 一种网页操作过程记录与回放的方法及装置 | |
CN110808839B (zh) | 一种区块链异常数据的处理方法、装置、设备和介质 | |
CN116155771A (zh) | 网络异常测试方法、装置、设备、存储介质和程序 | |
CN112202647B (zh) | 区块链网络中的测试方法、装置及测试设备 | |
CN111694743A (zh) | 业务***的检测方法及装置 | |
US10079738B1 (en) | Using a network crawler to test objects of a network document | |
CN115730935A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN111917729B (zh) | 动态注入测试方法及装置、相关设备 | |
CN110858211B (zh) | 数据存储方法、装置及***、存储介质 | |
CN112015715A (zh) | 工业互联网数据管理服务测试方法及*** | |
CN111786991B (zh) | 基于区块链的平台认证登录方法及相关装置 | |
CN117009345A (zh) | 数据上报功能的校验方法、装置以及电子设备 | |
CN110134558A (zh) | 一种服务器的检测方法和装置 | |
CN113127325B (zh) | 问题单的处理方法、装置及存储介质 | |
CN108021508A (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 |