CN108551484B - 用户信息同步方法、装置、计算机装置及存储介质 - Google Patents

用户信息同步方法、装置、计算机装置及存储介质 Download PDF

Info

Publication number
CN108551484B
CN108551484B CN201810368075.3A CN201810368075A CN108551484B CN 108551484 B CN108551484 B CN 108551484B CN 201810368075 A CN201810368075 A CN 201810368075A CN 108551484 B CN108551484 B CN 108551484B
Authority
CN
China
Prior art keywords
user
synchronized
information
operating environment
environment
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.)
Active
Application number
CN201810368075.3A
Other languages
English (en)
Other versions
CN108551484A (zh
Inventor
宋剑锋
杨勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810368075.3A priority Critical patent/CN108551484B/zh
Priority to PCT/CN2018/099774 priority patent/WO2019205345A1/zh
Publication of CN108551484A publication Critical patent/CN108551484A/zh
Application granted granted Critical
Publication of CN108551484B publication Critical patent/CN108551484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种用户信息同步方法,包括:获取多活***中每个运行环境的用户信息;将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境;模拟所述待同步用户在所述待同步运行环境中注册。本发明还公开了一种用户信息同步装置、计算机装置和计算机可读存储介质。本发明可以在异地多活***中保持用户基础信息的一致性。

Description

用户信息同步方法、装置、计算机装置及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种用户信息同步方法、装置、计算机装置及存储介质。
背景技术
随着技术的发展,应用***(如社交平台、购物平台等)上的用户量越来越大,在部署服务器等硬件环境时,通过多活体系架构进行部署可以提高部署的成本、兼顾容灾等优点。然而对于异地多活体系架构,通常有多套同时运行的运行环境。在登陆多活***时,通常通过负载均衡器进行登陆。负载均衡器可以将网络请求分散到服务器集群中的可用服务器中,分配最适当的服务器响应网络请求。因此,用户在首次注册时,多活***随机指定一套最适合的运行环境供用户在客户端进行登陆,客户端并没有任何不同,而实际用户登陆的为多活***中某一运行环境,用户注册时的信息仅保留在某一运行环境中,在其他运行环境中用户并没有用户注册的信息,这样就会导致用户基础数据不一致的问题,进而影响到用户其他数据的同步(例如用户报表的同步等)。
发明内容
鉴于以上内容,有必要提供一种用户信息同步方法、装置、计算机装置及存储介质,能在异地多活***中保持用户基础信息的一致性。
本发明提供一种用户信息同步方法,所述方法包括:
获取多活***中每个运行环境的用户信息;
将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境;
模拟所述待同步用户在所述待同步运行环境中注册。
在本发明优选实施中,所述方法还包括:
获取所述多活***的日志信息;
若所述日志信息包含用户登陆失败的信息,执行所述获取多活***中每个运行环境的用户信息的步骤。
在本发明优选实施中,所述方法还包括:
获取所述多活***的运行中进程;
当所述运行中进程的数量低于预设进程数量和/或所述运行中进程不包含指定进程时,执行所述获取多活***中每个运行环境的用户信息的步骤;或者
当所述运行中进程的数量低于预设进程数量和/或所述运行中进程不包含指定进程时,执行所述模拟所述待同步用户在所述待同步运行环境中注册的步骤。
在本发明优选实施中,所述预设进程数量和/或所述指定进程根据所述多活***的硬件资源确定。
在本发明优选实施中,所述将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境包括:
将所述多活***的第一运行环境中的用户信息与所述第一运行环境以外的其他运行环境中的用户信息进行对比;
当第一运行环境中的第一用户的信息没有在所述其他运行环境中都存在时,确定所述第一用户为待同步用户,确定不存在所述第一用户的信息的运行环境为待同步运行环境。
在本发明优选实施例中,所述将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境包括:
将所述多活***的第一运行环境中的用户信息与所述第一运行环境以外的其他运行环境中的用户信息进行对比;
获取在每个运行环境中存在且不一致的用户信息;
确定在每个运行环境中存在且不一致的用户信息对应的用户为待同步用户,根据待同步用户的指定信息确定待同步运行环境。
在本发明优选实施例中,所述方法还包括:
获取所述多活***的***时间;
根据所述***时间确定是否执行所述获取多活***中每个运行环境的用户信息的步骤。
本发明还提供一种用户信息同步装置,所述装置包括:
获取模块,用于获取多活***中每个运行环境的用户信息;
匹配模块,用于将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境;
同步模块,用于模拟所述待同步用户在所述待同步运行环境中注册。
在本发明优选实施例中,所述装置还包括:
日志获取模块,用于获取所述多活***的日志信息;
第一触发模块,用于若所述日志信息包含用户登陆失败的信息,触发所述获取模块获取多活***中每个运行环境的用户信息。
在本发明优选实施例中,所述装置还包括:
进程获取模块,用于获取所述多活***的运行中进程;
第二触发模块,用于当所述运行中进程的数量低于预设进程数量和/或所述运行中进程不包含指定进程时,触发所述获取模块获取多活***中每个运行环境的用户信息;或者触发所述同步模块模拟所述待同步用户在所述待同步运行环境中注册。
在本发明优选实施例中,所述预设进程数量和/或所述指定进程根据所述多活***的硬件资源确定。
在本发明优选实施例中,所述匹配模块具体用于:
将所述多活***的第一运行环境中的用户信息与所述第一运行环境以外的其他运行环境中的用户信息进行对比;
当第一运行环境中的第一用户的信息没有在所述其他运行环境中都存在时,确定所述第一用户为待同步用户,确定不存在所述第一用户的信息的运行环境为待同步运行环境。
在本发明优选实施例中,所述匹配模块具体用于:
将所述多活***的第一运行环境中的用户信息与所述第一运行环境以外的其他运行环境中的用户信息进行对比;
获取在每个运行环境中存在且不一致的用户信息;
确定在每个运行环境中存在且不一致的用户信息对应的用户为待同步用户,根据待同步用户的指定信息确定待同步运行环境。
在本发明优选实施例中,所述识别模块具体用于:
时间获取模块,用于获取所述多活***的***时间;
第三触发模块,用于根据所述***时间确定是否触发所述获取模块获取多活***中每个运行环境的用户信息。
本发明还提供一种计算机装置,所述计算机装置包括存储器及处理器,所述存储器用于存储至少一个指令,所述处理器用于执行所述至少一个指令以实现任意实施例中所述的用户信息同步方法。
本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现任意实施例中所述的用户信息同步方法。
由以上技术方案看出,本发明通过获取多活***中每个运行环境的用户信息;将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境;模拟所述待同步用户在所述待同步运行环境中注册。由于获取了待同步用户与对应的待同步用户环境,并且模拟了待同步用户在对应的待同步运行环境中注册,因此在待同步运行环境中也有了待同步用户的注册信息,可以在异地多活***中保持用户基础信息的一致性。同时,也有利于用户基础信息以外的其他信息进行同步,使得在异地多活***中用户数据可以保持一致。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例提供的一种用户信息同步方法的流程图;
图2是本发明实施例提供的用户信息同步装置的功能模块图;
图3是本发明实现用户信息同步方法的较佳实施例的计算机装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,图1为本发明实施例提供的一种用户信息同步方法的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S10,获取多活***中每个运行环境的用户信息。
本发明所述的多活***是指***的体系架构为多活体系架构。具体的,可以是异地多活体系架构。异地多活是指数据中心在地理空间上是分布部署的,每个数据中心保持一定的独立性。同时,多个中心协同工作,并行的为业务访问提供服务,在一个数据中心发生故障的情况下,其他数据中心可以正常运行,保持业务的正常的运行。
例如,多活体系架构的Cognos(康格诺)***,所述Cognos是一种BI(BusinessIntelligence,商业智能)报表***。BI报表***可以为企业中现有数据进行整合并提供出报表,帮助企业的经营者快速了解企业的信息,进而进行决策。
在实际应用中,多活***可以包含至少两套运行环境。比如,某一多活***包含两套运行环境,此时,可称为异地双活。又比如,某一多活***包含三套运行环境。
上述用户信息可以是用户的名称或者用户的编号,同时,也可以为包括用户的名称、用户的编号、用户的注册时间、用户身份等在内的多项用户注册时所填写的一项或者是多项基础信息。
比如,多活***中包含A运行环境和B运行环境,获取A运行环境中包含的用户的名称和用户的编号,同时,获取B运行环境中包含的用户的名称和用户的编号。
又比如,多活***中包含A运行环境、B运行环境和C运行环境,获取A运行环境中获取A运行环境中包含的用户的名称和用户的编号,B运行环境中包含的用户的名称和用户的编号,以及C运行环境中包含的用户的名称和用户的编号。
可选的,在本发明另一实施例中,上述步骤S10之前可包括:
获取所述多活***的日志信息;若所述日志信息包含用户登陆失败的信息,执行所述步骤S10获取多活***中每个运行环境的用户信息。
上述多活***的日志信息可以包含多活***在运行过程中的异常信息或报错信息。
具体的,可以获取在指定时间之内的日志信息。指定时间的值可以根据需要设定,例如获取3小时之内的日志信息。
在判断日志信息是否包含用户登陆失败的信息时,可以通过判断信息的类型进行判断,进而通过信息的名称进行判断,以便从日志信息中快速的定位所需信息。
在本实施例中,若日志信息包含用户登陆失败的信息,则说明有用户登陆不上,此时可以执行步骤S10,对用户信息进行同步,使得用户基础信息在各运行环境之间保持一致,提高用户登陆的成功率。
进一步地,在本发明其他实施例中,若日志信息包含用户登陆失败的信息,获取用户登陆失败的原因,根据用户登陆失败的原因执行所述步骤S10获取多活***中每个运行环境的用户信息的步骤。
由于用户登陆失败的原因不限于用户数据不同步这一种,也可能是用户密码输入错误等。因此若用户登陆失败的原因为用户不存在***中,可执行步骤S10,使得用户基础信息在各运行环境之间保持一致,避免用户因为运行环境数据不一致而使得用户无法登陆,提高***的可靠性。
可选的,在本发明另一实施例中,上述步骤S10之前可包括:
获取所述多活***的运行中进程;
当所述运行中进程的数量低于预设进程数量和/或所述运行中进程不包含指定进程时,执行所述步骤S10获取多活***中每个运行环境的用户信息。
其中,上述预设进程数量可以根据需要设定。同样的,上述指定进程也可以根据需要设定。
在本实施例中,可以仅当***当前运行的进程数量较少,或者没有指定进程时,才执行步骤S10,使得本发明所述的用户信息同步方法可以快速进行,同时并不影响***当前的其他各项任务运行。
进一步地,所述预设进程数量和/或所述指定进程根据所述多活***的硬件资源确定。
由于不同的硬件资源下,使得当前***保持流畅运行的条件也不相同。例如,不同的硬件资源可以为进程分配不同的硬件资源,进而支持不同的进程数量或者是不同的进程任务。因此,根据不同的硬件资源进行设定进程数量,可以保证多活***运行的流畅性和稳定性。
可选的,在本发明另一实施例中,上述步骤S10之前可包括:
获取所述多活***的***时间;
根据所述***时间确定是否执行所述步骤S10获取多活***中每个运行环境的用户信息。
其中,所述多活***的***时间是指多活***当前的***时间,同时,可以是获取多活***中任意一个运行环境的***时间。由于多活***中各运行环境是协同工作的,因此任意运行环境的***时间与其他***的***时间是一致的。
具体的,可以判断当前的***时间是否为指定时间,例如判断当前的***时间是否为晚上8点,若是,则执行步骤S10。
或者,可以判断当前的***时间是否为整点时间,例如判断当前***时间是否为14点或者为15点,若是,则执行步骤S10,则此时,每个整点时间,即每间隔1个小时,执行步骤S10。
进一步地,若当前的***时间为整点时间,则执行所述多活***中所有运行环境中每个运行环境的用户信息的步骤。并且,在获取每个运行环境的用户信息时,可以仅获取多活***的各个运行环境中一小时内增量的用户信息。此时,不再对之前已匹配过的用户信息进行重复匹配,仅对新增的用户信息进行匹配,可以减少操作冗余,提高***的运行效率。
S20,将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境。
具体的,可以将获取到的每个运行环境的用户信息分别进行匹配,从而得到待同步用户以及待同步用户对应的待同步运行环境。
进一步地,所述步骤S20将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境,可包括:
将所述多活***的第一运行环境中的用户信息与所述第一运行环境以外的其他运行环境中的用户信息进行对比;
当第一运行环境中的第一用户的信息没有在所述其他运行环境中都存在时,确定所述第一用户为待同步用户,确定不存在所述第一用户的信息的运行环境为待同步运行环境。
在本实施例中,选取信息没有覆盖到每个运行环境的用户为待同步用户。
其中,上述第一运行环境可以是多活***中的任意一个运行环境。上述第一用户可以为第一运行环境之中的任意一个用户。
具体的,若多活***中包含三个运行环境,可以对将第一个运行环境之中的每一个用户分别与其他运行环境之中的每一个用户进行匹配。
然后,再将多活***中的第二个运行环境中的每一个用户分别与其他运行环境之中的每一个用户进行匹配,以及第三个运行环境之中的每一个用户分别与其他运行环境之中的每一个用户进行匹配,从而获取不完全存在于每个运行环境之中的用户的信息。
比如,获取到A运行环境中包含的用户名称为x用户,y用户,和z用户,B运行环境中包含的用户名称为x用户和z用户,则匹配结果为B运行环境中不包含y用户,则待同步用户是y用户,y用户对应的待同步运行环境为B运行环境,即,在A运行环境和B运行环境中,y用户的信息不一致,需要将y用户的信息同步至B运行环境中。
又比如,获取到A运行环境中包含的用户名称为x用户,y用户,和z用户,B运行环境中包含的用户名称为x用户和z用户,C运行环境中包含的用户名称为x用户。则将A运行环境与B运行环境和C运行环境中的用户名称分别进行匹配。得到待同步用户为y用户以及z用户,y用户对应的待同步运行环境为B运行环境和C运行环境,z用户对应的待同步运行环境为C运行环境,即,在A运行环境、B运行环境以及C运行环境中,y用户以及z用户的信息不一致,需要将y用户的信息同步至C运行环境与C运行环境,以及将z用户的信息同步至C运行环境。
其他实施例中,所述步骤S20将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境,还可包括:
将所述多活***的第一运行环境中的用户信息与所述第一运行环境以外的其他运行环境中的用户信息进行对比;
获取在每个运行环境中存在且不一致的用户信息;
确定在每个运行环境中存在且不一致的用户信息对应的用户为待同步用户,根据待同步用户的指定信息确定待同步运行环境。
在本实施例中,确定信息存在于每个运行环境中的,但信息不完全一致的用户为待同步用户。
具体的,在实际应用中,获取到的不同运行环境中的存在的同一用户的信息可能一致,也可能不完全一致。例如,x用户的注册信息在A运行环境中与B运行环境中都存在,且x用户的注册信息在A运行环境中与在B运行环境中不尽相同。则此时,该x用户的信息在不同的运行环境中不一致,确定x用户为待同步用户。
上述指定信息用于作为确定待同步运行环境的基准。具体的,待同步用户的指定信息可以为待同步用户的数据录入方,或者未待同步数据的数据大小,或者待同步数据的注册时间的先后等信息。待同步用户的指定信息还可以为上述信息的结合或者是其他上述未提及的信息。
例如,在A运行环境中,x用户的注册时间为6月,且6月产生了与用户相关的其他操作性数据,而在B运行环境中,x用户的注册时间3月,同时在B运行环境中,在3-6月并与该用户相关的其他操作性数据,则确定待同步用户x的待同步运行环境为B环境,即A运行环境中x用户的信息与B运行环境中x用户的信息不完全一致,需将x用户的信息同步至B运行环境中。
S30,模拟所述待同步用户在所述待同步运行环境中注册。
具体的,可通过预先开发好的SDK(Software Development Kit,软件开发工具包)接口程序完成模拟注册。
在具体实现时,可以通过SDK接口程序访问多活***中每一个待同步运行环境,并在该待同步运行环境下注册对应的待同步用户。
例如,该SDK接口程序可以包括Cognos(康格诺)接口应用等。通过Cognos接口应用访问异地多活体系架构的Cognos***中每一个待同步运行环境,并在该待同步运行环境下模拟待同步用户进行注册。此时,在异地多活体系架构的Cognos***的每套运行环境中,都有了同样的用户的相关信息。
模拟用户注册时,用户的注册信息是用户在***中的基本信息,此时,在多活***的各个环境中都有了用户的基本信息。
可选的,在本发明另一实施例中,上述步骤S30之前可包括:
获取所述多活***的运行中进程;
当所述运行中进程的数量低于预设进程数量和/或所述运行中进程不包含指定进程时,执行所述步骤S30模拟所述待同步用户在所述待同步运行环境中注册。
在本实施例中,可以仅当***当前运行的进程数量较少,或者没有指定进程时,才执行步骤S30,使得模拟用户注册的操作可以快速进行,同时并不影响***当前的其他各项任务运行。
在本发明的其他实施例中,在对多活***每个运行环境的用户基础数据进行同步以后,使得用户再次通过负载均衡器登录任意运行环境时,该运行环境中都存在该用户的信息,即只要用户注册过,在此通过负载均衡器登录任意运行环境时,都可以登陆成功,并且可以执行操作。
例如,在对多活体系架构的Cognos***的用户进行模拟注册之后,可以在任意运行环境中创建每个用户的概要(profile)文件,该profile文件可以作为各用户的报表数据同步的基础(例如,通过profile文件将该用户的报表数据进行同步),从而实现为用户的其他数据在不同运行环境之间同步时提供依据的目的。
本发明提供的用户信息同步方法获取多活***中每个运行环境的用户信息;将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境;模拟所述待同步用户在所述待同步运行环境中注册。由于获取了待同步用户与对应的待同步用户环境,并且模拟了待同步用户在对应的待同步运行环境中注册,因此在待同步运行环境中也有了待同步用户的注册信息,可以在异地多活***中保持用户基础信息的一致性。同时,也有利于用户基础信息以外的其他信息进行同步,使得在异地多活***中用户数据可以保持一致。
如图2所示,图2为本发明实施例提供的用户信息同步装置的功能模块图。所述用户信息同步装置包括获取模块210、匹配模块220和同步模块230。本发明所称的模块是指一种能够被计算机装置的处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在计算机装置的存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
获取模块210,用于获取多活***中每个运行环境的用户信息。
本发明所述的多活***是指***的体系架构为多活体系架构。具体的,可以是异地多活体系架构。异地多活是指数据中心在地理空间上是分布部署的,每个数据中心保持一定的独立性。同时,多个中心协同工作,并行的为业务访问提供服务,在一个数据中心发生故障的情况下,其他数据中心可以正常运行,保持业务的正常的运行。
例如,多活体系架构的Cognos(康格诺)***,所述Cognos是一种BI(BusinessIntelligence,商业智能)报表***。BI报表***可以为企业中现有数据进行整合并提供出报表,帮助企业的经营者快速了解企业的信息,进而进行决策。
在实际应用中,多活***可以包含至少两套运行环境。比如,某一多活***包含两套运行环境,此时,可称为异地双活。又比如,某一多活***包含三套运行环境。
上述用户信息可以是用户的名称或者用户的编号,同时,也可以为包括用户的名称、用户的编号、用户的注册时间、用户身份等在内的多项用户注册时所填写的一项或者是多项基础信息。
比如,多活***中包含A运行环境和B运行环境,获取A运行环境中包含的用户的名称和用户的编号,同时,获取B运行环境中包含的用户的名称和用户的编号。
又比如,多活***中包含A运行环境、B运行环境和C运行环境,获取A运行环境中获取A运行环境中包含的用户的名称和用户的编号,B运行环境中包含的用户的名称和用户的编号,以及C运行环境中包含的用户的名称和用户的编号。
可选的,在本发明另一实施例中,本发明所述的装置还包括日志获取模块和第一触发模块。具体的:
日志获取模块,用于获取所述多活***的日志信息。
第一触发模块,用于若所述日志信息包含用户登陆失败的信息,触发所述获取模块获取多活***中每个运行环境的用户信息。
上述多活***的日志信息可以包含多活***在运行过程中的异常信息或报错信息。
具体的,可以获取在指定时间之内的日志信息。指定时间的值可以根据需要设定,例如获取3小时之内的日志信息。
在判断日志信息是否包含用户登陆失败的信息时,可以通过判断信息的类型进行判断,进而通过信息的名称进行判断,以便从日志信息中快速的定位所需信息。
在本实施例中,若日志信息包含用户登陆失败的信息,则说明有用户登陆不上,此时可以触发获取模块210获取多活***中每个运行环境的用户信息,对用户信息进行同步,使得用户基础信息在各运行环境之间保持一致,提高用户登陆的成功率。
进一步地,在本发明其他实施例中,若日志信息包含用户登陆失败的信息,获取用户登陆失败的原因,根据用户登陆失败的原因触发获取模块210获取多活***中每个运行环境的用户信息。
由于用户登陆失败的原因不限于用户数据不同步这一种,也可能是用户密码输入错误等。因此若用户登陆失败的原因为用户不存在***中,可执行触发获取模块210执行操作,使得用户基础信息在各运行环境之间保持一致,避免用户因为运行环境数据不一致而使得用户无法登陆,提高***的可靠性。
可选的,在本发明另一实施例中,本发明所述的装置可包括进行模块和第二触发模块。具体的:
进程获取模块,用于获取所述多活***的运行中进程;
第二触发模块,用于当所述运行中进程的数量低于预设进程数量和/或所述运行中进程不包含指定进程时,触发所述获取模块获取多活***中每个运行环境的用户信息。
其中,上述预设进程数量可以根据需要设定。同样的,上述指定进程也可以根据需要设定。
在本实施例中,可以仅当***当前运行的进程数量较少,或者没有指定进程时,才执行触发获取模块210执行操作,使得本发明所述的用户信息同步方法可以快速进行,同时并不影响***当前的其他各项任务运行。
进一步地,所述预设进程数量和/或所述指定进程根据所述多活***的硬件资源确定。
由于不同的硬件资源下,使得当前***保持流畅运行的条件也不相同。例如,不同的硬件资源可以为进程分配不同的硬件资源,进而支持不同的进程数量或者是不同的进程任务。因此,根据不同的硬件资源进行设定进程数量,可以保证多活***运行的流畅性和稳定性。
可选的,在本发明另一实施例中,本发明所述的装置还可包括时间获取模块和第三触发模块。具体的:
时间获取模块,用于获取所述多活***的***时。
第三触发模块,用于根据所述***时间确定是否触发所述获取模块获取多活***中每个运行环境的用户信息。
其中,所述多活***的***时间是指多活***当前的***时间,同时,可以是获取多活***中任意一个运行环境的***时间。由于多活***中各运行环境是协同工作的,因此任意一个运行环境的***时间与其他***的***时间是一致的。
具体的,可以判断当前的***时间是否为指定时间,例如判断当前的***时间是否为晚上8点,若是,则触发获取模块210执行操作。
或者,可以判断当前的***时间是否为整点时间,例如判断当前***时间是否为14点或者为15点,若是,则触发获取模块210执行操作,则此时,每个整点时间,即每间隔1个小时,触发获取模块210执行操作。
进一步地,若当前的***时间为整点时间,则触发获取模块210执行操作。并且,在获取每个运行环境的用户信息时,可以仅获取多活***的各个运行环境中一小时内增量的用户信息。此时,不再对之前已匹配过的用户信息进行重复匹配,仅对新增的用户信息进行匹配,可以减少操作冗余,提高***的运行效率。
匹配模块220,用于将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境。
具体的,可以将获取到的每个运行环境的用户信息分别进行匹配,从而得到待同步用户以及待同步用户对应的待同步运行环境。
进一步地,所述匹配模块220可具体用于:
将所述多活***的第一运行环境中的用户信息与所述第一运行环境以外的其他运行环境中的用户信息进行对比;当第一运行环境中的第一用户的信息没有在所述其他运行环境中都存在时,确定所述第一用户为待同步用户,确定不存在所述第一用户的信息的运行环境为待同步运行环境。
在本实施例中,选取信息没有覆盖到每个运行环境的用户为待同步用户。
其中,上述第一运行环境可以是多活***中的任意一个运行环境。上述第一用户可以为第一运行环境之中的任意一个用户。
具体的,若多活***中包含三个运行环境,可以对将第一个运行环境之中的每一个用户分别与其他运行环境之中的每一个用户进行匹配。
然后,再将多活***中的第二个运行环境中的每一个用户分别与其他运行环境之中的每一个用户进行匹配,以及第三个运行环境之中的每一个用户分别与其他运行环境之中的每一个用户进行匹配,从而获取不完全存在于每个运行环境之中的用户的信息。
比如,获取到A运行环境中包含的用户名称为x用户,y用户,和z用户,B运行环境中包含的用户名称为x用户和z用户,则匹配结果为B运行环境中不包含y用户,则待同步用户是y用户,y用户对应的待同步运行环境为B运行环境,即,在A运行环境和B运行环境中,y用户的信息不一致,需要将y用户的信息同步至B运行环境中。
又比如,获取到A运行环境中包含的用户名称为x用户,y用户,和z用户,B运行环境中包含的用户名称为x用户和z用户,C运行环境中包含的用户名称为x用户。则将A运行环境与B运行环境和C运行环境中的用户名称分别进行匹配。得到待同步用户为y用户以及z用户,y用户对应的待同步运行环境为B运行环境和C运行环境,z用户对应的待同步运行环境为C运行环境,即,在A运行环境、B运行环境以及C运行环境中,y用户以及z用户的信息不一致,需要将y用户的信息同步至C运行环境与C运行环境,以及将z用户的信息同步至C运行环境。
其他实施例中,所述匹配模块220可具体用于:
将所述多活***的第一运行环境中的用户信息与所述第一运行环境以外的其他运行环境中的用户信息进行对比;获取在每个运行环境中存在且不一致的用户信息;确定在每个运行环境中存在且不一致的用户信息对应的用户为待同步用户,根据待同步用户的指定信息确定待同步运行环境。
在本实施例中,确定信息存在于每个运行环境中的,但信息不完全一致的用户为待同步用户。
具体的,在实际应用中,获取到的不同运行环境中的存在的同一用户的信息可能一致,也可能不完全一致。例如,x用户的注册信息在A运行环境中与B运行环境中都存在,且x用户的注册信息在A运行环境中与在B运行环境中不尽相同。则此时,该x用户的信息在不同的运行环境中不一致,确定x用户为待同步用户。
上述指定信息用于作为确定待同步运行环境的基准。具体的,待同步用户的指定信息可以为待同步用户的数据录入方,或者未待同步数据的数据大小,或者待同步数据的注册时间的先后等信息。待同步用户的指定信息还可以为上述信息的结合或者是其他上述未提及的信息。
例如,在A运行环境中,x用户的注册时间为6月,且6月产生了与用户相关的其他操作性数据,而在B运行环境中,x用户的注册时间3月,同时在B运行环境中,在3-6月并与该用户相关的其他操作性数据,则确定待同步用户x的待同步运行环境为B环境,即A运行环境中x用户的信息与B运行环境中x用户的信息不完全一致,需将x用户的信息同步至B运行环境中。
同步模块230,用于模拟所述待同步用户在所述待同步运行环境中注册。
具体的,可通过预先开发好的SDK(Software Development Kit,软件开发工具包)接口程序完成模拟注册。
在具体实现时,可以通过SDK接口程序访问多活***中每一个待同步运行环境,并在该待同步运行环境下注册对应的待同步用户。
例如,该SDK接口程序可以包括Cognos(康格诺)接口应用等。通过Cognos接口应用访问异地多活体系架构的Cognos***中每一个待同步运行环境,并在该待同步运行环境下模拟待同步用户进行注册。此时,在异地多活体系架构的Cognos***的每套运行环境中,都有了同样的用户的相关信息。
模拟用户注册时,用户的注册信息是用户在***中的基本信息,此时,在多活***的各个环境中都有了用户的基本信息。
可选的,在本发明另一实施例中,本发明所述的方法还可包括进程获取模块和第二触发模块。具体的:
进程获取模块,用于获取所述多活***的运行中进程;
第二触发模块,用于当所述运行中进程的数量低于预设进程数量和/或所述运行中进程不包含指定进程时,触发所述同步模块模拟所述待同步用户在所述待同步运行环境中注册。
在本实施例中,可以仅当***当前运行的进程数量较少,或者没有指定进程时,才触发同步模块230执行操作,使得模拟用户注册的操作可以快速进行,同时并不影响***当前的其他各项任务运行。
在本发明的其他实施例中,在对多活***每个运行环境的用户基础数据进行同步以后,使得用户再次通过负载均衡器登录任意运行环境时,该运行环境中都存在该用户的信息,即只要用户注册过,在此通过负载均衡器登录任意运行环境时,都可以登陆成功,并且可以执行操作。
例如,在对多活体系架构的Cogons***的用户进行模拟注册之后,可以在任意运行环境中创建每个用户的概要(profile)文件,该profile文件可以作为各用户的报表数据同步的基础(例如,通过profile文件将该用户的报表数据进行同步),从而实现为用户的其他数据在不同运行环境之间同步时提供依据的目的。
本发明提供的用户信息同步装置通过获取模块获取多活***中每个运行环境的用户信息;匹配模块将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境;同步模块模拟所述待同步用户在所述待同步运行环境中注册。由于获取了待同步用户与对应的待同步用户环境,并且模拟了待同步用户在对应的待同步运行环境中注册,因此在待同步运行环境中也有了待同步用户的注册信息,可以在异地多活***中保持用户基础信息的一致性。同时,也有利于用户基础信息以外的其他信息进行同步,使得在异地多活***中用户数据可以保持一致。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。
如图3所示,图3是本发明实现用户信息同步方法的较佳实施例的计算机装置的结构示意图。所述计算机装置包括至少一个发送装置31、至少一个存储器32、至少一个处理器33、至少一个接收装置34以及至少一个通信总线。其中,所述通信总线用于实现这些组件之间的连接通信。
所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述计算机装置还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
所述计算机装置可以是,但不限于任何一种可与用户通过键盘、触摸板或声控设备等方式进行人机交互的电子产品。
所述计算机装置所处的网络包括,但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
其中,所述接收装置34和所述发送装置31可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他设备进行数据通信。
所述存储器32用于存储程序代码。所述存储器32可以是集成电路中没有实物形式的具有存储功能的电路,如RAM(Random-Access Memory,随机存取存储器)、FIFO(First InFirst Out,先入先出)存储器等。或者,所述存储器32也可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)、智能媒体卡(smart media card)、安全数字卡(securedigital card)、快闪存储器卡(flash card)等储存设备等等。
所述处理器33可以包括一个或者多个微处理器、数字处理器。所述处理器33可调用存储器32中存储的程序代码以执行相关的功能。例如,图3中所述的各个单元是存储在所述存储器32中的程序代码,并由所述处理器33所执行,以实现一种用户信息同步方法。所述处理器33又称中央处理器(CPU,Central Processing Unit),是一块超大规模的集成电路,是运算核心(Core)和控制核心(Control Unit)。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (9)

1.一种用户信息同步方法,其特征在于,所述方法包括:
获取多活***的日志信息;
若所述日志信息包含用户登陆失败的信息,获取用户登陆失败的原因,并根据用户登陆失败的原因获取所述多活***中每个运行环境的用户信息,所述用户信息为用户注册时所填写的多项基础信息;
将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境;
获取所述多活***的运行中进程;
当所述运行中进程的数量低于预设进程数量和/或所述运行中进程不包含指定进程时,模拟所述待同步用户在所述待同步运行环境中注册。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述多活***的运行中进程;
当所述运行中进程的数量低于预设进程数量和/或所述运行中进程不包含指定进程时,执行所述获取多活***中每个运行环境的用户信息的步骤。
3.如权利要求2所述的方法,其特征在于,所述预设进程数量和/或所述指定进程根据所述多活***的硬件资源确定。
4.如权利要求1至3中任一项所述的方法,其特征在于,所述将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境包括:
将所述多活***的第一运行环境中的用户信息与所述第一运行环境以外的其他运行环境中的用户信息进行对比;
当第一运行环境中的第一用户的信息没有在所述其他运行环境中都存在时,确定所述第一用户为待同步用户,确定不存在所述第一用户的信息的运行环境为待同步运行环境。
5.如权利要求1至3中任一项所述的方法,其特征在于,所述将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境包括:
将所述多活***的第一运行环境中的用户信息与所述第一运行环境以外的其他运行环境中的用户信息进行对比;
获取在每个运行环境中存在且不一致的用户信息;
确定在每个运行环境中存在且不一致的用户信息对应的用户为待同步用户,根据待同步用户的指定信息确定待同步运行环境。
6.如权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
获取所述多活***的***时间;
根据所述***时间确定是否执行所述获取多活***中每个运行环境的用户信息的步骤。
7.一种用户信息同步装置,其特征在于,所述装置包括:
获取模块,用于获取多活***的日志信息;
所述获取模块,还用于若所述日志信息包含用户登陆失败的信息,获取用户登陆失败的原因,并根据用户登陆失败的原因获取所述多活***中每个运行环境的用户信息,所述用户信息为用户注册时所填写的多项基础信息;
匹配模块,用于将获取到的不同运行环境中的用户信息进行匹配,得到待同步用户以及待同步用户对应的待同步运行环境;
所述获取模块,还用于获取所述多活***的运行中进程;
同步模块,用于当所述运行中进程的数量低于预设进程数量和/或所述运行中进程不包含指定进程时,模拟所述待同步用户在所述待同步运行环境中注册。
8.一种计算机装置,其特征在于,所述计算机装置包括存储器及处理器,所述存储器用于存储至少一个指令,所述处理器用于执行所述至少一个指令以实现如权利要求1至6中任一项所述的用户信息同步方法。
9.一种计算机可读存储介质,其上存储有计算机指令,其特征在于:所述计算机指令被处理器执行时实现如权利要求1至6中任意一项所述的用户信息同步方法。
CN201810368075.3A 2018-04-23 2018-04-23 用户信息同步方法、装置、计算机装置及存储介质 Active CN108551484B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810368075.3A CN108551484B (zh) 2018-04-23 2018-04-23 用户信息同步方法、装置、计算机装置及存储介质
PCT/CN2018/099774 WO2019205345A1 (zh) 2018-04-23 2018-08-10 用户信息同步方法、装置、计算机装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810368075.3A CN108551484B (zh) 2018-04-23 2018-04-23 用户信息同步方法、装置、计算机装置及存储介质

Publications (2)

Publication Number Publication Date
CN108551484A CN108551484A (zh) 2018-09-18
CN108551484B true CN108551484B (zh) 2021-04-20

Family

ID=63512030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810368075.3A Active CN108551484B (zh) 2018-04-23 2018-04-23 用户信息同步方法、装置、计算机装置及存储介质

Country Status (2)

Country Link
CN (1) CN108551484B (zh)
WO (1) WO2019205345A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116820624B (zh) * 2023-08-29 2023-12-01 阿里健康科技(中国)有限公司 操作指令的发送方法、处理方法、装置、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254094A (zh) * 2016-07-19 2016-12-21 ***股份有限公司 一种数据同步方法及***
CN106802790A (zh) * 2015-11-26 2017-06-06 华为技术有限公司 基于云平台的应用用户使用信息管理的方法、设备及***
CN106980625A (zh) * 2016-01-18 2017-07-25 阿里巴巴集团控股有限公司 一种数据同步方法、装置及***
CN107391314A (zh) * 2017-07-31 2017-11-24 郑州云海信息技术有限公司 一种支持双活的数据一致性保持方法与装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260795B2 (en) * 2004-12-20 2007-08-21 Synopsys, Inc. Method and apparatus for integrating a simulation log into a verification environment
EP2716024B1 (en) * 2011-06-03 2018-09-19 UC Group Limited Systems and methods for registration, validation, and monitoring of users over multiple websites
US9131475B2 (en) * 2013-06-27 2015-09-08 Qualcomm Incorporated Fast acquisition in multi-subscriber identity module (SIM) devices
CN105637552B (zh) * 2013-08-16 2019-06-14 直观外科手术操作公司 用于在异构设备间记录和重播的***和方法
US10534795B2 (en) * 2016-07-18 2020-01-14 Hewlett Packard Enterprise Development Lp Maintaining consistent subscriber data on geo-redundant subscriber databases
CN107453872B (zh) * 2017-06-27 2020-08-04 北京溢思得瑞智能科技研究院有限公司 一种基于Mesos容器云平台的统一安全认证方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106802790A (zh) * 2015-11-26 2017-06-06 华为技术有限公司 基于云平台的应用用户使用信息管理的方法、设备及***
CN106980625A (zh) * 2016-01-18 2017-07-25 阿里巴巴集团控股有限公司 一种数据同步方法、装置及***
CN106254094A (zh) * 2016-07-19 2016-12-21 ***股份有限公司 一种数据同步方法及***
CN107391314A (zh) * 2017-07-31 2017-11-24 郑州云海信息技术有限公司 一种支持双活的数据一致性保持方法与装置

Also Published As

Publication number Publication date
CN108551484A (zh) 2018-09-18
WO2019205345A1 (zh) 2019-10-31

Similar Documents

Publication Publication Date Title
US10972537B2 (en) Protecting in-flight transaction requests
CN105556475A (zh) 请求处理技术
CN110083455B (zh) 图计算处理方法、装置、介质及电子设备
WO2017131774A1 (en) Log event summarization for distributed server system
US9507676B2 (en) Cluster creation and management for workload recovery
CN111444992B (zh) 基于信息码的用户信息查验方法及***
US10901863B2 (en) Unified data layer backup system
US10592399B2 (en) Testing web applications using clusters
US11960578B2 (en) Correspondence of external operations to containers and mutation events
US20220188192A1 (en) Identifying harmful containers
US20180225103A1 (en) Optimizing service deployment in a distributed computing environment
CN110677453A (zh) 基于ZooKeeper的分布式锁服务实现方法、装置、设备及存储介质
CN112035350B (zh) 针对区块链***的测试方法、装置及计算机设备
CN111338834B (zh) 数据存储方法和装置
US10789273B1 (en) Resource identifier allocation during network partitions
CN108551484B (zh) 用户信息同步方法、装置、计算机装置及存储介质
US10165088B2 (en) Providing unit of work continuity in the event initiating client fails over
US10606714B2 (en) Stopping central processing units for data collection based on event categories of events
US20150193496A1 (en) Indoor positioning service scanning with trap enhancement
US11818208B1 (en) Adaptive data protocol for IoT devices
CN112565472A (zh) 静态资源的处理方法和装置
CN114546705B (zh) 操作响应方法、操作响应装置、电子设备以及存储介质
US11163635B2 (en) Tracking cluster image mutation events
CN116743589B (zh) 云主机迁移方法、装置及电子设备
US11381496B1 (en) Testing a two-phase commit protocol conformance of a cloud based online transaction processing platform

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
GR01 Patent grant
GR01 Patent grant