G06F16/28
1.一种用户关系链存储方法,其特征在于,包括:
接收第一客户端对第二客户端的关系链申请,将所述关系链申请转发至所述第二客户端;
接收所述第二客户端对所述关系链申请的接受信息,锁定所述第一客户端的关系链操作;
构建所述第一客户端和所述第二客户端的用户关系链,将所述用户关系链存储至所述第一客户端所属区域的第一存储节点,以通过所述第一存储节点同步所述用户关系链至系统其余管理区域的第二存储节点。
2.根据权利要求1所述的用户关系链存储方法,其特征在于,所述锁定所述第一客户端的关系链操作,包括:
确定所述第一客户端的第一标识信息;
基于所述第一标识信息锁定所述第一客户端的关系链操作。
3.根据权利要求1所述的用户关系链存储方法,其特征在于,所述构建所述第一客户端和所述第二客户端的用户关系链,包括:
基于所述第一标识信息和所述第二客户端的第二标识信息生成唯一的用户关系链。
4.根据权利要求1所述的用户关系链存储方法,其特征在于,在接收第一客户端对第二客户端的关系链申请之后,还包括:
更新所述第一客户端的关系链状态数据至所述第一存储节点,以记录所述第一客户端的关系链操作状态。
5.根据权利要求1所述的用户关系链存储方法,其特征在于,所述第一存储节点包括缓存服务器和数据库服务器;
所述用户关系链存储方法还包括:
定时将所述数据库服务器与所述缓存服务器进行所述用户关系链比对,基于比对结果更新所述缓存服务器存储的所述用户关系链。
6.根据权利要求1所述的用户关系链存储方法,其特征在于,在锁定所述第一客户端的关系链操作之后,还包括:
在所述用户关系链构建超时或失败时,解锁所述第一客户端的关系链操作。
7.一种用户关系链存储装置,其特征在于,包括:
转发模块,用于接收第一客户端对第二客户端的关系链申请,将所述关系链申请转发至所述第二客户端;
锁定模块,用于接收所述第二客户端对所述关系链申请的接受信息,锁定所述第一客户端的关系链操作;
存储模块,用于构建所述第一客户端和所述第二客户端的用户关系链,将所述用户关系链存储至所述第一客户端所属区域的第一存储节点,以通过所述第一存储节点同步所述用户关系链至系统其余管理区域的第二存储节点。
8.一种用户关系链存储系统,其特征在于,包括:前置服务器、关系链服务器和存储节点,所述前置服务器包括对应第一客户端的第一前置服务器,以及对应第二客户端的第二前置服务器;所述关系链服务器包括对应所述第一客户端所属区域的第一关系链服务器,以及对应所述第二客户端所属区域的第二关系链服务器;所述存储节点包括对应所述第一客户端所属区域的第一存储节点,以及对应系统其余管理区域的第二存储节点;
所述第一前置服务器用于接收第一客户端对第二客户端的关系链申请,选择一个所述第一关系链服务器发送所述关系链申请,并将所述关系链申请转发至所述第二客户端;
所述第一关系链服务器用于根据接收到的所述关系链申请,更新所述第一客户端的关系链状态数据至所述第一存储节点,以记录所述第一客户端的关系链操作状态;
所述第二客户端用于响应接收到的所述关系链申请,通过所述第二前置服务器转发所述关系链申请的接受信息至所述第一关系链服务器,以指示所述第一关系链服务器锁定所述第一客户端的关系链操作;并通过所述第二前置服务器选择一个所述第二关系链服务器转发所述接受信息,以指示对应的所述第二关系链服务器锁定所述第二客户端的关系链操作;
所述第一关系链服务器还用于构建所述第一客户端和所述第二客户端的用户关系链,将所述用户关系链存储至所述第一存储节点,并通过所述第一存储节点同步所述用户关系链至各个所述第二存储节点。
9.一种电子设备,其特征在于,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6任一所述的用户关系链存储方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-6任一所述的用户关系链存储方法。
本申请实施例涉及计算机技术领域,尤其涉及一种用户关系链存储方法、装置、系统、电子设备及存储介质。
目前,在一些直播、内容分享、社交应用平台的应用场景中,需要对用户关注、加好友等操作产生的用户关系链信息进行存储,以实现基于用户关系链的相关功能服务。现有存储用户关系链的方式主要采用多点服务器存储用户关系链,通过增加服务器的部署可以提高系统并发处理能力,并且降低单个服务器的存储压力和容错能力。
但是,简单采用多点服务器存储用户关系链难以保障信息存储的一致性,在用户关系链一致性要求较高的场景中,如若用户短时内出现多条关系链操作信息,会导致关系链构建错乱,影响相关功能服务的效果,进而影响用户体验。
本申请实施例提供一种用户关系链存储方法、装置、系统、电子设备及存储介质,能够提升用户关系链存储的一致性和稳定性,解决现有用户关系链存储一致性较差的技术问题。
在第一方面,本申请实施例提供了一种用户关系链存储方法,包括:
接收第一客户端对第二客户端的关系链申请,将关系链申请转发至第二客户端;
接收第二客户端对关系链申请的接受信息,锁定第一客户端的关系链操作;
构建第一客户端和第二客户端的用户关系链,将用户关系链存储至第一客户端所属区域的第一存储节点,以通过第一存储节点同步用户关系链至系统其余管理区域的第二存储节点。
在第二方面,本申请实施例提供了一种用户关系链存储装置,包括:
转发模块,用于接收第一客户端对第二客户端的关系链申请,将关系链申请转发至第二客户端;
锁定模块,用于接收第二客户端对关系链申请的接受信息,锁定第一客户端的关系链操作;
存储模块,用于构建第一客户端和第二客户端的用户关系链,将用户关系链存储至第一客户端所属区域的第一存储节点,以通过第一存储节点同步用户关系链至系统其余管理区域的第二存储节点。
在第三方面,本申请实施例提供了一种用户关系链存储系统,包括:前置服务器、关系链服务器和存储节点,前置服务器包括对应第一客户端的第一前置服务器,以及对应第二客户端的第二前置服务器;关系链服务器包括对应第一客户端所属区域的第一关系链服务器,以及对应第二客户端所属区域的第二关系链服务器;存储节点包括对应第一客户端所属区域的第一存储节点,以及对应系统其余管理区域的第二存储节点;
第一前置服务器用于接收第一客户端对第二客户端的关系链申请,选择一个第一关系链服务器发送关系链申请,并将关系链申请转发至第二客户端;
第一关系链服务器用于根据接收到的关系链申请,更新第一客户端的关系链状态数据至第一存储节点,以记录第一客户端的关系链操作状态;
第二客户端用于响应接收到的关系链申请,通过第二前置服务器转发关系链申请的接受信息至第一关系链服务器,以指示第一关系链服务器锁定第一客户端的关系链操作;并通过第二前置服务器选择一个第二关系链服务器转发接受信息,以指示对应的第二关系链服务器锁定第二客户端的关系链操作;
第一关系链服务器还用于构建第一客户端和第二客户端的用户关系链,将用户关系链存储至第一存储节点,并通过第一存储节点同步用户关系链至各个第二存储节点。
在第四方面,本申请实施例提供了一种电子设备,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的用户关系链存储方法。
在第五方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的用户关系链存储方法。
本申请实施例通过接收第一客户端对第二客户端的关系链申请,将关系链申请转发至第二客户端;接收第二客户端对关系链申请的接受信息,锁定第一客户端的关系链操作;构建第一客户端和第二客户端的用户关系链,将用户关系链存储至第一客户端所属区域的第一存储节点,以通过第一存储节点同步用户关系链至系统其余管理区域的第二存储节点。采用上述技术手段,通过在构建用户关系链之前,对用户客户端的关系链操作进行锁定,以此可以避免用户短时内出现多条关系链操作信息,进而保障用户关系链存储的一致性和稳定性,优化用户关系链的相关功能服务效果,提升用户的使用体验。
图1是本申请实施例提供的一种用户关系链存储方法的流程图;
图2是本申请实施例提供的一种用户关系链存储系统的结构示意图;
图3是本申请实施例中的关系链操作锁定流程图;
图4是本申请实施例中的关系链构建流程图;
图5是本申请实施例中提供的一种用户关系链存储装置的结构示意图;
图6是本申请实施例中提供的一种电子设备的结构示意图。
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请提供的用户关系链存储方法,旨在构建存储用户关系链过程中,通过锁定用户的关系链操作,以避免用户短时内出现多条关系链操作信息,导致用户关系链错乱不一致的情况,提升用户关系链存储的一致性。相对于传统的,用户关系链存储方式,其一般包括:1、单点处理,由一个单点实例提供用户关系服务的功能,并且和本地数据库、缓存交互。单点服务的方式运维方便,用户状态和数据都由单一实例维护,不用考虑状态和数据的同步问题。同时也没有多点实例因为状态和数据不一致造成的关系链逻辑错误。但是在单点实例发生故障时,后台不能提供服务。在进行全球用户的关系链信息处理时,所有服务操作都必须回源到该实例,跨区的请求必然带来延迟的增加和请求失败率的提升。2、多点处理,由各个区域多个实例提供用户关系服务的功能,每个实例都和本地数据库、缓存交互。通过多点实例处理提高了服务的可用性和扩展性。通过增加服务器的部署可以提高系统并发处理能力并且降低单个实例的服务器压力。但是由于用户数据分散不方便管理。如果使用异步的数据库和缓存,数据的一致性和时效性难以保证。如果使用强一致性的数据库和缓存,则降低了服务的处理能力并增加了请求处理的延时。3、分区处理,由用户选择加入一个服务区与同服务区的其他用户互动。分区方便关系链数据的管理,增加服务区可以减少原服务压力,扩展服务整体的处理能力。但是不同服务区之间的用户无法互相互动产生,相当于隔离了不同服务区的用户。由于服务区之间的用户数量可能不均匀,对于用户量较大的服务区,其服务压力依然较大。基于此,提供本申请实施例的一种用户关系链存储方法,以在提升系统容错能力,降低系统服务压力的同时,保障用户关系链存储的一致性,解决现有用户关系链存储一致性较差的技术问题。
实施例:
图1给出了本申请实施例提供的一种用户关系链存储方法的流程图,本实施例中提供的用户关系链存储方法可以由用户关系链存储设备执行,该用户关系链存储设备可以通过软件和/或硬件的方式实现,该用户关系链存储设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,该用户关系链存储设备可以是服务器主机等处理设备。
下述以该用户关系链存储设备为执行用户关系链存储方法的主体为例,进行描述。参照图1,该用户关系链存储方法具体包括:
S110、接收第一客户端对第二客户端的关系链申请,将关系链申请转发至第二客户端。
本申请实施例在进行两个客户端的用户关系链构建及存储的过程中,通过用户关系链存储设备接收用户客户端发送的关系链申请,定义该用户客户端为第一客户端,对应该第一客户端申请构建用户关系链的用户客户端为第二客户端。关系链申请会转发至对应的第二客户端,由第二客户端接受或拒绝该关系链申请,进而根据第二客户端返回的接受信息或拒绝信息,执行关系链的相关操作。
需要说明是,本申请实施例中,用户关系链可以是网络社交、内容分享、直播等场景中用户与用户之间唯一的关联关系信息,用以标识两个用户之间关联关系信息的唯一性。例如,社交平台上两个用户之间“组CP”等特殊关系的构建。通过这一关联关系信息的构建,可以进一步实现相关用户关系链服务功能,如情侣空间等。
参照图2,提供本申请实施例的一种关系链存储系统的结构示意图,其中,该关系链存储系统包括前置服务器、关系链服务器和存储节点,前置服务器包括对应第一客户端11的第一前置服务器13,以及对应第二客户端12的第二前置服务器14;关系链服务器包括对应第一客户端11所属区域的第一关系链服务器15,以及对应第二客户端12所属区域的第二关系链服务器16;存储节点包括对应第一客户端11所属区域的第一存储节点17,以及对应系统其余管理区域的第二存储节点18,存储节点的实质为数据库服务器或者缓存;
第一前置服务器13用于接收第一客户端11对第二客户端12的关系链申请,选择一个第一关系链服务器15发送关系链申请,并将关系链申请转发至第二客户端12;
第一关系链服务器15用于根据接收到的关系链申请,更新第一客户端11的关系链状态数据至第一存储节点17,以记录第一客户端的关系链操作状态;
第二客户端12用于响应接收到的关系链申请,通过第二前置服务器14转发关系链申请的接受信息至第一关系链服务器15,以指示第一关系链服务器15锁定第一客户端11的关系链操作;并通过第二前置服务器14选择一个第二关系链服务器16转发接受信息,以指示对应的第二关系链服务器16锁定第二客户端12的关系链操作;
第一关系链服务器15还用于构建第一客户端11和第二客户端12的用户关系链,将用户关系链存储至第一存储节点17,并通过第一存储节点17同步用户关系链至各个第二存储节点18。
具体地,前置服务器作为关系链操作的处理中继,通过分别与各个用户客户端及各个关系链服务器交互,实现用户关系链关联操作。关系链存储系统在构建时,对应一个大区设置若干个前置服务器和关系链服务器,前置服务器的实质为代理服务器,用于对接客户端,并选择当前大区的一个关系链服务器执行关系链操作。一般而言,客户端在参与用户关系链构建时,会就近选择一个前置服务器作为代理服务器,以通过该代理服务器与关系链服务器以及对应客户端交互。通过采用全球多大区多机房多实例的部署方式,可以确保任意节点故障不会影响后端服务,提高系统容灾能力。
示例性的,如图2所示,当位于亚洲大区的第一客户端11想要与位于欧洲大区的第二客户端构建用户关系链时,用户通过第一客户端11就近选择一个第一前置服务器13发送关系链申请,第一前置服务器13为当前与第一客户端11距离最近的前置服务器。第一前置服务器接收到关系链申请后,会按照设定的转发逻辑发送到对应的关系链服务器上。
其中,关系链申请需要包含该第一客户端和第二客户端的标识信息,定义第一客户端的标识信息为第一标识信息,第二客户端的标识信息为第二标识信息。第一前置服务器首先从关系链申请中获取第一标识信息,进而查询该第一标识信息的客户端的所属区域。可以理解的是,一般而言,用户在申请系统账户时,会将用户账户分配至对应的大区管理。例如,第一客户端11在亚洲大区申请账户,则将第一客户端的标识信息绑定亚洲大区。以便于后续确定第一客户端的所属区域。
进一步地,通过查询第一客户端所属区域为亚洲大区后,在亚洲大区机房中随机选择一个关系链服务器作为第一关系链服务器,以发送该关系链申请至第一关系链服务器。关系链存储系统对应每个大区设置了若干个关系链服务器,以提升系统的容灾能力,当一个关系链服务器故障时,可以通过其他关系链服务器执行关系链相关操作。
可选的,在选择第一关系链服务器时,第一前置服务器可以采用轮询的方式,依序选择关系链服务器接收该关系链申请,以确保大区内各个关系链服务器的业务处理均衡,避免单一关系链服务器业务处理超载的情况。此外,根据实际需要,还可以通过轮循各个关系链服务器的业务处理状态(如算力及内存空间),选择业务处理状态最优的关系链服务器作为第一关系链服务器。需要说明的是,本申请实施例对应用户的每一次关系链操作都进行记录,通过关系链操作串行化的处理,保证了处理顺序,确保关系链业务数据的逻辑正确。
第一关系链服务器接收到该关系链申请后,会更新第一客户端的关系链状态数据至第一存储节点,以记录第一客户端的关系链操作状态;。可以理解的是,可以理解的是,为了便于查询各个用户的关系链申请操作状态,系统需要实时记录用户的各个关系链状态数据,实现较好的关系链管理效果。
可选的,关系链状态数据通过第一关系链服务器存储至第一存储节点后,可以通过第一存储节点同步至系统的第二存储节点。则其他客户端在向第一客户端发起关系链申请时,通过查询所属区域第二存储节点存储的有关第一客户端的关系链状态数据,即可确定当前自身的关系链申请存在冲突,进而优化用户的关系链操作体验。
另一方面,第一前置服务器在接收到关系链申请后,还进一步将关系链申请转发至第二客户端,由第二客户端基于接收到的关系链申请进行响应。第二客户端根据接收到的关系链申请,若同意构建关系链,则回复相应的接受信息。反之,若不同意关系链申请,则回复相应的拒绝信息。此外,若第二客户端在设定时段内没有对该关系链申请进行回复,则表示该关系链申请过期,此时系统将该关系链申请作废,通知第一客户端和第二客户端,并更新关系链状态数据。
第二客户端会就近选择一个第二前置服务器进行接受信息或者拒绝信息的转发,第二前置服务器在接收到接受信息或者拒绝信息后,将其转发第一关系链服务器。
S120、接收第二客户端对关系链申请的接受信息,锁定第一客户端的关系链操作。
进一步地,第一关系链服务器在接收到接受信息之后,会进一步锁定第一客户端的关系链操作。可以理解的是,为了防止双方在同意构建用户关系链后又发起其余用户关系链操作,导致用户关系链构建错乱,则需要禁止第一客户端和第二客户端的关系链操作。
参照图3,关系链操作的锁定流程包括:
S1201、确定第一客户端的第一标识信息;
S1202、基于第一标识信息锁定第一客户端的关系链操作;
第一关系链服务器在接收到该接受信息后,首先基于第一客户端的标识信息,锁定该第一客户端的关系链操作。后续在接收到第一客户端再次发起的关系链操作时(如关系链申请或者接收其他关系链申请),会基于关系链操作的锁定状态处理这些关系链操作。例如,反馈相应的操作无效信息至第一客户端,以提示当前关系链操作的锁定状态。
进一步地,本申请实施例还通过第二关系链服务器确定第二客户端的第二标识信息,基于第二标识信息锁定第二客户端的关系链操作。对应第二客户端关系链操作的锁定,通过第二前置服务器就近选择一个第二关系链服务器发送第二客户端的接受信息,以通知第二关系链服务器进行第二客户端的关系链锁定操作。第二关系链服务器同样通过确定第二客户端的第二标识信息,进而基于第二标识信息锁定第二客户端的关系链操作。通过锁定第一客户端和第二客户端的关系链操作,可以使关系链构建过程中,用户其他的关系链操作(如其他关系链申请或者接收其他关系链申请)被禁止。以此可以确保用户关系链的构建和存储同步,保持高度的一致性。
另一方面,若第二客户端返回的是拒绝信息,则第一关系链服务器基于该拒绝信息更新当次关系链申请的关系链状态数据。
S130、构建第一客户端和第二客户端的用户关系链,将用户关系链存储至第一客户端所属区域的第一存储节点,以通过第一存储节点同步用户关系链至系统其余管理区域的第二存储节点。
完成关系链操作锁定之后,本申请实施例进一步构建第一客户端和第二客户端的用户关系链。可选的,基于第一标识信息和第二标识信息生成唯一的用户关系链。可以理解的是,第一标识信息为第一客户端的唯一标识信息,第二标识信息为第二客户端的唯一标识信息。以此构建的用户关系链具备唯一性,可以确保用户间的关系链数据不会出现交叉,避免用户关系链存储错乱,优化用户关系链构建效果。
同样的,对应已构建的用户关系链,通过第一关系链服务器存储至第一存储节点后,可以通过第一存储节点同步至系统的第二存储节点。则其他客户端在向第一客户端或者第二客户端发起关系链申请时,通过查询所属区域第二存储节点存储的有关第一客户端和第二客户端的用户关系链,即可确定当前自身的关系链申请存在冲突,进而保障关系链构建存储的稳定性。
示例性的,参照图4,本申请实施例在构建两个用户之间的用户关系链时,先由其中一个用户向另一个用户发送建立用户关系链的申请。该申请由用户1就近的前置服务器处理,前置服务器根据用户1的标识信息uid1,确定用户1所属大区的第一关系链服务器处理关系链申请。第一关系链服务器处理关系链申请的业务逻辑,并更新关系链状态数据到本地数据库或缓存。操作成功后第一关系链服务器返回结果给前置服务器,由前置服务器通知用户双方。
进一步的,用户2接受用户1建立用户关系链的申请,接受信息由用户2就近的前置服务器处理,前置服务器使用uid1将接受信息哈希到uid1所属大区的第一关系链服务器处理。第一关系链服务器处理接受信息业务逻辑并给uid1上锁。操作成功再通知对应前置服务器。同时前置服务器使用uid2将接受信息哈希到uid2所属大区的第二关系链服务器处理。第二关系链服务器处理接受信息业务逻辑并给uid2上锁。操作成功再通知前置服务器,双方都上锁成功后,前置服务器再请求第一关系链服务器建立特殊关系链。第一关系链服务器最后处理业务逻辑并且更新用户关系链到本地数据库,标志着用户关系链建立成功。第一关系链服务器再把结果返回给前置服务器,由前置服务器通知用户双方操作成功。
在此之后,如图2所示,当用户关系链的功能服务器19需要使用用户关系链信息时,则通过对应调用前置服务器和关系链服务器查询存储节点,以基于查询到的用户关系链信息执行相应的用户关系链功能服务。
可选的,功能服务器19在查询用户关系链时,若当前业务对关系链信息的一致性要求不高(如对于未发起关系链申请的用户的业务),则可以就近接入同机房的存储节点查询。若当前业务对关系链信息的一致性要求较高(如正在构建用户关系链或者已完成用户关系链构建的用户的业务),则可以通过前置服务器哈希到对应机房查询。例如,如图2所示,亚洲大区的功能服务器19需要查询第二客户端12的用户关系链信息,由于当前业务对关系链信息的一致性要求较高,则需要通过第一前置服务器13哈希到第二关系链服务器16,调用第二关系链服务器16查询第二客户端12所属区域的第二存储节点18,确定第二客户端12的用户关系链信息。以此可以提升关系链业务服务的执行效率和稳定性,优化服务效果。
需要说明的是,上述用户关系链存储方法可以由用户关系链存储系统的第一前置服务器和第一关系链服务器共同执行。根据实际需要,也可以将用户关系链存储系统的前置服务器和关系链服务器合并为一个实体执行上述用户关系链存储方法,本申请实施例对用户关系链存储系统的具体结构不做固定限制,在此不多赘述。
可选的,在用户关系链构建超时或失败时,解锁第一客户端和第二客户端的关系链操作。其中,关系链服务器对用户关系链操作的锁定需要设置一个适当的过期时间,保证出现异常情况时用户关系链操作仍可以自动恢复。而在关系链操作过程中,如果出现操作失败的情况,则应当使用和锁定关系链操作同样的转发逻辑给双方用户解锁,避免影响用户重新进行关系链接受操作。通过解锁第一客户端和第二客户端的关系链操作,可以确保第一客户端和第二客户端能够接受其他关系链申请,保障系统业务逻辑的正常运行。
在一个实施例中,第一存储节点包括缓存服务器和数据库服务器。本申请实施例还定时将数据库服务器述缓存服务器进行用户关系链比对,基于比对结果更新缓存服务器存储的用户关系链。同理,对于第二存储节点,同样包括缓存服务器和数据库服务器,也可以参照上述方式定时更新用户关系链。例如,第一关系链服务器定时从数据库服务器中捞出最近修改过的用户关系链,并且和第一存储节点本地的缓存数据(即缓存服务器的数据)进行对比,如不一致则会以数据库服务器的数据为准更新缓存。以此可以保障关系链信息存储的一致性和同步性,避免信息更新滞后影响系统业务执行。
上述,通过接收第一客户端对第二客户端的关系链申请,将关系链申请转发至第二客户端;接收第二客户端对关系链申请的接受信息,锁定第一客户端的关系链操作;构建第一客户端和第二客户端的用户关系链,将用户关系链存储至第一客户端所属区域的第一存储节点,以通过第一存储节点同步用户关系链至系统其余管理区域的第二存储节点。采用上述技术手段,通过在构建用户关系链之前,对用户客户端的关系链操作进行锁定,以此可以避免用户短时内出现多条关系链操作信息,进而保障用户关系链存储的一致性和稳定性,优化用户关系链的相关功能服务效果,提升用户的使用体验。
在上述实施例的基础上,图5为本申请提供的一种用户关系链存储装置的结构示意图。参考图5,本实施例提供的用户关系链存储装置具体包括:转发模块21、锁定模块22和存储模块23。
其中,转发模块21用于接收第一客户端对第二客户端的关系链申请,将关系链申请转发至第二客户端;
锁定模块22用于接收第二客户端对关系链申请的接受信息,锁定第一客户端的关系链操作;
存储模块23用于构建第一客户端和第二客户端的用户关系链,将用户关系链存储至第一客户端所属区域的第一存储节点,以通过第一存储节点同步用户关系链至系统其余管理区域的第二存储节点。
具体地,锁定模块22具体用于确定第一客户端的第一标识信息;基于第一标识信息锁定第一客户端的关系链操作。
存储模块23具体用于基于第一标识信息和第二客户端的第二标识信息生成唯一的用户关系链。
存储模块23还用于更新第一客户端的关系链状态数据至第一存储节点,以记录所述第一客户端的关系链操作状态。
在用户关系链构建超时或失败时,解锁第一客户端的关系链操作。
定时将数据库服务器与缓存服务器进行用户关系链比对,基于比对结果更新缓存服务器存储的用户关系链。
上述,通过接收第一客户端对第二客户端的关系链申请,将关系链申请转发至第二客户端;接收第二客户端对关系链申请的接受信息,锁定第一客户端的关系链操作;构建第一客户端和第二客户端的用户关系链,将用户关系链存储至第一客户端所属区域的第一存储节点,以通过第一存储节点同步用户关系链至系统其余管理区域的第二存储节点。采用上述技术手段,通过在构建用户关系链之前,对用户客户端的关系链操作进行锁定,以此可以避免用户短时内出现多条关系链操作信息,进而保障用户关系链存储的一致性和稳定性,优化用户关系链的相关功能服务效果,提升用户的使用体验。
本申请实施例提供的用户关系链存储装置可以用于执行上述实施例提供的用户关系链存储方法,具备相应的功能和有益效果。
在上述实际上例的基础上,本申请实施例还提供了一种电子设备,参照图6,该电子设备包括:处理器31、存储器32、通信模块33、输入装置34及输出装置35。存储器32作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的用户关系链存储方法对应的程序指令/模块(例如,用户关系链存储系统中的转发模块、锁定模块和存储模块)。通信模块33用于进行数据传输。处理器31通过运行存储在存储器中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的用户关系链存储方法。输入装置34可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置35可包括显示屏等显示设备。上述提供的电子设备可用于执行上述实施例提供的用户关系链存储方法,具备相应的功能和有益效果。
在上述实施例的基础上,本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种用户关系链存储方法,存储介质可以是任何的各种类型的存储器设备或存储设备。当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的用户关系链存储方法,还可以执行本申请任意实施例所提供的用户关系链存储方法中的相关操作。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
本文发布于:2023-04-13 22:37:19,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/4/86136.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |