一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、终端及存储介质与流程

2022-11-02 02:59:01 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体而言,本技术涉及一种数据处理方法、装置、终端及存储介质。


背景技术:

2.随着计算机技术的发展,可运行于终端的各种客户端应运而生,以便于满足用户的各种需求。例如,购物客户端满足用户的购物需求,音视频客户端实现影音共享服务,地图客户端方便于用户出行。
3.目前,部分客户端定位于工具类型,也可以理解为,工具类型的客户端的主要业务场景在于辅助用户,例如,地图客户端可视为工具类型的客户端,可提供路线规划等导航服务,以此辅助用户到达目的地。
4.由于工具类型的客户端的账户登录率普遍低于30%,用户在未登录账户情形下使用该客户端所产生的数据,可能会因用户卸载该客户端而丢失,或者因用户更换终端而无法迁移,这就造成此部分数据无法为提供偏好、推荐等地图业务提供数据支撑,进而影响地图业务的部分用户体验。
5.由此可见,未登录账户中数据的利用率亟待提高。


技术实现要素:

6.本技术各实施例提供了一种数据处理方法、装置、终端及存储介质,可以解决相关技术中存在的未登录账户中数据利用率低的问题。所述技术方案如下:
7.根据本技术实施例的一个方面,一种数据处理方法,包括:在进行第一状态账户与第二状态账户切换时,检测所述第一状态账户各业务领域中对应的至少一个用户资产数据的版本信息;获取所述第一状态账户对应的第一用户数据作为第一目标数据,所述第一用户数据为不存在版本信息的用户资产数据作为离线数据;以及基于所述第一状态账户对应的第二存在版本信息的用户资产数据构建第一记录,并根据所述第一记录从存在版本信息的所述第二用户资产数据中获取第二目标在线数据,所述第二用户数据为存在版本信息的用户数据;根据获取到的离线所述第一用户目标数据和所述第二目标在线数据,进行所述第一状态账户与所述第二状态账户之间的用户资产数据同步。
8.根据本技术实施例的一个方面,一种数据处理装置,包括:版本信息检测模块,用于在进行第一状态账户与第二状态账户切换时,检测所述第一状态账户对应的至少一个用户数据的版本信息;第一目标数据获取模块,用于获取所述第一状态账户对应的第一用户数据作为第一目标数据,所述第一用户数据为不存在版本信息的用户数据;以及第二目标数据获取模块,用于基于所述第一状态账户对应的第二用户数据构建第一记录,并根据所述第一记录从所述第二用户数据中获取第二目标数据,所述第二用户数据为存在版本信息的用户数据;数据同步模块,用于根据所述第一目标数据和所述第二目标数据,进行所述第一状态账户与所述第二状态账户之间的用户数据同步。
9.根据本技术实施例的一个方面,一种终端,包括:至少一个处理器、至少一个存储器、以及至少一条通信总线,其中,存储器上存储有计算机程序,处理器通过通信总线读取存储器中的计算机程序;计算机程序被处理器执行时实现如上所述的数据处理方法。
10.根据本技术实施例的一个方面,一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述的数据处理方法。
11.根据本技术实施例的一个方面,一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序存储在存储介质中,计算机设备的处理器从存储介质读取计算机程序,处理器执行计算机程序,使得计算机设备执行时实现如上所述的数据处理方法。
12.本技术提供的技术方案带来的有益效果是:
13.在上述技术方案中,客户端在进行第一状态账户与第二状态账户切换时,检测第一状态账户对应的至少一个用户数据的版本信息,以获取不存在版本信息的第一用户数据作为第一目标数据,以及基于存在版本信息的第二用户数据构建第一记录,并根据该第一记录从存在版本信息的第二用户数据中获取第二目标数据,进而根据获取到的第二目标数据和第一目标数据,进行第一状态账户与第二状态账户之间的用户数据同步,由此,随着第一状态账户对应的至少一个用户数据同步至第二状态账户,使得此部分用户数据与第二状态账户密切关联,即用户进入第二状态账户便能够相应地获得此部分用户数据,并不会因用户卸载客户端而丢失,也不会受用户更换终端的影响,进而有利于为提供偏好、推荐等地图业务提供数据支撑,从而能够有效地解决相关技术中未登录账户中的数据利用率较低的问题。
附图说明
14.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
15.图1是根据本技术所涉及的实施环境的示意图;
16.图2是根据一示例性实施例示出的一种数据处理方法的流程图;
17.图3至图4是根据一示例性实施例示出的地图客户端中展示不同业务场景的示意图;
18.图5是根据一示例性实施例示出的第一记录的构建过程的流程图;
19.图6为根据一示例性实施例示出的第一记录的构建过程的另一流程图;
20.图7是图2对应实施例中步骤350在一个实施例的流程图;
21.图8是根据一示例性实施例示出的另一种数据处理方法的流程图;
22.图9是根据一示例性实施例示出的同步过程的流程图;
23.图10是根据一示例性实施例示出的拉取过程的流程图;
24.图11是一应用场景中数据处理系统架构的示意图;
25.图12是一应用场景中为业务适配器提供的数据库基类的示意图;
26.图13是一应用场景中未登录用户数据库和登录用户数据库的示意图;
27.图14a至图14e是一应用场景中一种数据处理方法的具体实现示意图;
28.图15是根据一示例性实施例示出的一种数据处理装置的结构框图;
29.图16是根据一示例性实施例示出的一种终端的硬件结构图;
30.图17是根据一示例性实施例示出的一种终端的结构框图。
具体实施方式
31.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
32.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
33.下面是对本技术涉及的几个名词进行的介绍和解释:
34.第一状态账户,指的是未登录用户账户。对应地,第一状态是指未登录状态。第一状态账户随着客户端运行于终端通常默认进入。当然,还有一种可能是前一次用户在进入第二状态账户之后未退出,则本次随着客户端运行于终端则默认进入前一次登录的第二状态账户,此时,第一状态账户可以由第二状态账户切换进入,也可以认为是,当用户退出第二状态账户,则默认进入第一状态账户。
35.第二状态账户,指的是登录用户账户。对应地,第二状态是指登录状态。第二状态账户,可以由第一状态账户切换进入,也可以是不同第二状态账户之间相互切换进入。
36.业务场景,也可以认为是业务领域,用于实现客户端为用户提供的至少一种功能,换而言之,不同业务场景实现不同功能。在客户端提供的用户界面中,通常以控件(按钮、下拉式菜单、文本框等)的形式向用户展示。例如,在地图客户端中,业务场景“轨迹记录”用于存储根据用户输入的起点和终点而为用户规划的路线;业务场景“我的收藏”用于存储用户收藏的地址或者poi(point of interesting,兴趣点)等。或者,在购物客户端中,业务场景“足迹”用于存储用户浏览过的商品;业务场景“关注店铺”用于存储用户收藏的店铺。
37.用户数据,隶属于不同状态账户各业务场景,也可以理解为,非资金类账户数据。用户数据是在用户使用客户端过程中产生的,包括但不限于用户主动输入、选择、搜索、记录的数据。以地图客户端举例说明,用户在地图“我的收藏”中添加新的poi或者删除已收藏的poi,该添加或者删除的poi即视为业务场景“我的收藏”中的用户数据。
38.如前所述,工具类型的客户端的账户登录率普遍低于30%,这会使得用户在未登录账户情形下使用该客户端所产生的数据的利用率不高。
39.例如,此部分数据可能会因用户卸载客户端而丢失,或者因用户更换终端而无法迁移,从而造成此部分数据无法为提供偏好、推荐等地图业务提供数据支撑,进而影响地图业务的部分用户体验。
40.为了提高未登录账户中数据的利用率,相关技术提出一种数据同步方案,即,将未登录账户中的数据与云端进行同步,例如,未登录账户中的数据上传至云端。
41.然而,在上述数据同步过程中,一方面,如果出现网络信号差,可能造成数据交互
延迟、以及云端同步更新的延迟,甚至出现同步数据丢失等现象,不可避免地在用户操作相关数据时,使得用户感知数据变化对客户端所带来的影响,例如,数据显示延迟,而导致用户较差体验。另一方面,云端与客户端之间进行的数据同步通常采用全量更新的方式,导致用户的数据流量消耗过大,也会给用户带来不良体验。
42.此外,数据同步通常面向业务场景,也就是说,每一个业务场景都需要单独进行数据同步,那么,随着业务场景的增加,开发复杂度和开发成本都将呈数量级增长,并且,数据同步将过于依赖于业务场景,不利于其余业务场景在客户端中的接入和使用。
43.由此可知,即使通过数据同步的方式来提高未登录账户中数据的利用率,仍存在数据迁移能力较差的缺陷,进而造成未登录账户中数据的利用率改善很有限。
44.有鉴于此,本技术提供的数据处理方法、装置、终端及存储介质,旨在解决相关技术的如上技术问题。
45.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
46.图1为一种数据处理方法所涉及的实施环境的示意图。该实施环境包括终端100和服务器200。
47.具体地,终端100可供客户端运行,可以是台式电脑、笔记本电脑、平板电脑、智能手机、智能语音交互设备、智能家电、车载终端等等电子设备,在此不进行限定。
48.其中,客户端,也认为是工具类型的客户端,例如,地图客户端、音视频客户端、购物客户端等等,可以是应用程序形式,也可以是网页形式,相应地,客户端的用户界面则可以是程序窗口形式,还可以是网页页面形式的,此处也并未加以限定。
49.服务器200,也称为云端,可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。例如,本实施环境中,服务器200为终端100提供相关数据的云存储服务。
50.服务器200与终端100之间通过有线或者无线等方式预先建立通信连接,并通过此通信连接实现服务器200与终端100之间的数据传输。例如,传输的数据可以是第一状态账户各业务场景中的用户数据,还可以是第二状态账户各业务场景中的用户数据,也可以是上述用户数据的版本信息。
51.随着客户端在终端100运行,用户即可通过默认进入的第一状态账户使用该客户端,由此产生第一状态账户至少一个业务场景中的用户数据,并存储。
52.在进行第一状态账户与第二状态账户切换时,此前产生的第一状态账户至少一个业务场景中的用户数据将同步至第二状态账户。
53.并且,用户可通过切换进入的第二状态账户使用该客户端,由此产生第二状态账户至少一个业务场景中的用户数据,并存储。
54.通过终端100与服务器200的交互,无论是第一状态账户至少一个业务场景中的用户数据,还是第二状态账户至少一个业务场景中的用户数据,都将与服务器200进行同步。值的一提的是,在终端100与服务器200之间针对第一状态账户或者第二状态账户至少一个业务场景中的用户数据的同步过程中,第一状态账户或者第二状态账户至少一个业务场景
的用户数据等可存储于区块链上,以利用区块链中数据具有不可篡改的特性,充分地保证同步过程的真实性和可信度。
55.上述过程中,在不阻碍用户使用的情况下,即用户操作用户数据时,无需感知此用户数据的变换对于客户端的影响,客户端各账户各业务场景中的用户数据便能够完整地存储在云端,从而能够为更精准地提供偏好、推荐等地图业务提供更加全面的数据支撑,以此来充分地提高第一状态账户中用户数据的利用率。
56.请参阅图2,本技术实施例提供了一种数据处理方法,该方法适用于图1所示出实施环境中的终端100。
57.在下述方法实施例中,为了便于描述,以各步骤的执行主体为终端中运行的客户端加以说明,但是并非对此构成具体限定。
58.如图2所示,该方法可以包括以下步骤:
59.步骤310,在进行第一状态账户与第二状态账户切换时,检测第一状态账户对应的至少一个用户数据的版本信息。
60.首先说明的是,第一状态账户是指未登录用户账户,第二状态账户是指登录用户账户,对应地,第一状态指的是未登录状态,第二状态指的是登录状态。
61.如前所述,随着客户端运行于终端通常默认进入第一状态账户。当然,还有一种可能是前一次用户在进入第二状态账户之后未退出,则本次随着客户端运行于终端则默认进入前一次登录的第二状态账户,此时,第一状态账户可以由第二状态账户切换进入,也可以认为是,当用户退出第二状态账户,则默认进入第一状态账户。
62.基于此,本实施例中,客户端进行第一状态账户与第二状态账户的切换,是指客户端从第一状态账户切换登录至第二状态账户。
63.当进入第一状态账户,用户可通过第一状态账户使用客户端,由此产生第一状态账户对应的至少一个用户数据。在一种可能的实施方式,第一状态账户对应的至少一个用户数据包括此第一状态账户至少一个业务场景中的用户数据。
64.具体地,此用户数据的生成过程,可以包括以下步骤:检测针对第一状态账户至少一个业务场景的写操作;如果检测到写操作,则基于写操作,对第一状态账户至少一个业务场景中的用户数据进行相关处理。
65.其中,写操作包括但不限于:新增操作、修改操作、删除操作等,对应地,相关处理包括但不限于:新增用户数据、修改用户数据、删除用户数据等。
66.以地图客户端举例说明,图3至图4示例性示出了地图客户端中展示不同业务场景的示意图。例如,如图3所示,客户端中显示业务场景“我的收藏”,如果用户选择“编辑”,终端便能够检测到针对该业务场景“我的收藏”的修改操作,以此对该业务场景“我的收藏”中的用户数据(例如“家”)进行修改。又譬如,在图4中,客户端中显示业务场景“轨迹记录”,如果用户选择“清空”,终端便能够检测到针对该业务场景“轨迹记录”的删除操作,以此删除该业务场景“轨迹记录”中的所有用户数据。
67.需要说明的是,根据终端所配置的输入组件的不同,写操作的操作方式会有所区别。例如,借由触控屏幕输入的智能手机,写操作的操作方式可以是点击、滑动等手势操作。或者,就配置了鼠标的笔记本电脑来说,写操作的操作方式可以是拖拽、单击、双击等机械操作。
68.同理,当由第一状态账户切换进入第二状态账户,用户可通过第二状态账户使用客户端,由此产生第二状态账户至少一个业务场景中的用户数据。
69.随着上述用户数据的产生,可分别存储至不同的指定存储区域,以此避免账户切换时数据同步依赖业务逻辑,从而方便于不同业务场景的接入和使用。
70.例如,指定存储区域包括未登录用户数据库(data base,db)和登录用户数据库,那么,第一状态账户各业务场景中的用户数据存储于未登录用户数据库,第二状态账户各业务场景中的用户数据存储于登录用户数据库。
71.其次,版本信息,用于指示用户数据在云端的同步时间。可以理解,用户数据在云端的同步时间越晚,版本信息越新。
72.在一种可能的实施方式,版本信息至少包括版本号。版本号,唯一地对应于用户数据,换而言之,不同账户相同业务场景中的用户数据的版本号有所不同,相同账户不同业务场景中的用户数据的版本号也各不相同。
73.在一种可能的实施方式,关于版本号的获取方式,可以包括以下步骤:与云端进行针对第一状态账户/第二状态账户各业务场景中用户数据的同步;接收云端返回的关于已同步用户数据的版本号。也就是说,就云端而言,将为同步至云端的第一状态账户/第二状态账户各业务场景中用户数据分配版本号。
74.在一种可能的实施方式,关于版本号的生成方式,可以包括以下步骤:云端针对请求同步的用户数据,确定产生该用户数据的写操作所对应的时间戳;采用加密算法(例如hash散列函数)对该时间戳进行加密处理,得到该用户数据的版本号。在此说明的是,请求同步的用户数据,可以是第一状态账户各业务场景中的用户数据,还可以是第二状态账户各业务场景中的用户数据。
75.在一种可能的实施方式,用户数据在云端的同步时间越晚,云端为该用户数据分配的版本号越大。
76.步骤330,获取第一状态账户对应的第一用户数据作为第一目标数据。
77.其中,第一用户数据为不存在版本信息的用户数据。
78.如前所述,在数据同步过程中,如果出现网络信号差,可能造成数据交互延迟、以及云端同步更新的延迟,甚至出现同步数据丢失等现象。
79.由此,本实施例中,数据同步,首先将用户数据存储于指定存储区域,当网络信号好时,在设定时机与云端进行针对指定存储区域的用户数据的同步。
80.在一种可能的实施方式,设定时机可以指客户端于终端启动运行时,还可以是客户端运行于终端时的每间隔5分钟。当然,间隔周期不局限于5分钟,可以根据应用场景的实际需要灵活地调整,此处并非构成具体限定。
81.由上可知,在网络信号好时,用户数据方才同步至云端,并由云端相应地分配版本号。反之,在网络信号差时,用户数据存储于指定存储区域而不与云端进行同步,那么,该用户数据相应地无法获得由云端分配的版本号。
82.在此种情形下,需要与第二状态账户之间进行同步的用户数据包括第一目标数据。其中,第一目标数据是指第一状态账户各业务场景中不存在版本号的第一用户数据。也可以理解为,第一目标数据指的是尚未与云端进行同步的第一状态账户各业务场景中的用户数据。
83.以地图客户端为例进行说明,用户驾车出行,通过运行于智能手机的地图客户端进行路线规划导航,期间并未进行账户登录。在网络信号好时,用户在未登录用户账户(第一状态账户)情形下使用地图客户端所产生的关于业务场景a的用户数据包括a1、a2、a3,此部分用户数据将同步至云端,并由云端分配获得相应的版本号11、12、13。
84.随着车辆移动,比如进入地下停车场,可能出现网络信号差的情况,期间产生的关于业务场景a的用户数据包括a4,此时,该用户数据a4因无法与云端同步,相应地无法获得云端分配的版本号。随着用户移动,比如进入商场,此时,网络信号恢复,期间可能产生关于业务场景a的用户数据a5。
85.那么,随着网络信号由差变好,用户数据a4和a5都需要与云端进行同步,以获取云端分配的版本号,且用户数据a4优先于用户数据a5进行版本号的分配。此时,如果用户进行了账户登录,则用户数据a4和a5都将作为第一目标数据,与登录用户账户(第二状态账户)进行数据同步。
86.步骤350,基于第一状态账户对应的第二用户数据构建第一记录,并根据第一记录从第二用户数据中获取第二目标数据。
87.其中,第二目标数据为存在版本信息的用户数据。
88.应当理解,随着用户进入第一状态账户的时间增长,第一状态账户各业务场景中的用户数据也可能随之更新,例如,某一个用户数据新增,或者,某一个用户数据被修改,又或者,某一个用户数据被删除。在网络信号好时,上述更新的用户数据将同步至云端,以相应地获得由云端分配的版本号。换而言之,第一状态账户各业务场景可能存在多个存在版本号的用户数据,不同版本号用于指示对应用户数据在云端的同步时间。
89.由此,本实施例中,第一记录,用于表示第一状态账户至少一个业务场景中用户数据的最新的版本信息。在一个可能的实施方式,第一记录,用于表示第一状态账户至少一个业务场景中用户数据的最大版本号。
90.具体地,如图5所示,第一记录的构建过程,可以包括以下步骤:
91.步骤351,获取第一状态账户的账户标识。
92.其中,账户标识,用于唯一地表示第一状态账户。需要说明的是,第一状态账户的账户标识,也认为是未登录用户账户的账户标识,在终端安装客户端之后,当该客户端首次启动运行于终端,便相应地创建,直至该客户端被用户卸载,由此可见,在客户端从安装到卸载期间,第一状态账户的账户标识保持不变。
93.步骤352,获取第一状态账户各业务场景中用户数据的最大版本号。
94.步骤353,根据第一状态账户的账户标识和最大版本号,生成第一记录。
95.举例来说,假设第一状态账户包括业务场景a和业务场景b。
96.对于业务场景a来说,用户数据a1的版本号为11,用户数据a2的版本号为12,用户数据a3的版本号为13,无版本号的用户数据a4。
97.对于业务场景b来说,用户数据b1的版本号为21,用户数据b2的版本号为22,用户数据b3的版本号为23。
98.针对各业务场景,版本号越大,表示用户数据的版本信息越新,则第一记录可以表示为:第一状态账户的账户标识uid-业务场景a:13-业务场景b:23。
99.由此,通过第一记录的引入,便可确定第一状态账户各业务场景中最新同步至云
端的用户数据,例如,上述例子中的用户数据a3和用户数据b3。
100.在确定第一记录之后,便可进一步地从存在版本信息的第二用户数据中获取第二目标数据。其中,第二目标数据,是指第一状态账户各业务场景中存在版本号且需要进行同步的用户数据。
101.在一种可能的实施方式,基于本地存储的第一状态账户各业务场景中存在版本信息的第二用户数据,获取第二目标数据,以此实现简单高效的用户数据的物理拷贝。在一种可能的实施方式,基于云端同步的第一状态账户各业务场景中存在版本信息的第二用户数据,获取第二目标数据,以此节省本地存储资源,有利于降低用户设备成本,进而提升用户使用体验。
102.仍以上述例子进行说明,假设业务场景a中的用户数据a1、a2已同步至第二状态账户,则基于第一记录,便能够确定第二目标数据包括:业务场景a中存在版本号的用户数据a3;业务场景b中存在版本号的用户数据b1、b2、b3。
103.应当说明的是,关于步骤330和步骤350的执行顺序并非局限于此,在其他实施例中,也可以先执行步骤350再执行步骤330,或者,同时执行步骤330和步骤350,本实施例并非对此构成具体限定。
104.步骤370,根据第一目标数据和第二目标数据,进行第一状态账户与第二状态账户之间的用户数据同步。
105.本实施例中,进行第一状态账户至第二状态账户同步的用户数据包括第一目标数据和/或第二目标数据。
106.具体地,如果获得第一目标数据,则将第一目标数据从第一状态账户同步至第二状态账户;如果获得第二目标数据,则将第二目标数据从第一状态账户同步至第二状态账户。
107.通过上述过程,用户进入第二状态账户,便能够相应地获得第一状态账户各业务场景中的用户数据,并不会因用户卸载客户端而丢失,也不会受用户更换终端的影响,进而有利于为提供偏好、推荐等地图业务提供数据支撑,从而能够有效地解决相关技术中未登录账户中数据利用率较低的问题。
108.此外,一方面,数据同步结合在线的第二目标数据和离线的第一目标数据,避免受限于网络而导致数据同步出现延迟、丢失率高等问题,实现无损数据交互,以此来充分地保障用户操作的流畅性;另一方面,通过为第一状态账户各业务场景中的用户数据引入第一记录,使得各业务场景不再需要单独进行数据同步,避免了受限于业务场景所导致的开发成本过高、开发复杂度过大等问题,进而有利于提高不同账户之间的数据迁移能力。
109.请参阅图6,本技术实施例中提供了一种可能的实现方式,步骤350中第一记录的构建过程,还可以包括以下步骤:
110.步骤354,获取用户是否同意上传用户数据至云端的第一标记。
111.其中,第一标记,用于指示用户是否同意上传第一状态账户各业务场景中的用户数据至云端。
112.应当理解,用户在未登录账户情形下使用客户端所产生的数据,可能会涉及用户隐私或者其他安全性问题,由此,基于第一标记便能够有效保护用户数据的私密性和安全性。
113.步骤355,获取用户数据是否已同步至第二状态账户的第二标记。
114.其中,第二标记,用于指示第一状态账户各业务场景中用户数据是否已同步至第二状态账户,以此防止用户数据的重复拷贝,提高数据处理效率。
115.应当说明的是,关于步骤354和步骤355的执行顺序并非局限于此,在其他实施例中,也可以先执行步骤355再执行步骤354,或者,同时执行步骤354和步骤355,本实施例并非对此构成具体限定。
116.步骤356,将第一标记和/或第二标记,添加至第一记录。
117.结合前述例子继续说明,第一记录可以表示为:第一状态账户的账户标识uid-业务场景a:13-业务场景b:23-confirm=true-sync=false。
118.那么,在账户标识为uid的第一状态账户,业务场景a中用户数据的最大版本号为13,业务场景b中用户数据的最大版本号为23,第一标记confirm表示用户同意上传第一状态账户各业务场景中的用户数据至云端,第二标记sync表示第一状态账户各业务场景中的用户数据需要同步至第二状态账户。
119.由此,基于第一记录,便可针对获取到的第二目标数据,进行第一状态账户与第二状态账户之间的用户数据同步。
120.在上述实施例的配合下,实现了第一标记和/或第二标记在第一记录中的添加,不仅充分考虑了用户隐私和其他安全性问题,以防止用户隐私泄露,而且能够有效地防止用户数据的重复拷贝,有利于提高数据处理效率。
121.请参阅图7,本技术实施例中提供了一种可能的实现方式,步骤350中根据第一记录从第二用户数据中获取第二目标数据,可以包括以下步骤:
122.步骤410,获取存储于第二状态账户的第二记录。
123.其中,第二记录,是基于前一次进行账户切换时存在版本信息的第一用户数据构建的。
124.也就是说,就第一状态账户而言,第一记录反映了当前一次进行账户切换时各业务场景中用户数据的最大版本号,也即是当前一次进行账户切换时已同步至云端的用户数据的最大版本号;而第二记录则反映了前一次进行账户切换时各业务场景中用户数据的最大版本号,也即是前一次进行账户切换时已同步至云端的用户数据的最大版本号。
125.由此,根据第一记录和第二记录中的版本信息,便能够确定在两次账户切换期间,第一状态账户各业务场景中同步至云端的用户数据所发生的变化,进而能够确定存在版本号且需要进行同步的用户数据,即第二目标数据。
126.确定过程如下:
127.比较第一记录与第二记录中的版本信息,得到第一比较结果。
128.具体地,基于第一记录和第二记录中的版本信息,对第一状态账户各业务场景进行遍历,
129.遍历的方式包括:
130.步骤431,以遍历到的业务场景作为当前业务场景。
131.比较第一记录与第二记录中针对当前业务场景的版本信息,得到当前业务场景的第二比较结果。
132.步骤4331,在第一记录中,确定当前业务场景中第二用户数据的版本号,作为第一
版本号。
133.步骤4333,在第二记录中,确定当前业务场景中第二用户数据的版本号,作为第二版本号。
134.应当说明的是,关于步骤4331和步骤4333的执行顺序并非局限于此,在其他实施例中,也可以先执行步骤4333再执行步骤4331,或者,同时执行步骤4331和步骤4333,本实施例并非对此构成具体限定。
135.步骤4335,比较第一版本号与第二版本号是否匹配,得到当前业务场景的第二比较结果。
136.待第一状态账户各业务场景完成上述遍历步骤,即可分别得到第一状态账户各业务场景的第二比较结果。
137.步骤450,根据针对第一状态账户各业务场景的遍历分别得到的第二比较结果生成第一比较结果。
138.步骤470,基于第一比较结果,从存在版本信息的第二用户数据中获取第二目标数据。
139.仍以前述例子举例说明,假设第一记录表示为:第一状态账户的账户标识uid-业务场景a:13-业务场景b:23,第二记录表示为:第一状态账户的账户标识uid-业务场景a:12-业务场景b:0。
140.当前业务场景为业务场景a时,第一记录中针对业务场景a的版本号13为第一版本号,第二记录中针对业务场景a的版本号12为第二版本号,则得到业务场景a关于第一版本号13与第二版本号12不匹配的第二比较结果。
141.当前业务场景为业务场景b时,第一记录中针对业务场景b的版本号23为第一版本号,第二记录中针对业务场景b的版本号0为第二版本号,则得到业务场景b关于第一版本号23与第二版本号0不匹配的第二比较结果。
142.那么,第一比较结果={业务场景a的第二比较结果,业务场景b的第二比较结果}。
143.由此,基于第一比较结果,确定在业务场景a中需要进行同步的用户数据的版本号大于12且小于等于13,在业务场景b中需要进行同步的用户数据的版本号大于0且小于等于23,也就是说,第二目标数据包括:业务场景a中版本号为13的用户数据a3;业务场景b中版本号分别为21、22、23的用户数据b1、b2、b3。
144.在一种可能的实施方式,基于本地存储的第一状态账户各业务场景中的第二用户数据,比如未登录用户数据库中的第二用户数据,那么,可从该未登录用户数据库中获取第二目标数据,即业务场景a中版本号为13的用户数据a3;业务场景b中版本号分别为21、22、23的用户数据b1、b2、b3。
145.在一种可能的实施方式,基于云端存储的第一状态账户各业务场景中的第二用户数据,将第一状态账户各业务场景中需要进行同步的第二用户数据的版本号发送至云端,即版本号13、21、22、23,对应地,云端便会返回业务场景a中版本号为13的用户数据a3、以及业务场景b中版本号分别为21、22、23的用户数据b1、b2、b3。
146.在上述实施例的作用下,基于第一记录和第二记录,实现第二目标数据的获取,为按照增量更新的方式进行第一状态账户与第二状态账户之间的用户数据同步提供了数据依据,进而有利于降低用户在数据同步过程中消耗的数据流量,能够有效地促进用户体验
的提升。
147.请参阅图8,本技术实施例中提供了一种可能的实现方式,步骤370之前,如上所述的方法还可以包括以下步骤:
148.步骤361,比较第一记录中的第一标记与第二记录中的第一标记是否一致。
149.如果第一记录中的第一标记与第二记录中的第一标记不一致,表示不确定用户是否同意上传用户数据至云端,则执行步骤363。
150.反之,如果第一记录中的第一标记与第二记录中的第一标记一致,表示已确定用户同意上传用户数据至云端,则执行步骤365。
151.在此说明的是,在一种可能的实施方式,如果第一记录中的第一标记与第二记录中的第一标记一致,还可以执行步骤370,以将获取到的第一目标数据和第二目标数据从第一状态账户同步至第二状态账户,本实施例并非对此构成具体限定。
152.步骤363,显示弹窗消息。
153.其中,弹窗消息用于提示用户是否同意上传用户数据至云端。
154.如果检测到针对弹窗消息的确认操作,表示用户同意上传用户数据至云端,则执行步骤365。
155.反之,如果未检测到针对弹窗消息的确认操作,表示用户不同意上传用户数据至云端,则获取到的第一目标数据和第二目标数据无需同步至第二状态账户,此时,结束本次账户之间的用户数据同步。
156.步骤365,比较第一记录与第二记录中的第二标记是否一致。
157.如果第一记录与第二记录中的第二标记一致,表示用户数据已同步至第二状态账户,为了防止用户数据的重复拷贝,则获取到的第一目标数据和第二目标数据无需同步至第二状态账户,此时,结束本次账户之间的用户数据同步。
158.反之,如果第一记录与第二记录中的第二标记不一致,表示用户数据未同步至第二状态账户,则执行步骤370,以将获取到的第一目标数据和第二目标数据从第一状态账户同步至第二状态账户。
159.由此,在进行第一状态账户与第二状态账户之间的用户数据同步之前,不仅充分考虑了用户隐私和其他安全性问题,以防止用户隐私泄露,而且能够有效地防止用户数据的重复拷贝,进而有利于提高数据处理效率。
160.本技术实施例中提供了一种可能的实现方式,步骤370之前,如上所述的方法还可以包括以下步骤:
161.与云端进行针对第二状态账户对应的至少一个用户数据的同步。
162.具体地,如图9所示,在一种可能的实施方式,同步流程可以包括以下步骤:
163.对第二状态账户中各业务场景进行遍历,遍历的方式包括:
164.步骤610,以遍历到的业务场景作为当前业务场景。
165.步骤630,基于当前业务场景,比较本地存储的用户数据与云端存储的用户数据的版本信息是否匹配。
166.具体地,确定本地存储的用户数据的最大版本号为本地版本号,以及确定云端存储的用户数据的最大版本号为云端版本号;比较本地版本号与云端版本号是否匹配。
167.如果本地版本号与云端版本号匹配,则执行步骤650。
168.反之,如果本地版本号与云端版本号不匹配,例如,本地版本号小于云端版本号,表示本地与云端之间尚未同步,则执行步骤670,以使本地版本号匹配于云端版本号。
169.步骤650,检测本地存储的用户数据与云端存储的用户数据是否一致。
170.如果本地存储的用户数据与云端存储的用户数据一致,表示本地与云端之间已同步,则结束本次与云端针对第二状态账户各业务场景中用户数据的同步。
171.反之,如果本地存储的用户数据与云端存储的用户数据不一致,表示本地与云端之间尚未同步,则执行步骤690。
172.步骤670,从云端拉取当前业务场景中使得版本信息匹配的用户数据。
173.具体地,如图10所示,在一种可能的实施方式,拉取流程可以包括以下步骤:
174.一方面,如果当前业务存在需要续传的用户数据,则拉取流程如下:
175.步骤671,当检测到当前业务场景存在需要续传的用户数据,获取断点续传信息。
176.其中,断点续传信息包括以下至少一项:需要续传的用户数据的版本信息、云端存储的用户数据的版本信息、用于指示是否还存在需要续传的用户数据的第三标记。
177.步骤673,根据断点续传信息,确定需要续传的用户数据的版本信息。
178.步骤675,比较需要续传的用户数据与云端存储的用户数据的版本信息是否匹配。
179.具体地,根据断点续传信息,确定需要续传的用户数据的版本号,以及确定云端存储的用户数据的最大版本号;比较需要续传的用户数据的版本号与云端存储的用户数据的最大版本号是否匹配。
180.如果需要续传的用户数据的版本号与云端存储的用户数据的最大版本号不匹配,则执行步骤677。
181.反之,如果需要续传的用户数据的版本号与云端存储的用户数据的最大版本号匹配,则结束从云端拉取使得版本信息匹配的用户数据。
182.步骤677,从云端拉取当前业务场景中需要续传的用户数据。
183.在本次需要续传的用户数据拉取完毕,可进一步基于前述第三标记,确定是否还存在需要续传的用户数据,进而在确定仍存在需要续传的用户数据时返回执行步骤671,直至需要续传的用户数据的版本信息与云端存储的用户数据的版本信息匹配,或者,不存在需要续传的用户数据。
184.另一方面,如果当前业务不存在需要续传的用户数据,则拉取流程如下:从云端拉取当前业务场景中使得本地版本号与云端版本号匹配的用户数据。
185.步骤690,针对当前业务场景,由云端存储的用户数据替换本地存储的用户数据。
186.通过上述实施例的配合,实现了针对第二状态账户各业务场景中用户数据与云端进行的同步过程。
187.应当说明的是,针对第一状态账户各业务场景中用户数据与云端进行的同步过程,与上述过程基本一致,则不再重复赘述,区别在于关于第一状态账户的同步主要是为了获得由云端分配的版本号,而关于第二状态账户的同步则主要是为了保持客户端各账户各业务场景中用户数据能够完整地存储在云端,从而能够为更精准地提供偏好、推荐等地图业务提供更加全面的数据支撑。
188.图11、图12、图13、图14a至图14e是一种数据处理方法在一应用场景所涉及的相关示意图。该应用场景中,运行于终端的工具类型的客户端为地图客户端,利用数据处理方法
旨在为用户实现各账户(例如未登录用户账户和登录用户账户)各业务场景(例如poi收藏、搜索历史、公司和家、首页工具栏、驾车轨迹、车牌、常用查询地址等等)中用户数据的同步问题。该终端则可以是台式电脑、笔记本电脑、平板电脑、智能手机、智能语音交互设备、智能家电、车载终端等。
189.图11示例性示出了一种数据处理系统架构的示意图。在图11中,该数据处理系统架构包括:地图业务层、基础服务层、业务接口层、数据处理层、以及数据持久化层。
190.其中,地图业务层,可部署多个业务场景,例如,业务场景包括公司/家、poi收藏、车牌、驾车轨迹等,用于提供客户端的各账户各业务场景中的用户数据;
191.基础服务层,包括api接口和业务适配器,api接口负责实现对地图业务层提供的用户数据的通用存取逻辑封装,例如,通用存取逻辑封装的方式可以是指将隶属于不同业务场景中的用户数据转化为统一的二进制流;业务适配器则通过数据库基类的调用方便不同业务场景的接入和使用,有效地提升了数据处理系统架构的组件化能力,解除数据同步对业务场景的依赖,例如,基于jetpack room数据库实现的数据库基类,包括但不限于迁移基类、查询基类、实体基类等等,如图12所示;
192.业务接口层,至少包括存储数据save模块、获取本地数据get模块、分页获取page模块、异步更新update模块,以此提供对外的数据访问能力。例如,地图业务层可调用存储数据save模块实现用户数据的本地存储;地图业务层可调用获取本地数据get模块实现由本地读取用户数据;地图业务层可调用分页获取page模块实现分页拉取云端存储的用户数据,以此缓解云端的处理压力;地图业务层可调用异步更新update模块实现与云端之间进行未登录用户账户/登录用户账户各业务场景中的用户数据的同步;
193.数据持久化层,至少包括本地数据库,如图13所示,该本地数据库进一步地包括未登录用户数据库db和登录用户数据库db,分别负责存储未登录用户账户userid1和登录用户userid2账户各业务场景(例如poi收藏和驾车轨迹)中的用户数据,不仅有利于消除账户切换时数据同步对业务逻辑的依赖性,可随着账户变化进行动态扩展,而且实现逻辑简单,能够有效地降低开发成本;
194.数据处理层,包括拉取组件pull、上传组件sync以及克隆组件clone,拉取组件pull负责从云端拉取云端存储的用户数据,拉取时机可以是客户端启动运行,也可以是客户端从后台切换至前台运行,还可以是在客户端进行未登录用户账户与登录用户账户切换;上传组件sync则负责与云端进行针对未登录用户账户/登录用户账户各业务场景中的用户数据的同步,上传时机不局限于客户端启动运行,还可以是客户端运行于终端之后设定的间隔周期,例如,间隔周期为5分钟;而克隆组件clone负责实现未登录用户账户与登录用户账户之间的用户数据同步。
195.图14a至图14e示例性示出了利用上述组件实现数据处理方法的具体实现示意图。如图14a所示,利用拉取组件pull实现数据处理方法中的拉取流程。如图14b所示,利用上传组件sync实现数据处理方法中的同步流程。如图14c至14d所示,利用克隆组件clone实现数据处理方法中的克隆流程,该克隆流程进一步地包括检查克隆流程和发起克隆流程。如图14e所示,结合上述三种组件实现未登录账户与登录账户之间用户数据的同步、以及本地与云端之间用户数据的同步。值得一提的是,在同步流程或者克隆流程中,都可以引入拉取流程。
196.结合图14a至图14e,对上述各流程进行以下举例说明:
197.假设未登录账户包括业务场景a和业务场景b。
198.在网络信号好时,调用上传组件sync,客户端将与云端进行针对未登录账户对应的至少一个用户数据的同步,以接收云端返回的关于已同步用户数据的版本号,如图14e所示。
199.假设对于业务场景a来说,用户数据a1的版本号为11,用户数据a2的版本号为12,用户数据a3的版本号为13,无版本号的用户数据a4。
200.对于业务场景b来说,用户数据b1的版本号为21,用户数据b2的版本号为22,用户数据b3的版本号为23。
201.随着用户进行登录,将进行未登录账户与登录账户之间用户数据的同步。
202.如图14c所示,通过克隆组件clone的调用,发起检查克隆流程,首先确定离线数据,即第一目标数据至少包括:业务场景a中的用户数据a4。
203.相应地,构建的第一记录可以表示为:第一状态账户的账户标识uid-业务场景a:13-业务场景b:23-confirm=true-sync=false。其中,在账户标识为uid的第一状态账户,业务场景a中用户数据的最大版本号为13,业务场景b中用户数据的最大版本号为23,第一标记confirm表示用户同意上传第一状态账户各业务场景中的用户数据至云端,第二标记sync表示第一状态账户各业务场景中的用户数据需要同步至第二状态账户。
204.进一步地假设,业务场景a中的用户数据a1、a2已同步至第二状态账户,则获取到的第二记录可以表示为:第一状态账户的账户标识uid-业务场景a:12-业务场景b:0-confirm=true-sync=true。其中,在账户标识为uid1的第二状态账户,业务场景a中用户数据的最大版本号为13,业务场景b中用户数据的最大版本号为23,第一标记confirm表示用户同意上传第一状态账户各业务场景中的用户数据至云端,第二标记sync表示第一状态账户各业务场景中的用户数据不需要同步至第二状态账户。
205.在确定第一记录与第二记录之后,便进行第一记录与第二记录的比较,具体地:当前业务场景为业务场景a时,第一记录中针对业务场景a的版本号13为第一版本号,第二记录中针对业务场景a的版本号12为第二版本号,则得到业务场景a关于第一版本号13与第二版本号12不匹配的第二比较结果。当前业务场景为业务场景b时,第一记录中针对业务场景b的版本号23为第一版本号,第二记录中针对业务场景b的版本号0为第二版本号,则得到业务场景b关于第一版本号23与第二版本号0不匹配的第二比较结果。那么,第一比较结果={业务场景a的第二比较结果,业务场景b的第二比较结果}。
206.基于第一比较结果,确定在业务场景a中需要进行同步的用户数据的版本号大于12且小于等于13,在业务场景b中需要进行同步的用户数据的版本号大于0且小于等于23。由此,便确定在线数据,即第二目标数据至少包括:业务场景a中版本号为13的用户数据a3;业务场景b中版本号分别为21、22、23的用户数据b1、b2、b3。
207.在确定离线数据和在线数据之后,便继续通过克隆组件clone的调用,发起克隆流程,如图14d所示,即将业务场景a中的用户数据a3、a4、以及业务场景b中的用户数据b1、b2、b3,由未登录状态账户同步至登录状态账户。在一种可能的实施方式,同步指的是物理拷贝,即将离线的用户数据a4从未登录用户数据库拷贝至登录用户数据库;在一种可能的实施方式,同步指的是异步拉取,如图14a所示,即在不存在断点续传且版本号匹配的前提下,
从云端获取用户数据a3、b1、b2、b3,并将该些用户数据存储至登录用户数据库。
208.由此,即完成未登录账户与登录账户之间的用户数据的同步。
209.进一步地,在网络信号好时,通过上传组件sync的调用,客户端也将与云端进行针对登录账户对应的至少一个用户数据的同步。
210.如图14b所示,假设请求同步的用户数据至少包括:业务场景a中的用户数据a4。对应地,本地存储的用户数据的版本号为13。
211.第一种情况是,针对业务场景a,假设云端存储的用户数据的版本号为13,表示云端存储的用户数据未更新,如果云端存储的版本号为13的用户数据和本地存储的版本号为13的用户数据均为a3,则将用户数据a4上传至云端进行存储,完成客户端与云端针对登录账户关于用户数据a4的同步。对应地,为用户数据a4分配版本号14,进而使得本地和云端存储的用户数据的版本号均更新至14。
212.第二种情况是,针对业务场景a,假设云端存储的用户数据的版本号为13,表示云端存储的用户数据未更新,如果云端存储的版本号为13的用户数据和本地存储的版本号为13的用户数据不一致,则首先将本地存储的版本号为13的用户数据替换为云端存储的版本号为13的用户数据,然后将用户数据a4上传至云端进行存储,完成客户端与云端针对登录账户关于用户数据a4的同步。对应地,为用户数据a4分配版本号14,进而使得本地和云端存储的用户数据的版本号均更新至14。
213.第三种情况是,针对业务场景a,假设云端存储的用户数据的版本号为15(其中,版本号14分配给用户数据a5’,版本号15分配给用户数据a6’),表示云端存储的用户数据发生了更新(例如,用户在其余客户端使用同一个登录账户进行了相关写操作),但本地存储的用户数据未更新,则如图14a所示,首先通过拉取组件pull的调用,异步拉取云端存储的用户数据,直至本地存储的用户数据的版本号从13更新为15,即将用户数据a5’和用户数据a6’存储至本地,然后将用户数据a4上传至云端进行存储,完成客户端与云端针对登录账户关于用户数据a4的同步。对应地,为用户数据a4分配版本号16,进而使得本地和云端存储的用户数据的版本号均更新至16。
214.由此,即实现了未登录账户与登录账户之间用户数据的同步、以及本地与云端之间用户数据的同步。
215.在本应用场景中,就地图客户端而言,各账户各业务场景中的用户数据得以完整地存储于云端,不仅能够全面地监控数据交互,以及时地发现问题,而且为更精准地提供偏好、推荐等地图业务提供更全面的数据支撑;此外,从研发收益角度出发,人力成本节省50%,版本迭代速度提高30%,并且随着越来越多不同的业务场景接入上述数据处理系统架构,收益提升率越发明显。
216.下述为本技术装置实施例,可以用于执行本技术所涉及的数据处理方法。对于本技术装置实施例中未披露的细节,请参照本技术所涉及的数据处理方法的方法实施例。
217.请参阅图15,本技术实施例中提供了一种数据处理装置900,包括但不限于:版本信息检测模块910、第一目标数据获取模块930、第二目标数据获取模块950以及数据同步模块970。
218.其中,版本信息检测模块910,用于在进行第一状态账户与第二状态账户切换时,检测所述第一状态账户对应的至少一个用户数据的版本信息。
219.第一目标数据获取模块930,用于获取所述第一状态账户对应的第一用户数据作为第一目标数据,所述第一用户数据为不存在版本信息的用户数据。
220.第二目标数据获取模块950,用于基于所述第一状态账户对应的第二用户数据构建第一记录,并根据所述第一记录从所述第二用户数据中获取第二目标数据,所述第二用户数据为存在版本信息的用户数据。
221.数据同步模块970,用于根据所述第一目标数据和所述第二目标数据,进行所述第一状态账户与所述第二状态账户之间的用户数据同步。
222.在一种可能的实施方式,版本信息至少包括版本号;装置900通过功能模块用于实现以下步骤:与云端进行针对第一状态账户对应的至少一个用户数据的同步;接收云端返回的关于已同步用户数据的版本号。
223.在一种可能的实施方式,装置900通过功能模块用于实现以下步骤:获取第一状态账户的账户标识;以及获取第一状态账户对应的至少一个用户数据的最大版本号;根据第一状态账户的账户标识和最大版本号,生成第一记录。
224.在一种可能的实施方式,装置900通过功能模块用于实现以下步骤:获取用户是否同意上传用户数据至云端的第一标记;和/或获取用户数据是否已同步至第二状态账户的第二标记;将第一标记和/或第二标记,添加至第一记录。
225.在一种可能的实施方式,装置900通过功能模块用于实现以下步骤:获取存储于第二状态账户的第二记录;比较第一记录与第二记录中的版本信息,得到第一比较结果;基于第一比较结果,从第二用户数据中获取第二目标数据。
226.在一种可能的实施方式,装置900通过功能模块用于实现以下步骤:基于第一记录和第二记录中的版本信息,对第一状态账户各业务场景进行遍历,并根据针对第一状态账户各业务场景的遍历分别得到的第二比较结果生成第一比较结果,其中,遍历的方式包括:以遍历到的业务场景作为当前业务场景;比较第一记录与第二记录中针对当前业务场景的版本信息,得到当前业务场景的第二比较结果。
227.在一种可能的实施方式,装置900通过功能模块用于实现以下步骤:在第一记录中,确定当前业务场景中第二用户数据的版本号,作为第一版本号;以及在第二记录中,确定当前业务场景中第二用户数据的版本号,作为第二版本号;比较第一版本号与第二版本号是否匹配,得到当前业务场景的第二比较结果。
228.在一种可能的实施方式,装置900通过功能模块用于实现以下步骤:比较第一记录中的第一标记与第二记录中的第一标记是否一致;如果不一致,则显示弹窗消息,以在接收到针对弹窗消息的确认操作时,将第一目标数据和第二目标数据从第一状态账户同步至第二状态账户;其中,弹窗消息用于提示用户是否同意上传用户数据至云端。
229.在一种可能的实施方式,装置900通过功能模块用于实现以下步骤:比较第一记录与第二记录中的第二标记是否一致,以在第一记录与第二记录中的第二标记不一致时,将第一目标数据和第二目标数据从第一状态账户同步至第二状态账户。
230.在一种可能的实施方式,装置900通过功能模块用于实现以下步骤:与云端进行针对第二状态账户对应的至少一个用户数据的同步。
231.在一种可能的实施方式,装置900通过功能模块用于实现以下步骤:对第二状态账户中各业务场景进行遍历,遍历的方式包括:以遍历到的业务场景作为当前业务场景;基于
当前业务场景,比较本地存储的用户数据与云端存储的用户数据的版本信息是否匹配;如果不匹配,则从云端拉取当前业务场景中使得版本信息匹配的用户数据。
232.在一种可能的实施方式,装置900通过功能模块用于实现以下步骤:当检测到当前业务场景存在需要续传的用户数据,获取断点续传信息;根据断点续传信息,确定需要续传的用户数据的版本信息;比较需要续传的用户数据与云端存储的用户数据的版本信息是否匹配;如果不匹配,则从云端拉取当前业务场景中需要续传的用户数据,直至需要续传的用户数据的版本信息与云端存储的用户数据的版本信息匹配。
233.在一种可能的实施方式,装置900通过功能模块用于实现以下步骤:如果本地存储的用户数据与云端存储的用户数据的版本信息匹配,则检测本地存储的用户数据与云端存储的用户数据是否一致;如果不一致,则针对当前业务场景,由云端存储的用户数据替换本地存储的用户数据。
234.需要说明的是,上述实施例所提供的数据处理装置在进行数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即数据处理装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
235.另外,上述实施例所提供的数据处理装置与数据处理方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
236.由此,随着第一状态账户各业务场景中的用户数据同步至第二状态账户,使得此部分用户数据与第二状态账户密切关联,即用户进入第二状态账户便能够相应地获得此部分用户数据,并不会因用户卸载客户端而丢失,也不会受用户更换终端的影响,进而有利于为提供偏好、推荐等地图业务提供数据支撑,从而能够有效地解决相关技术中未登录账户中的数据利用率较低的问题。
237.请参阅图16,图16是根据一示例性实施例示出的一种终端的结构示意图。该终端适用于图1所示出实施环境中的终端100。
238.需要说明的是,该终端只是一个适配于本技术的示例,不能认为是提供了对本技术的使用范围的任何限制。该终端也不能解释为需要依赖于或者必须具有图16中示出的示例性的终端1100中的一个或者多个组件。
239.如图16所示,终端1100包括存储器101、存储控制器103、一个或多个(图16中仅示出一个)处理器105、外设接口107、射频模块109、定位模块111、摄像模块113、音频模块115、触控屏幕117以及按键模块119。这些组件通过一条或多条通讯总线/信号线121相互通讯。
240.其中,存储器101可用于存储计算机程序以及模块,如本技术示例性实施例中的数据处理方法及装置对应的计算机程序及模块,处理器105通过运行存储在存储器101内的计算机程序,从而执行各种功能以及数据处理,即完成数据处理方法。
241.存储器101作为资源存储的载体,可以是随机存储器、例如高速随机存储器、非易失性存储器,如一个或多个磁性存储装置、闪存、或者其它固态存储器。存储方式可以是短暂存储或者永久存储。
242.外设接口107可以包括至少一有线或无线网络接口、至少一串并联转换接口、至少一输入输出接口以及至少一usb接口等,用于将外部各种输入/输出装置耦合至存储器101
以及处理器105,以实现与外部各种输入/输出装置的通信。
243.射频模块109用于收发电磁波,实现电磁波与电信号的相互转换,从而通过通讯网络与其他设备进行通讯。通信网络包括蜂窝式电话网、无线局域网或者城域网,上述通信网络可以使用各种通信标准、协议及技术。
244.定位模块111用于获取终端1100的当前所在的地理位置。定位模块111的实例包括但不限于全球卫星定位系统(gps)、基于无线局域网或者移动通信网的定位技术。
245.摄像模块113隶属于摄像头,用于拍摄图片或者视频。拍摄的图片或者视频可以存储至存储器101内,还可以通过射频模块109发送至上位机。
246.音频模块115向用户提供音频接口,其可包括一个或多个麦克风接口、一个或多个扬声器接口以及一个或多个耳机接口。通过音频接口与其它设备进行音频数据的交互。音频数据可以存储至存储器101内,还可以通过射频模块109发送。
247.触控屏幕117在终端1100与用户之间提供一个输入输出界面。具体地,用户可通过触控屏幕117进行输入操作,例如点击、触摸、滑动等手势操作,以使终端1100对该输入操作进行响应。终端1100则将文字、图片或者视频任意一种形式或者组合所形成的输出内容通过触控屏幕117向用户显示输出。
248.按键模块119包括至少一个按键,用以提供用户向终端1100进行输入的接口,用户可以通过按下不同的按键使终端1100执行不同的功能。例如,声音调节按键可供用户实现对终端1100播放的声音音量的调节。
249.可以理解,图16所示的结构仅为示意,终端1100还可包括比图16中所示更多或更少的组件,或者具有与图16所示不同的组件。图16中所示的各组件可以采用硬件、软件或者其组合来实现。
250.请参阅图17,本技术实施例中提供了一种终端4000,该终端400可以包括:台式电脑、笔记本电脑、平板电脑、智能手机、智能语音交互设备、智能家电、车载终端等等。
251.在图17中,该终端4000包括至少一个处理器4001、至少一条通信总线4002以及至少一个存储器4003。
252.其中,处理器4001和存储器4003相连,如通过通信总线4002相连。可选地,终端4000还可以包括收发器4004,收发器4004可以用于该终端与其他终端之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该终端4000的结构并不构成对本技术实施例的限定。
253.处理器4001可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
254.通信总线4002可包括一通路,在上述组件之间传送信息。通信总线4002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。通信总线4002可以分为地
址总线、数据总线、控制总线等。为便于表示,图17中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
255.存储器4003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
256.存储器4003上存储有计算机程序,处理器4001通过通信总线4002读取存储器4003中存储的计算机程序。
257.该计算机程序被处理器4001执行时实现上述各实施例中的数据处理方法。
258.由此,在不阻碍用户使用的情况下,即用户操作用户数据时,无需感知此用户数据的变化对于客户端的影响,客户端各账户各业务场景中的用户数据便能够完整地存储在云端,不仅能够全面地监控数据交互,以及时地发现问题,而且能够为更精准地提供偏好、推荐等地图业务提供更加全面的数据支撑,以此来充分地提高第一状态账户中用户数据的利用率。
259.此外,本技术实施例中提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的数据处理方法。
260.本技术实施例中提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在存储介质中。计算机设备的处理器从存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述各实施例中的数据处理方法。
261.与相关技术相比,用户进入第二状态账户,便能够相应地获得第一状态账户各业务场景中的用户数据,并不会因用户卸载客户端而丢失,也不会受用户更换终端的影响,进而有利于为提供偏好、推荐等地图业务提供数据支撑,从而能够有效地解决相关技术中未登录账户中数据利用率较低的问题。
262.此外,一方面,数据同步结合在线的第二目标数据和离线的第一目标数据,避免受限于网络而导致数据同步出现延迟、丢失率高等问题,实现无损数据交互,以此来充分地保障用户操作的流畅性;另一方面,通过为第一状态账户各业务场景中的用户数据引入第一记录,使得各业务场景不再需要单独进行数据同步,避免了受限于业务场景所导致的开发成本过高、开发复杂度过大等问题,进而有利于提高不同账户之间的数据迁移能力。
263.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
264.以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人
员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献