掌桥专利:专业的专利平台
掌桥专利
首页

一种数据处理方法、数据处理装置及电子设备

文献发布时间:2023-06-19 09:58:59


一种数据处理方法、数据处理装置及电子设备

技术领域

本申请属于项目测试技术领域,尤其涉及一种数据处理方法、数据处理装置、电子设备及计算机可读存储介质。

背景技术

智能推荐项目旨在通过推荐系统为用户推送优质且受用户欢迎的内容,这些内容包含商品资讯、新闻资讯和/或小视频资讯等。目前,推荐系统的算法策略较多,且会对不同的业务系统提供不同的推荐接口。在对智能推荐项目进行测试时,往往需要查看多用户场景下的推荐结果,以校验推荐内容是否千人千面,其中,测试数据往往需要人工进行构造,这导致测试效率较低。

发明内容

本申请提供了一种数据处理方法、数据处理装置、电子设备及计算机可读存储介质,可一定程度上提升测试效率。

第一方面,本申请提供了一种数据处理方法,包括:

根据电子设备所处的运行环境,确定获取生产环境下的用户数据的获取方式,其中,上述运行环境包括测试环境及生产环境;

基于上述获取方式获取生产环境下的用户数据;

基于上述用户数据运行推荐接口,以获得上述推荐接口所输出的推荐详情信息;

根据上述推荐详情信息生成上述电子设备所处的运行环境下的推荐测试结果文件。

第二方面,本申请提供了一种数据处理装置,包括:

确定单元,用于根据电子设备所处的运行环境,确定获取生产环境下的用户数据的获取方式,其中,上述运行环境包括测试环境及生产环境;

第一获取单元,用于基于上述获取方式获取生产环境下的用户数据;

第二获取单元,用于基于上述用户数据运行推荐接口,以获得上述推荐接口所输出的推荐详情信息;

生成单元,用于根据上述推荐详情信息生成上述电子设备所处的运行环境下的推荐测试结果文件。

第三方面,本申请提供了一种电子设备,上述电子设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。

第四方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。

第五方面,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。

通过实施本申请实施例提供的数据处理方法,首先根据电子设备所处的运行环境,确定获取生产环境下的用户数据的获取方式,其中,上述运行环境包括测试环境及生产环境,然后基于上述获取方式获取生产环境下的用户数据,接着基于上述用户数据运行推荐接口,以获得上述推荐接口所输出的推荐详情信息,最后根据上述推荐详情信息生成上述电子设备所处的运行环境下的推荐测试结果文件。上述过程中,生产环境和测试环境共用同一套测试框架,且这两个环境下的测试数据均来源于生产环境;也即生产环境下的用户数据会被同步至测试环境,以模拟海量用户的场景,可省去测试人员人工构造测试数据的过程,大大提升测试效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的数据处理方法的实现流程示意图;

图2是本申请实施例提供的测试框架的架构示意图;

图3是本申请实施例提供的数据处理装置的结构框图;

图4是本申请实施例提供的电子设备的结构示意图。

具体实施方式

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

本申请实施例所涉及的数据处理方法,可以应用于服务器、台式电脑、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。该数据处理方法实际描述了一套测试框架的测试处理流程。

请参阅图1,图1示出了本申请实施例提供的一种数据处理方法的实现流程图。如图1所示,本实施例提供的数据处理方法可以包括:

步骤101,根据电子设备所处的运行环境,确定获取生产环境下的用户数据的获取方式。

在本实施例中,在推荐系统中的推荐接口被调用之前,搭载有推荐系统的电子设备将先判断该电子设备所处的运行环境。具体地,该运行环境包括测试环境及生产环境。其中,测试环境不面向真实的普通用户,仅面向开发该推荐系统的企业的内部,例如该企业的后台人员,具体用于测试该推荐系统在运行过程中是否存在异常;而生产环境面向真实的普通用户,具体用于为真实的普通用户提供推荐服务。在一些实施例中,可通过登录该电子设备所搭载的推荐系统的后台人员的类型来确定所处的运行环境,例如,在该电子设备所搭载的推荐系统上,当前登录的后台人员是后台人员A,而后台人员A为后台测试人员,则可确定电子设备所处的运行环境为测试环境。当然,也可由后台人员直接在电子设备上输入选择指令以确定该电子设备所处的运行环境,此处不作限定。

用户数据的获取方式与所处的运行环境相关,也即,处于生产环境下与处于测试环境下获取该用户数据的过程存在差异。具体为:生产环境中预设有一查询接口,该查询接口用于查询生产环境下用户的用户识别码(userId)和对应的正排信息;测试环境预设有一更新接口,该更新接口用于将查询接口的查询结果(也即用户识别码和对应的正排信息)更新至测试环境。基于此,若电子设备所处的环境为生产环境,则直接调用数据查询接口即可在该生产环境下获得所需要的用户数据;若电子设备所处的环境为测试环境,则需要先调用查询接口,以获得生产环境下各个真实用户的相关数据,然后再调用更新接口,以将海量的真实用户的相关数据更新到测试环境,完成每个迭代版本的测试数据的构造。

示例性地,查询接口所查询出的正排信息包括两种数据,一种是用户画像数据,一种是资讯数据。其中,用户画像数据指的是用户的年龄、性别、爱好及性格等特征数据;资讯数据指的是用户已订阅的资讯的数据,也即用户感兴趣的资讯的数据。可以认为,用户画像数据是推荐接口向用户进行推荐的基础,而资讯数据则是对测试结果进行辅助验证的基础。基于此,电子设备可以在本步骤中,先基于预设的获取方式分别获取生产环境下的各个用户的用户标识码及与上述用户标识码对应的正排信息,上述正排信息包括上述用户标识码所对应的用户画像数据及上述用户标识码所对应的资讯数据,然后将各个用户标识码及对应的用户画像数据确定为用户数据;也即,基于用户标识码及对应的用户画像数据运行推荐接口,以获得推荐接口所输出的推荐详情信息。而正排信息中的资讯数据,也即各个用户标识码所对应的资讯数据,则用于在最后对推荐接口的推荐结果进行验证。

步骤102,基于上述获取方式获取生产环境下的用户数据。

在本实施例中,在根据电子设备在所处的运行环境确定了用户数据的获取方式后,电子设备即可开始基于该获取方式去获取生产环境下的真实的普通用户的用户数据,具体过程均已在步骤101中作出说明,此处不再赘述。

在一些实施例中,后台人员还可设定查询条件;则在通过查询接口获取用户数据时,可基于该查询条件对查询出的用户数据进行筛选。例如,可根据地域获取某些特定用户的用户数据;或者,可获取某一特定时间段内的用户数据等,此处不作限定。

步骤103,基于上述用户数据运行推荐接口,以获得上述推荐接口所输出的推荐详情信息。

在本实施例中,可基于用户标识码及对应的用户画像数据运行推荐接口,以此来获得推荐接口所输出的推荐详情信息。推荐接口的运行逻辑可以是:以用户标识码为输入,先确定该用户标识码对应的用户画像数据,然后通过对该用户画像数据进行分析,从而最终得到推荐详情信息。

考虑到在获取到了海量用户的用户数据的情况下,多次调用推荐接口会导致输入输出(Input/Output,IO)操作较多,这将一定程度上影响到推荐系统的运行速度,从而导致推荐系统的性能降低。基于此,本申请实施例还引入了多线程技术,通过设计多线程基类实现对任意函数及参数的多线程并发处理。其中,上述多线程具体可通过python的threading.Thread类自定义多线程基类MythreadCommon来实现。基于此,上述步骤103可具体表现为:创建一个以上线程,每个线程运行同一个推荐接口,其中,不同的线程中所运行的推荐接口对应输入不同的用户数据。以此,即可获得各个线程所输出的推荐详情信息。需要注意的是,若推荐系统中有多个不同的推荐接口,则可对这些推荐接口进行顺序测试;也可以对这些推荐接口进行并行测试;并且,不同的推荐接口的输入可以相同,但对于同一推荐接口来说,为了提升测试效率,往往不会在未对该推荐接口作出优化的情况下向该推荐接口输入相同的用户数据。

例如,当前有推荐接口A,用于推荐视频资讯;推荐接口B,用于推荐新闻资讯。则可先基于多线程对推荐接口A进行测试,具体为:基于线程数量,将所获得的的用户数据划分为多个批次,每一批次中的用户数据的数量可等于线程数量;那么在基于第一批次的用户数据进行测试时,可以是线程1调用推荐接口A,输入用户数据U1,得到对应的推荐详情信息X1;线程2调用推荐接口A,输入用户数据U2,得到对应的推荐详情信息X2;以此类推,可实现基于第一批次中的用户数据对推荐接口A的测试。之后,再基于第二批次中的用户数据对推荐接口A进行测试,直至基于所有批次中的用户数据对推荐接口A进行测试完毕后,结束对推荐接口A的测试;之后,可开始对推荐接口B进行测试,其过程与对推荐接口A的测试相似,此处不再赘述。

在一些实施例中,推荐接口的输出实际为资讯的item_id。因而,可以在获得推荐接口所推荐的资讯的item_id后,还可再通过资讯查询接口查询出各个item_id所对应的资讯详情,才可最终获得推荐详情信息。需要注意的是,该资讯查询接口也可通过多线程进行调用。

在一些实施例中,还可在测试框架中新增一全局的函数执行时间的装饰器,以使得该测试框架内的每一接口的代码实现中均可增加该装饰器。通过该装饰器,可获得各个接口在执行相应操作时的用时;后台人员通过分析各个接口在执行相应操作时的用时,即可获知接口的性能。举例来说,在更新接口中加入该装饰器,以查阅用户数据从生产环境同步到测试环境的耗时;若耗时过久,则可知该更新接口的性能较差,需要对其进行优化,以避免该更新接口拖累推荐系统的测试进度。

在一些实施例中,推荐接口的各类https请求,包括get、post、put及delete请求等,均可利用requests库的HTTPAPI基类来进行处理;并且,推荐接口还支持动态传参,可以在测试的过程中根据后台人员的需求修改该推荐接口所发起的请求中的某个字段信息,而对于不需要修改的字段则给定默认值即可。

步骤104,根据上述推荐详情信息生成上述电子设备所处的运行环境下的推荐测试结果文件。

在本实施例中,在获得了多个推荐详情信息后,为了帮助后台人员更快对推荐接口的运行状况进行了解,可对这些推荐详情信息进行关键信息提取。该关键信息可以包括如下几种数据类别:资讯的发布时间,一级主题,二级主题,以及资讯内容中抽取出的关键词等信息等。当然,根据后台人员的测试需求,也可对所要抽取的关键信息的数据类别进行调整,此处不作限定。这些关键信息可先被存储于一字典列表中,并通过定制的结果处理类ResultHandler对该字典列表进行统一的处理,处理后的结果可被存储于推荐测试结果文件中展示给后台人员进行查阅及验证,其中,该推荐测试结果文件优选为excel格式,也即,通过该推荐测试结果文件实现了对关键信息的分类保存。可以认为,推荐测试结果文件中存储有用户标识码,以及推荐接口基于该用户标识码所输出的资讯的关键信息的对应关系。后续可将步骤102中所获得的各个用户的正排信息中的资讯数据与该推荐测试结果文件进行比对,以此实现对推荐接口的测试结果进行验证。示例性地,验证过程可使用rec_recommendForKde函数,该函数也可利用自定义的基类MythreadCommon实现并发。

在一些实施例中,上述数据处理方法还包括对生产环境、测试环境及各个接口的配置,具体为:

获取预设的配置文件;

从上述配置文件中解析出环境配置信息,上述环境配置信息包括测试环境的环境信息及生产环境的环境信息;

基于预设的关键字段从上述配置文件中提取出各个接口的接口信息,以获得各个接口的统一资源定位符;

根据上述环境配置信息及上述各个接口的统一资源定位符,对测试环境、生产环境及各个接口进行配置。

其中,预设的配置文件可被分为三个部分,具体为common部分、test部分及prd部分;其中,common部分用于存储通用的接口信息,例如各个推荐接口的uri、ip及host;test部分用于配置测试环境的ip和端口;prd部分用于配置生产环境的ip和端口。可直接根据配置文件所配置的各项参数来对生产环境及测试环境进行配置;而对于对各个接口的配置来说,需要先对该配置文件(例如cfg_trace.ini文件)进行解析,具体为:从该配置文件中使用ConfigParser类解析需要的字段,也即与uri、ip及host相关的字段;然后,基于接口的uri、ip及host进行拼接,以获得该接口所对应的url,例如:

ZEB_REC_INFO_URL=http://192.168.16.12/rec/recommendForKde

上述示例即是某一个需要测试的推荐接口的url。采用类似的方式即可得到所有接口(例如查询接口、更新接口、其它推荐接口及资讯查询接口)的url。

可见,本实施例所提出的数据处理方法所描述的测试框架主要由四大模块构成。请参阅图2,图2给出了该测试框架的架构示意,该测试框架包括:配置信息模块、数据处理模块、多线程接口处理模块以及结果展示模块。其中,配置信息模块,可用于对测试环境、生产环境及各个接口进行配置,实现对环境信息的高效管理,可一站式快速地增删改环境信息。数据处理模块,可用于将生产环境中的海量真实用户的相关信息更新到测试环境,完成每个迭代版本的数据构造过程。多线程接口处理模块,可用于引入多线程机制,加快接口的响应,提升执行效率。结果展示模块,可用于展示推荐接口为不同用户所推荐的资讯的详细信息,便于后台人员方便直观地观察验证各推荐策略的算法逻辑。

在一些实施例中,上述数据处理方法还包括:

将上述生产环境下的用户数据和/或上述推荐测试结果文件上传至区块链(Blockchain)中。

其中,为了保证数据的安全性和公正透明性,可以将生产环境下的各个用户的用户标识码及对应的正排信息(也即用户画像数据及资讯数据)和/或上述推荐测试结果文件上传至区块链进行存证。各个后台人员随后即可通过各自的设备从区块链中下载获得各个用户的用户标识码及对应的正排信息和/或上述推荐测试结果文件,以便查证这些数据是否被篡改。本实施例所指区块链是采用分布式数据存储、点对点传输、共识机制及加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

以上可以看出,本实施例提供的一种数据处理方法,首先根据电子设备所处的运行环境,确定获取生产环境下的用户数据的获取方式,其中,上述运行环境包括测试环境及生产环境,然后基于上述获取方式获取生产环境下的用户数据,接着基于上述用户数据运行推荐接口,以获得上述推荐接口所输出的推荐详情信息,最后根据上述推荐详情信息生成上述电子设备所处的运行环境下的推荐测试结果文件。上述过程中,生产环境和测试环境共用同一套测试框架,且这两个环境下的测试数据均来源于生产环境;也即生产环境下的用户数据会被同步至测试环境,以模拟海量用户的场景,可省去测试人员人工构造测试数据的过程,大大提升测试效率。

请参阅图3,图3是本申请实施例提供的一种数据处理装置的结构框图。本实施例中该电子设备包括的各单元用于执行上述数据处理方法实施例中的各步骤,具体请参阅上述数据处理方法所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。

参见图3,数据处理装置3包括:

确定单元301,用于根据电子设备所处的运行环境,确定获取生产环境下的用户数据的获取方式,其中,上述运行环境包括测试环境及生产环境;

第一获取单元302,用于基于上述获取方式获取生产环境下的用户数据;

第二获取单元303,用于基于上述用户数据运行推荐接口,以获得上述推荐接口所输出的推荐详情信息;

生成单元304,用于根据上述推荐详情信息生成上述电子设备所处的运行环境下的推荐测试结果文件。

作为本申请一实施例,上述第一获取单元302,包括:

识别码及正排信息获取子单元,用于基于上述获取方式分别获取生产环境下的各个用户的用户标识码及与上述用户标识码对应的正排信息,上述正排信息包括上述用户标识码所对应的用户画像数据及上述用户标识码所对应的资讯数据;

用户数据确定子单元,用于将各个用户标识码及对应的用户画像数据确定为用户数据;

相应地,上述数据处理装置3还包括:

验证单元,用于在上述生成单元根据上述推荐详情信息生成上述电子设备所处的运行环境下的推荐测试结果文件之后,基于各个用户标识码所对应的资讯数据,对上述推荐测试结果文件进行验证。

作为本申请一实施例,上述确定单元301,具体用于:

若上述电子设备所处的运行环境为生产环境,则上述获取方式为:调用预设的查询接口,查询获得生产环境下的用户数据;

若上述电子设备所处的运行环境为测试环境,则上述获取方式为:调用预设的查询接口,查询获得生产环境下的用户数据;调用预设的更新接口,将查询获得的用户数据更新至测试环境下。

作为本申请一实施例,上述第二获取单元303,包括:

推荐接口运行子单元,用于创建一个以上线程,每个线程运行一个推荐接口,其中,不同的线程中所运行的推荐接口对应输入不同的用户数据;

推荐详情信息获取子单元,用于获得各个线程所输出的推荐详情信息。

作为本申请一实施例,上述生成单元304,包括:

关键信息提取子单元,用于基于预设的至少一个数据类别,从上述推荐详情信息中提取关键信息;

文件生成子单元,用于基于所提取到的上述关键信息生成上述电子设备所处的运行环境下的推荐测试结果文件。

作为本申请一实施例,上述数据处理装置3还包括:

配置文件获取单元,用于在上述确定单元301根据电子设备所处的运行环境,确定获取生产环境下的用户数据的获取方式之前,获取预设的配置文件;

环境配置信息解析单元,用于从上述配置文件中解析出环境配置信息,上述环境配置信息包括测试环境的环境信息及生产环境的环境信息;

接口信息提取单元,用于基于预设的关键字段从上述配置文件中提取出各个接口的接口信息,以获得各个接口的统一资源定位符;

配置单元,用于根据上述环境配置信息及上述各个接口的统一资源定位符,对测试环境、生产环境及各个接口进行配置。

作为本申请一实施例,上述数据处理装置3还包括:

上传单元,用于将上述生产环境下的用户数据和/或上述推荐测试结果文件上传至区块链中。

以上可以看出,本申请实施例提供的一种数据处理装置首先根据电子设备所处的运行环境,确定获取生产环境下的用户数据的获取方式,其中,上述运行环境包括测试环境及生产环境,然后基于上述获取方式获取生产环境下的用户数据,接着基于上述用户数据运行推荐接口,以获得上述推荐接口所输出的推荐详情信息,最后根据上述推荐详情信息生成上述电子设备所处的运行环境下的推荐测试结果文件。上述过程中,生产环境和测试环境共用同一套测试框架,且这两个环境下的测试数据均来源于生产环境;也即生产环境下的用户数据会被同步至测试环境,以模拟海量用户的场景,可省去测试人员人工构造测试数据的过程,大大提升测试效率。

需要说明的是,上述单元之间的信息交互及执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

图4是本申请另一实施例提供的一种电子设备的结构框图。如图4所示,该实施例的电子设备4包括:处理器41、存储器42以及存储在上述存储器42中并可在上述处理器41上运行的计算机程序43,例如数据处理方法的程序。处理器41执行上述计算机程序43时实现上述各个数据处理方法各实施例中的步骤,例如图1所示的步骤101至104。或者,上述处理器41执行上述计算机程序43时实现上述图3对应的实施例中各单元的功能,例如,图3所示的单元301至304的功能,具体请参阅图3对应的实施例中的相关描述,此处不赘述。

示例性的,上述计算机程序43可以被分割成一个或多个单元,上述一个或者多个单元被存储在上述存储器42中,并由上述处理器41执行,以完成本申请。上述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述上述计算机程序43在上述电子设备40中的执行过程。例如,上述计算机程序43可以被分割成确定单元、第一获取单元、第二获取单元及生成单元,各单元具体功能如上上述。

上述电子设备可包括,但不仅限于,处理器41、存储器42。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如上述电子设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器41可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

上述存储器42可以是上述电子设备4的内部存储单元,例如电子设备4的硬盘或内存。上述存储器42也可以是上述电子设备4的外部存储设备,例如上述电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述存储器42还可以既包括上述电子设备4的内部存储单元也包括外部存储设备。上述存储器42用于存储上述计算机程序以及上述电子设备所需的其他程序和数据。上述存储器42还可以用于暂时地存储已经输出或者将要输出的数据。

本申请实施例中,上述处理器41执行上述计算机程序43以实现上述任意各个数据处理方法实施例中的步骤时,数据处理装置首先根据电子设备所处的运行环境,确定获取生产环境下的用户数据的获取方式,其中,上述运行环境包括测试环境及生产环境,然后基于上述获取方式获取生产环境下的用户数据,接着基于上述用户数据运行推荐接口,以获得上述推荐接口所输出的推荐详情信息,最后根据上述推荐详情信息生成上述电子设备所处的运行环境下的推荐测试结果文件。上述过程中,生产环境和测试环境共用同一套测试框架,且这两个环境下的测试数据均来源于生产环境;也即生产环境下的用户数据会被同步至测试环境,以模拟海量用户的场景,可省去测试人员人工构造测试数据的过程,大大提升测试效率。

本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现可实现上述各个数据处理方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述各个数据处理方法实施例中的步骤。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 一种诊断数据处理方法、诊断数据处理装置及电子设备
  • 一种数据处理方法、数据处理装置及电子设备
技术分类

06120112376781