数据处理方法、装置、电子设备及存储介质
技术领域
本公开涉及互联网
技术领域
,尤其涉及一种数据处理方法、装置、电子设备及存储介质。背景技术
目前,随着互联网的快速发展,用户在使用互联网产品时,均需要通过登录自己在该互联网产品中的账户来实现数据的处理,这就导致用户使用多个互联网产品时,需一一登录用户在每个互联网产品中的账号,由此,不仅繁琐、复杂,而且浪费时间,用户使用体验感差。
因此,如何方便用户使用互联网产品,是当前研究的关键。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本公开的第一个目的在于提出一种数据处理方法,不仅方便了用户使用产品,节省了用户的时间,而且提高了数据处理的可靠性,从而改善了用户的使用体验。
本公开的第二个目的在于提出一种数据处理装置。
本公开的第三个目的在于提出一种电子设备。
本公开的第四个目的在于提出一种计算机可读存储介质。
本公开的第五个目的在于提出一种计算机程序产品。
为达上述目的,本公开第一方面实施例提出了一种数据处理方法,包括:获取第一应用发送的数据同步请求,其中,所述数据同步请求中包括用户在第一应用中的第一帐号及待同步的数据;遍历账号关联列表,以确定第二应用中是否包含与所述第一账号关联的第二账号;在所述账号关联列表中包含第二帐号的情况下,基于所述待同步的数据,对所述第二账号在所述第二应用中的数据进行同步。
另外,根据本公开上述实施例的数据处理方法还可以具有如下附加的技术特征:
根据本公开的一个实施例,所述数据同步请求为数据上传请求,所述基于所述待同步的数据,对所述第二账号在所述第二应用中的数据进行同步,包括:确定所述第二应用对应的数据类型;在所述待同步的数据的类型与所述第二应用对应的数据类型匹配的情况下,将所述待同步的数据与所述第二账号进行关联。
根据本公开的一个实施例,所述数据同步请求,为数据删除请求,所述基于所述待同步的数据,对所述第二账号在所述第二应用中的数据进行同步,包括:基于所述待同步的数据,遍历所述第二账号在第二应用中的关联数据集;在所述关联数据集中包含所述待同步的数据的情况下,将所述待同步的数据从所述关联数据集中删除。
根据本公开的一个实施例,所述遍历账号关联列表,以确定第二应用中是否包含与所述第一帐号关联的第二帐号,包括:遍历缓存区中已存储的帐号关联列表,以确定第二应用中是否包含与所述第一帐号关联的第二帐号。
根据本公开的一个实施例,所述数据处理方法,还包括:以预设的频率,将所述缓存区中的帐号关联列表与数据库中的帐号关联列表进行同步。
根据本公开的一个实施例,所述数据处理方法,还包括:获取帐号处理请求,其中,所述账号处理请求为绑定请求,或者解绑请求,所述账号处理请求中包括第一帐号及第二帐号;根据所述账号处理请求,在所述数据库中的账号关联列表中将所述第一账号与第二账号进行关联存储,或者,删除所述数据库中的账号关联列表中关联存储的第一账号与第二账号。
根据本公开的一个实施例,所述数据处理方法,还包括:监听所述数据库的日志文件;在监听到所述日志文件中包含更新信息的情况下,将所述更新信息中的关联账号的更新状态同步至所述缓存区。
根据本公开的一个实施例,在所述遍历账号关联列表,以确定第二应用中是否包含与所述第一账号关联的第二账号之后,还包括:在在所述账号关联列表中未包含所述第二帐号的情况下,向第一应用发送用户信息获取请求;获取所述第一应用返回的第一帐号对应的用户信息;查询所述第二应用对应的用户信息库,以获取所述第二应用中与所述用户信息对应的第二帐号;在所述账号关联列表中,将所述第一帐号及所述第二帐号进行关联。
为达上述目的,本公开第二方面实施例提出了一种数据处理装置,包括:第一获取模块,被配置为执行获取第一应用发送的数据同步请求,其中,所述数据同步请求中包括用户在第一应用中的第一帐号及待同步的数据;第一确定模块,被配置为执行遍历账号关联列表,以确定第二应用中是否包含与所述第一账号关联的第二账号;同步模块,被配置为执行在所述账号关联列表中包含第二帐号的情况下,基于所述待同步的数据,对所述第二账号在所述第二应用中的数据进行同步。
另外,根据本公开上述实施例的数据处理装置还可以具有如下附加的技术特征:
根据本公开的一个实施例,所述数据同步请求为数据上传请求,所述同步模块,具体被配置为执行:确定所述第二应用对应的数据类型;在所述待同步的数据的类型与所述第二应用对应的数据类型匹配的情况下,将所述待同步的数据与所述第二账号进行关联。
根据本公开的一个实施例,所述数据同步请求为数据删除请求,所述同步模块,具体被配置为执行:基于所述待同步的数据,遍历所述第二账号在第二应用中的关联数据集;在所述关联数据集中包含所述待同步的数据的情况下,将所述待同步的数据从所述关联数据集中删除。
根据本公开的一个实施例,所述第一确定模块,具体被配置为:遍历缓存区中已存储的用户帐号对,以确定第二应用中是否包含与所述第一帐号关联的第二帐号。
根据本公开的一个实施例,所述同步模块,还具体被配置为执行:以预设的频率,将所述缓存区中的帐号关联列表与数据库中的帐号关联列表进行同步。
根据本公开的一个实施例,还包括:
第二获取模块,被配置为执行获取帐号处理请求,其中,所述处理请求为绑定请求,或者解绑请求,所述处理请求中包括第一帐号及第二帐号;
第一更新模块,被配置为执行根据所述账号处理请求,在所述数据库中的账号关联列表中将所述第一账号与第二账号进行关联存储,或者,删除所述数据库中的账号关联列表中关联存储的第一账号与第二账号。
根据本公开的一个实施例,还包括:
第一监听模块,被配置为执行监听所述数据库的日志文件;
第二更新模块,被配置为执行在监听到所述日志文件中包含更新信息的情况下,将所述更新信息中的关联账号的更新状态同步至所述缓存区。
根据本公开的一个实施例,还包括:
第一发送模块,被配置为执行在所述账号关联列表中未包含所述第二帐号的情况下,向第一应用发送用户信息获取请求;
第三获取模块,被配置为执行获取所述第一应用返回的第一帐号对应的用户信息;
第二确定模块,被配置为执行查询所述第二应用对应的用户信息库,以获取所述第二应用中与所述用户信息对应的第二账号;
第一关联模块,被配置为执行在所述账号关联列表中,将所述第一帐号及所述第二帐号进行关联。
为达上述目的,本公开第三方面实施例提出了一种电子设备,包括:处理器;用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为调用并执行所述存储器存储的可执行指令,以实现本公开第一方面实施例提出的数据处理方法。
为达上述目的,本公开第四方面实施例提出了一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开第一方面实施例提出的数据处理方法。
为达上述目的,本公开第五方面实施例提出了一种计算机程序产品,该计算机程序由电子设备的处理器执行时,使得电子设备能够执行本公开第一方面实施例提出的数据处理方法。
本公开实施例的技术方案,获取第一应用发送的数据同步请求,其中,所述数据同步请求中包括用户在第一应用中的第一帐号及待同步的数据;遍历账号关联列表,以确定第二应用中是否包含与所述第一账号关联的第二账号;在所述账号关联列表中包含第二帐号的情况下,基于所述待同步的数据,对所述第二账号在所述第二应用中的数据进行同步。由此,在两个账号关联的基础上,可以根据数据同步请求中待同步的数据,对第二账号在第二应用中的数据进行同步,不仅方便了用户使用产品,节省了用户的时间,而且提高了数据处理的可靠性,从而改善了用户的使用体验。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
图1是根据本公开实施例的数据处理方法的流程图;
图2是根据本公开一个实施例的更新数据库中的账号关联列表的流程图;
图3是根据本公开一个实施例的更新缓存区中的账号关联列表的流程图;
图4是根据本公开一个示例的数据处理方法的流程图;
图5是根据本公开一个示例的用户账号绑定的示意图;
图6是根据本公开实施例的数据处理装置的结构框图;
图7是根据本公开实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
本公开主要考虑到目前用户使用互联网产品时,不论在何种情况下,均需要登录用户在互联网产品中的账号来进行相应操作,增加了用户使用产品的复杂性、用户使用体验差的问题,而提出了一种数据处理方法、装置、电子设备及存储介质。
本公开提出的数据处理方法,在两个账号关联的基础上,根据数据同步请求中的待同步的数据,对第二账号在第二应用中的数据进行同步,不仅方便了用户使用产品,节省了用户的时间,而且提高了数据处理的可靠性,从而改善了用户的使用体验。
下面参考附图描述本公开实施例的数据处理方法、装置、电子设备及存储介质。
图1是根据本公开实施例的数据处理方法的流程图,执行主体可以为电子设备,具体的,电子设备可以是但不限于计算机、移动终端,移动终端可以是但不限于个人电脑、智能手机、IPAD等。
需要说明的是,本公开实施例通过用户在一应用(以下称为第一应用)中的账号,对另一应用(以下称为第二应用)中的,与该账号关联的账号下的数据进行处理,其中,将用户在第一应用中的账号称为第一账号,且该账号是唯一的,将用户在第二应用中的与第一账号关联的账号称为第二账号,且该账户也是唯一的。
如图1所示,该数据处理方法包括以下步骤S101至S103。
S101,获取第一应用发送的数据同步请求,其中,数据同步请求中包括用户在第一应用中的第一帐号及待同步的数据。
其中,用户可通过与第一应用对应的第一客户端触发第一应用动作,即发送数据同步请求。数据同步请求中的待同步的数据可以是第一应用根据用户的需求生成的数据,用于指示对用户在第二应用中的第二账号所属的数据(也可称为关联数据)进行何种处理。
具体地,第一应用可将数据同步请求发送给第二应用,进而第二应用获取到第一应用发送的数据同步请求,即可获取到用户在第一应用中的第一账号及待同步的数据。
S102,遍历账号关联列表,以确定第二应用中是否包含与第一账号关联的第二账号。
需要说明的是,本公开实施例可以提前建立好账号关联列表,即可以在数据库层面建立用户在第一应用中的第一账号与用户在第二应用中的第二账号的唯一索引,以保证该第一账号和第二账号是一一对应绑定的。
具体地,第二应用在获取到用户在第一应用中的第一账号及待同步的数据之后,可遍历查询账号关联列表,以确定第二应用中是否存在与第一账号关联的第二账号。
S103,在账号关联列表中包含第二帐号的情况下,基于待同步的数据,对第二账号在第二应用中的数据进行同步。
具体地,在确定出账号关联列表中包含第二账号的情况下,可以将该待同步的数据,同步至第二账号在第二应用的数据中。根据上述步骤S101至S103,用户需要通过第一应用对第二应用进行数据处理时,可通过第一应用中的第一账号,在第一应用对应的第一客户端进行相应的操作,进而第一应用根据用户的指示生成数据同步请求,其中,数据同步请求中携带第一账号和待同步的数据,并将该数据同步请求发送给第二应用,第二应用接收到该数据同步请求后,即可遍历查询账号关联列表,以确定第二应用中是否包含与第一账号关联(绑定)的第二账号,若账号关联列表中包含与第一账号关联的第二账号,则可以基于待同步的数据,对第二账号在第二应用中的数据进行同步。
也就是说,在第二账号与第一账号关联的情况下,用户通过第一应用中的第一账号,在第一应用对应的第一客户端进行相应的操作,即可对第二应用中的第二账号的数据进行相应处理,以满足用户的使用需求。具体来说,在第一应用中的账号与第二应用中的账号关联(绑定)的情况下,当用户需要对第二账号关联的数据进行数据同步处理时,用户可触发第一应用发送数据同步请求给第二应用,第二应用获取到数据同步请求中的第一账号及待同步数据之后,通过遍历查询账号关联列表,以确定第二应用中是否包含与第一账号关联的第二账号。之后,在账号关联列表中包含第二账号的情况下,即可基于待同步的数据,对第二账号在第二应用中的数据进行同步处理,从而无需通过第二应用对应的第二客户端,即用户无需登录在第二应用中的账号,即可在第二应用中实现相应的操作。
例如,当用户需要通过第一应用,在第二应用中发布作品(视频、照片或者文字)时,用户可触发第一应用发送数据同步请求给第二应用,该数据同步请求包括第一账号及待同步的数据,其中,数据同步请求即为发布作品,待同步的数据即为作品,第二应用获取到第一账号及待同步的数据(作品)之后。可以在账号关联列表中进行查询,当在账号关联列表中查找到第二账号时,第二应用即可接收发布作品这个数据同步请求,并将该数据同步请求中的作品发布于第二账号下。
除此之外,基于第一应用中的第一账号与第二应用中的第二账号的绑定关系,在第二账号与第一账号关联的情况下,用户还可以在第二应用获取第一应用中的相关信息,以方便用户在第一应用中的操作。
例如,用户在第二应用中抢到的优惠券、且该优惠券属于第一应用的情况下,当用户在第一应用使用该优惠券时,为了避免误使用,需要判断该优惠券是否属于用户在第一应用中的第一账号。于是,用户可触发第二应用发送数据同步请求给第一应用,该数据同步请求包括第二账号及待同步的数据,其中,数据同步请求可以为指示第一应用判断优惠券是否属于第一账号,待同步的数据可以是优惠券,第一应用获取到第二账号及待同步数据之后,在账号关联列表中进行查询,当该账号关联列表中包含与与第二账号关联的第一账号,可以判断优惠券是否属于第一账号。
本公开实施例的数据处理方法,在第一账号与第二账号关联的情况下,可以根据数据同步请求中的待同步的数据,对第二账号在第二应用中的数据进行同步,不仅方便了用户使用产品,节省了用户的时间,而且提高了数据处理的可靠性,从而改善了用户的使用体验。
上述步骤S103中,在基于待同步的数据,对第二账号在第二应用中的数据进行同步时,可根据二者对应的数据类型确定,也可根据数据处理请求的类型确定
即在本公开的一个实施例中,若数据同步请求为数据上传请求,上述步骤S103中的基于待同步的数据,对第二账号在第二应用中的数据进行同步,包括:确定第二应用对应的数据类型,在待同步的数据的类型与第二应用对应的数据类型匹配的情况下,将待同步的数据与第二账号进行关联。
具体而言,在数据同步请求的类型为数据上传请求时,可以先确定第二应用对应的数据类型,之后判断待同步的数据的类型是否与第二账号所在的第二应用对应的数据类型匹配,如果待同步的数据的类型与第二账号所在的第二应用中的数据类型匹配,则可以将待同步的数据与第二账号关联。可以理解,第二应用在接收数据同步请求之后,可将待同步的数据上传至第二应用中的第二账号下。
即在本公开的一个实施例中,若数据同步请求为数据删除请求,上述步骤S103中的基于待同步的数据,对第二账号在第二应用中的数据进行同步,包括:基于待同步的数据,遍历第二账号在第二应用中的关联数据集;在关联数据集中包含待同步的数据的情况下,将待同步的数据从关联数据集中删除。
具体地,在数据同步请求的类型为数据删除请求时,第二应用可以判断待同步的数据在第二应用中是否属于第二账号,即可以基于待同步的数据,遍历第二账号在第二应用中的关联数据集,如果关联数据集中包含待同步的数据时,即待同步的数据在第二应用中属于第二账号,则可以将待同步的数据从关联数据集中删除。可以理解,第二应用在接收数据同步请求之后,可将第二应用中的第二账号下的待同步的数据删除。
例如,数据同步请求为“上传图片A”,即为数据上传请求,待同步的数据的类型为“图片”,如果第二应用判断出待同步的数据的类型与第二账号所在的第二应用中的数据类型匹配,即第二应用中的数据类型包含了“图片”这个数据类型,那么可将图片A上传至第二应用。
再例如,数据同步请求为“删除图片B”,即为数据删除请求,之后,可以基于待同步的数据,遍历第二账号在第二应用中的关联数据集,如果第二应用判断出关联数据集中包含待同步的“图片B”,即“图片B”在第二应用中属于第二账号,那么可将图片B从关联数据集中删除,也即将图片B从第二应用中的第二账号下删除。
由此,根据数据同步请求的类型、待同步数据的类型以及第二账号所属的数据类型,确定待同步的数据与第二账号的关系,进一步提高了关系确定的有效性和可靠性,从而进一步提高了数据处理的可靠性。
可以理解的是,第一应用中的用户账号通常有多个,该多个用户账号分别一一对应第二应用中的用户账号,从而组成多个一一对应的关联账号,进而构成账号关联列表。需要说明的是,数据库中存储全部的用户账号,包括所有关联的用户账号和未关联的用户账号,可以理解的是,关联的用户账号也即账号关联列表全部存储在数据库中,此种情况下,在获取与第一账号关联的第二账号时,需在数据库中查询与第一账号关联的第二账号。
然而,在实际使用中,需要先查询用户在第一应用中的第一账号是否关联了用户在第二应用中的第二账号,或者,用户在第二应用中的第二账号是否关联了用户在第一应用中的第一账号,而数据库不足以承受查询时的调用量,因此本公开实施例中可将已经关联了的用户账号也即账号关联列表缓存在缓存区中,进而可在缓存区中查询是否存在于第一账号关联的第二账号。
即在本公开的一个实施例中,上述步骤S102中的遍历账号关联列表,以确定第二应用中是否包含与所述第一帐号关联的第二帐号,可包括:查询缓存区中已存储的账号关联列表,以确定第二应用中是否包含与与第一帐号关联的第二帐号。
具体地,由于缓存区中存储了帐号关联列表,进而第二应用在获取到第一账号之后,即可查询缓存区中已存储的账号关联列表,如果在账号关联列表中查询到第一账号对应的用户账号,那么获取该账号关联列表中的第二账号,如此即可获取到与第一账号关联的第二账号。
在账号关联列表部分存储在缓存区中的情况下,如果在缓存区中没有查询到第一账号对应的关联账号,则需要查询数据库中存储的账号关联列表,如果在数据库中查询到第一账号对应的关联账号,则可将该关联账号存储入缓存区中,以供需要时调用;如果在数据库中未查询到第一账号对应的关联账号,则可将空的关联关系写入缓存区,以防止缓存穿透。
在账号关联列表全部存储在缓存区中的情况下,如果在缓存区中没有查询到第一账号对应的关联账号,那么第二应用可从第一应用中获取第一账号对应的用户信息,并根据该用户信息查询数据库以确定用户在第二应用中的第二账号,之后,将第一账号和第二账号形成关联账号,可将该关联账号存储在缓存区中,以供需要时调用。
如上所述,账号关联列表可部分存储在缓存区中,也可全部缓存在缓存区中。部分存储时,会使缓存区中存在大量空的关联关系(绑定关系),导致缓存区中存在大量无用数据,而将账号关联列表全部存储在缓存区中时,便避免了大量无用数据。因此,本公开实施例将账号关联列表全部存储在缓存区中,为了将全部账号关联列表存储在缓存区中,可实时将缓存区中的账号关联列表与数据库中的账号关联列表进行同步,也可以以一定时间间隔为周期,周期性的将缓存区中的账号关联列表与数据库中的账号关联列表进行同步,还可以以预设的频率,将缓存区中的帐号关联列标与数据库中的帐号关联列表进行同步。
即在本公开的一个示例中,数据处理方法还可包括:以预设的频率,将缓存区中的帐号关联列表与数据库中的帐号关联列表进行同步。
其中,预设的频率可根据数据库的一般更新频率确定,例如可以是10Hz(赫兹)。
例如,预设的频率为10Hz时,每1秒内进行10次同步动作,即将缓存区中的帐号关联列表与数据库中的帐号关联列表进行同步,从而保证数据库中的用户关联账号及账号关联列表全部存入缓存区中。
由此,将数据库中的账号关联列表全部存入缓存区中,且保持缓存区中的账号关联列表与数据库中的账号关联列表同步,可以保证缓存区中账号关联列表的准确性和完整性,并且不会存在大量的无用数据,也不会产生多次回源数据库导致的缓存穿透,提高查询效率。
也就是说,数据库中的账号关联列表与缓存区中的账号关联列表同步更新,例如,在数据库中增加用户账号时,便将增加的用户账号及其关联账号存入缓存区中。其中,用户在客户端的触发动作可以启动数据库中的账号关联列表的更新程序。
即如图2所示,本公开一个示例提供的数据处理方法,还可包括以下步骤S201和S202,以对数据库中的账号关联列表进行更新。
S201,获取帐号处理请求,其中,处理请求为绑定请求,或者解绑请求,账号处理请求中包括第一帐号及第二帐号。
其中,账号处理请求可以是根据用户在客户端的请求动作生成的。例如,用户在客户端点击用户账号旁边的“绑定”或者“解绑”按钮,第一应用即生成该账号的处理请求,并可将该账号处理请求发送给第二应用。
S202,根据账号处理请求,在数据库中的账号关联列表中将第一账号与第二账号进行关联存储,或者,删除数据库中的账号关联列表中关联存储的第一账号与第二账号。
具体地,第二应用获取到账号绑定请求后,根据账号绑定请求将用户在第一应用中的第一账号与第二应用中的第二账号绑定,使得第一账号和第二账号关联,即在数据库中的账号关联列表中将该第一账号与第二账号进行关联存储;或者,第二应用获取到账号解绑请求之后,根据账号解绑请求将用户在第一应用中的第一账号与第二应用中的第二账号解绑,使得第一账号和第二账号未关联,即在数据库中的账号关联列表中删除该关联存储的第一账号与第二账号,从而实现数据库中的账号关联列表的更新。
由此,根据账号处理请求进行两个账号的绑定和解绑,实现账号关联列表的更新,进一步保证了数据库中账号关联列表中各关联账号之间的准确性,避免更新不准确而影响用户的操作。
需要说明的是,在数据库中的账号关联列表更新之后,为了保证数据库中的账号关联列表和缓存区中的账号关联列表保持同步,需更新缓存区中的账号关联列表,即如图3所示,在更新数据库中的账号关联列表之后,还可包括以下步骤S301和S302:
S301,监听数据库的日志文件。
其中,数据库的日志文件可以记录数据库中账号关联列表中的各关联存储的第一账号和第二账号的更新情况,即绑定或者解绑。在实际使用时,可通过监听程序监听数据库的日志文件,以实时监听数据库中的账号关联列表中的各关联账号的更新。
S302,在监听到日志文件中包含更新信息的情况下,将更新信息中的关联账号的更新状态同步至缓存区。
根据监听到的更新日志信息,如果有新的账号绑定或者解绑时,及时更新缓存区账号关联列表,以保持数据库中的账号关联列表和缓存区中的账号关联列表同步。由此,在数据库中的账号关联列表更新时,对应的更新缓存区中的账号关联列表,保证了缓存区中各关联账号关联的准确性和可靠性,避免数据库和缓存区中的关联账号不同步而影响用户操作的现象。
上述步骤S103,描述了本公开实施例中在获取到与第一账号关联的第二账号的情况下,第二应用进行何种动作,在本公开的另一实施例中,第二应用还有可能在缓存区中未获取到第二应用中与第一账号关联的第二账号,此时为了方便用户继续操作,无需退出当前程序,而是进行如图4所示的动作。
如图4所示,在本公开的另一实施例中,数据处理方法,还可包括以下步骤S401至S406:
S401,获取第一应用发送的数据同步请求,其中,数据同步请求中包括用户在第一应用中的第一帐号及待同步的数据。
该步骤S401对应上述步骤S101,故在此处不再赘述。
S402,遍历账号关联列表,以确定第二应用中是否包含与第一账号关联的第二账号。
S403,在账号关联列表中未包含与第一帐号关联的第二帐号的情况下,向第一应用发送用户信息获取请求。
其中,用户信息可以包括用户的账号号码、用户的性别、身高、体重和星座等等。
具体地,第二应用在缓存区中未获取到与第一账号关联的第二账号时,向第一应用发送用户信息获取请求,以使第一应用发送第一账号对应的用户信息给第二应用。
S404,获取第一应用返回的第一帐号对应的用户信息。
S405,查询第二应用对应的用户信息库,以获取第二应用中与用户信息对应的第二帐号。
S406,在账号关联列表中,将第一帐号及第二帐号进行关联存储。
具体地,在获取到第一账号对应的用户信息之后,即可根据用户信息查询数据库,以在数据库中查询用户在第二应用中的第二账号,该第二账号与第一账号即为需要绑定的账号,于是将第一账号与第二账号进行关联存储,即绑定,形成账号关联列表。之后,可将该账号关联列表存入缓存区中,以供后续调用。
S407,在获取到与第一帐号关联的第二帐号的情况下,响应于数据同步请求,以基于待同步的数据,对第二帐号关联的数据进行处理,其中,第二帐号为用户在第二应用中的用户帐号。
具体地,在将第一账号与第二账号绑定并将其存入缓存区之后,再次在缓存区中获取第二账号时,即可获取到第二账号,从而响应于数据同步请求,以基于待同步数据对第二账号关联的数据进行同步处理。
由此,在账号关联列表中未获取到与第一账号关联的账号时,可根据用户信息确定第二应用中与第一账号关联的第二账号,从而获取该第二账号,以进行相应的数据处理,从而保证了用户操作的可靠性,避免查询不到关联账号导致用户无法进行相应操作。
为了更清楚地描述本公开实施例的数据处理方法,下面通过图5描述该数据处理方法中的用户账号绑定流程。
如图5所示,给第二应用提供一个绑定接口,并从数据库层面建立用户在第一应用中的id与用户在第二应用中的id的唯一索引,保证用户在第一应用中的id与用户在第二应用中的id是唯一一一对应的,如果绑定多个用户账号的情况会报错,重复绑定会当做成功处理。缓存区中存储全量数据,当有新账号绑定或者解绑时会更新绑定数据库,通过程序实施监听数据库表的binlog(二进制日志),以实时更新缓存区的账号关联列表中各关联账号,同时启动一个定时任务轮询数据库中的账号关联列表,以对缓存区中的绑定关系进行更新,这样可以保证缓存中的数据的准确性,并且不会有大量无用数据,也不会产生缓存穿透(因为此种方法不回源数据库),缓存中读取不到的数据则认为是非绑定状态。
其中,在更新缓存区中的各关联账号时,可以以第一应用中的id为key(关键字)、第二应用中的id为value(值),或者,也可以以第二应用中的id为key、第一应用中的id为value,进行关联账号的绑定或者解绑,从而使得在查询缓存区中的关联账号时,支持正查询和反查询,提高了查询效率。
本公开实施例还提出了一种数据处理装置,图6是根据本公开实施例的数据处理装置的结构框图。
如图6所示,该数据处理装置100包括:第一获取模块110、第一确定模块120和同步模块130。
其中,第一获取模块110,被配置为执行获取第一应用发送的数据同步请求,其中,所述数据同步请求中包括用户在第一应用中的第一帐号及待同步的数据;第一确定模块120,被配置为执行遍历账号关联列表,以确定第二应用中是否包含与所述第一账号关联的第二账号;同步模块130,被配置为执行在所述账号关联列表中包含第二账号的情况下,基于所述待同步的数据,对所述第二账号在所述第二应用中的数据进行同步。
在一个实施例中,所述数据同步请求为数据上传请求,同步模块130,具体被配置为执行确定所述第二应用对应的数据类型,在所述待同步的数据的类型与所述第二应用对应的数据类型匹配的情况下,将所述待同步的数据与所述第二账号进行关联。
在一个实施例中,所述数据同步请求为数据删除请求,所述同步模块130,可具体被配置为执行:基于所述待同步的数据,遍历所述第二账号在第二应用中的关联数据集;在所述关联数据集中包含所述待同步的数据的情况下,将所述待同步的数据从所述关联数据集中删除。
在一个实施例中,第一确定模块120,具体被配置为执行:遍历缓存区中已存储的帐号关联列表,以确定第二应用中是否包含与所述第一帐号关联的第二帐号。
在一个实施例中,所述同步模块,还具体被配置为执行以预设的频率,将所述缓存区中的帐号关联列表与数据库中的帐号关联列表进行同步。
在一个示例中,数据处理装置100,还可包括:第二获取模块,被配置为执行获取帐号处理请求,其中,处理请求为绑定请求,或者解绑请求,处理请求中包括第一帐号及第二帐号;第一更新模块,被配置为执行根据所述账号处理请求,在所述数据库中的账号关联列表中将所述第一账号与第二账号进行关联存储,或者,删除所述数据库中的账号关联列表中关联存储的第一账号与第二账号。
在一个示例中,数据处理装置100,还可包括:第一监听模块,被配置为执行监听数据库的日志文件;第二更新模块,被配置为执行在监听到所述日志文件中包含更新信息的情况下,将所述更新信息中的关联账号的更新状态同步至所述缓存区。
在一个示例中,数据处理装置100,还可包括:第一发送模块,被配置为执行在所述账号关联列表中未包含所述第二帐号的情况下,向第一应用发送用户信息获取请求;第三获取模块,被配置为执行获取所述第一应用返回的第一帐号对应的用户信息;第二确定模块,被配置为执行查询所述第二应用对应的用户信息库,以获取所述第二应用中与所述用户信息对应的第二账号;第一关联模块,被配置为执行在所述账号关联列表中,将所述第一帐号及所述第二帐号进行关联。
需要说明的是,该数据处理装置的具体实施方式可参见上述数据处理方法的具体实施方式,为避免冗余,此处不再详细赘述。
本公开实施例的数据处理装置,在第一账号与第二账号关联的情况下,可以根据数据同步请求中的待同步的数据,对第二账号在第二应用中的数据进行同步,不仅方便了用户使用产品,节省了用户的时间,而且提高了数据处理的可靠性,从而改善了用户的使用体验。
图7是根据本公开实施例的电子设备的结构框图。
如图7所示,该电子设备200包括:存储器210和处理器220,连接不同组件(包括存储器210和处理器220)的总线230。
其中,存储器210用于存储处理器220的可执行指令;处理器201被配置为调用并执行存储器202存储的可执行指令,以实现本公开上述实施例提出的数据处理方法。
总线230表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备200典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备200访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器210还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)240和/或高速缓存存储器250。电子设备200可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统260可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线230相连。存储器210可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块270的程序/实用工具280,可以存储在例如存储器210中,这样的程序模块270包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块270通常执行本公开所描述的实施例中的功能和/或方法。
电子设备200也可以与一个或多个外部设备290(例如键盘、指向设备、显示器291等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口292进行。并且,电子设备200还可以通过网络适配器293与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器293通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器220通过运行存储在存储器210中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本公开实施例的电子设备的实施过程参见前述对本公开实施例的数据处理的解释说明,此处不再赘述。
本公开实施例的电子设备,在处理器调用并执行存储器存储的可执行指令时,在第一账号与第二账号关联的情况下,可以根据数据同步请求中的待同步的数据,对第二账号在第二应用中的数据进行同步,不仅方便了用户使用产品,节省了用户的时间,而且提高了数据处理的可靠性,从而改善了用户的使用体验。
为了实现上述实施例,本公开实施例还提出了一种计算机可读存储介质,该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前所述的数据处理方法。
为了实现上述实施例,本公开实施例还提供一种计算机程序产品,该计算机程序由电子设备的处理器执行时,使得电子设备能够执行如前所述的数据处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:进程间数据搬移的方法及装置