一种账号数据处理系统及方法与流程

文档序号:31123237发布日期:2022-08-13 02:11阅读:151来源:国知局
一种账号数据处理系统及方法与流程

1.本发明涉及数据传输领域,具体而言,涉及一种账号数据处理系统及方法。


背景技术:

2.随着网络技术的日益发展,各种网络平台的体量越来越大,许多平台都需要将多个彼此独立的系统进行集成,以承载整个平台的数据。而每个独立的系统大多有其独立的账号体系,使得用户在使用集成系统时,可能需要在不同页面输入不同的账号,以使用归属于该平台下的各个功能。
3.现有技术通常是修改各系统中的账号认证逻辑,人为选取平台中的一个系统,将账号认证放在其中。但是,这样会使得作为账号系统承载过高的资源负担。


技术实现要素:

4.本发明的目的包括,例如,提供了一种账号数据处理系统及方法,其建立一个专门的中心账号系统与其他功能系统通信连接,至少以部分解决上述技术问题。
5.本发明的实施例可以这样实现:
6.第一方面,本发明实施例提供一种账号数据处理系统,所述账号数据处理系统包括账号中心系统以及至少一个功能系统,每个所述功能系统与账号中心系统通信连接;
7.所述账号中心系统中存储有中心账号数据,所述中心账号数据为全部所述功能系统的账号数据,所述账号中心系统用于实时获取用户发送的账号数据处理指令,并依据所述账号数据处理指令对所述中心账号数据进行处理,以更新所述中心账号数据,并将更新后的账号数据作为目标账号数据发送至所述功能系统;
8.每个所述功能系统包括数据库,所述数据库中备份有与所述中心账号数据相对应的本地账号数据,所述功能系统用于:获取来自所述账号中心系统的目标账号数据,判断所述数据库中是否有本地账号数据与所述目标账号数据对应;若否,则将所述目标账号数据存储于所述数据库中;若是,则用所述目标账号数据替换与所述目标账号数据对应的本地账号数据。
9.可选地,所述功能系统还用于:
10.通过标记清除算法,标记出无法与所述中心账号数据对应的本地账号数据;
11.删除无法与所述中心账号数据对应的本地账号数据。
12.可选地,所述通过标记清除算法,标记出无法与所述中心账号数据对应的本地账号数据,包括:
13.在获取来自所述账号中心系统的目标账号数据之前,基于标记清除算法,对所述数据库中的所有所述本地账号数据进行标记;
14.在用所述目标账号数据替换与所述目标账号数据对应的本地账号数据之后,基于所述标记清除算法,清除被替换的本地账号数据的标记。
15.可选地,所述目标账号数据以及所述本地账号数据均包括标识名,所述判断所述
数据库中是否有本地账号数据与所述目标账号数据对应,包括:
16.识别所述目标账号数据的标识名;
17.根据所述目标账号数据的标识名查找所述数据库中是否存在对应的所述本地账号数据的标识名;
18.若是,则判定所述数据库中有本地账号数据与所述目标账号数据对应;
19.若否,则判定所述数据库中没有本地账号数据与所述目标账号数据对应。
20.可选地,所述功能系统还用于:
21.当所述账号中心系统中的所述中心账号数据丢失时,接收用户发送的账号数据备份指令;
22.将部分或全部所述本地账号数据发送至所述账号中心系统;
23.所述账号中心系统,还用于:
24.接收来自所述功能系统发送的部分或全部所述本地账号数据,并基于所述标识名,对丢失的所述中心账号数据进行找回。
25.可选地,所述账号中心系统基于轻量级目录访问协议建立;所述数据库为mongodb数据库。
26.可选地,所述账号数据处理指令包括删除账号数据指令、修改账号数据指令以及新增账号数据指令。
27.可选地,所述功能系统还用于:
28.每获取一次来自所述账号中心系统的目标账号数据后,在目标间隔时间后,重新对所述账号中心系统的目标账号数据进行获取。
29.可选地,所述账号中心系统为windows系统的ad域控系统或linux系统的openldap系统。
30.第二方面,本发明实施例提供一种账号数据处理方法,应用于账号数据处理系统,所述账号数据处理系统包括账号中心系统以及至少一个功能系统,每个所述功能系统与账号中心系统通信连接;所述账号中心系统中存储有中心账号数据,所述中心账号数据为全部所述功能系统的账号数据;每个所述功能系统包括数据库,所述数据库中备份有与所述中心账号数据相对应的本地账号数据,所述方法包括:
31.所述账号中心系统实时获取用户发送的账号数据处理指令,并依据所述账号数据处理指令对所述中心账号数据进行处理,以更新所述中心账号数据,并将更新后的账号数据作为目标账号数据发送至所述功能系统;
32.所述功能系统获取来自所述账号中心系统的目标账号数据,判断所述数据库中是否有本地账号数据与所述目标账号数据对应;若否,则将所述目标账号数据存储于所述数据库中;若是,则用所述目标账号数据替换与所述目标账号数据对应的本地账号数据。
33.本发明实施例的有益效果包括,例如:通过专门的账号中心系统对集成系统中各个功能系统的账号数据进行管理,有效地解决了选取一个功能系统管理账号数据而导致的该系统运行资源不够的技术问题。
附图说明
34.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
35.图1为本技术提供的一种账号数据处理系统的系统架构图;
36.图2为本技术提供的一种账号数据同步的流程图;
37.图3为本技术提供的一种通过dn同步账号数据的流程图;
38.图4为本技术提供的一种账号数据找回的流程图;
39.图5为本技术提供的一种账号数据处理方法的流程图。
40.图标:100-账号数据处理系统;110-账号中心系统;120-功能系统;130-终端。
具体实施方式
41.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本技术实施例针对上述问题所提出的解决方案,都应该是发明人在发明过程中做出的贡献。
42.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
43.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
45.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
46.需要说明的是,在不冲突的情况下,本技术的实施例中的特征可以相互结合。
47.本技术提供了一种账号数据处理系统,包括账号中心系统以及至少一个功能系统,每个功能系统与账号中心系统通信连接;
48.账号中心系统中存储有中心账号数据,中心账号数据为全部功能系统的账号数据,账号中心系统用于实时获取用户发送的账号数据处理指令,并依据账号数据处理指令对中心账号数据进行处理,以更新中心账号数据,并将更新后的账号数据作为目标账号数据发送至功能系统;
49.每个功能系统包括数据库,数据库中备份有与中心账号数据相对应的本地账号数据,功能系统用于:获取来自账号中心系统的目标账号数据,判断数据库中是否有本地账号数据与目标账号数据对应;若否,则将目标账号数据存储于数据库中;若是,则用目标账号
数据替换与目标账号数据对应的本地账号数据。
50.请参考图1,本说明书实施例提供的一种账号数据处理系统100,包括账号中心系统110以及至少一个功能系统120,每个功能系统120与账号中心系统110通信连接。
51.账号数据处理系统100可以是一个集成系统,包括多个功能系统120以及一个账号中心系统110。每个功能系统120均可以具备不同的功能,例如oa系统、财务系统等。账号中心系统110可以是专有的账号系统,其中存储有中心账号数据。账号中心系统110与每个功能系统120通信连接,用于实时获取用户发送的账号数据处理指令,并依据账号数据处理指令对中心账号数据进行处理,以更新中心账号数据,并将更新后的账号数据作为目标账号数据发送至功能系统120。
52.在需要对中心账号数据进行处理时,用户可以直接在账号中心系统110上对中心账号数据进行处理,例如新增、修改、删除等等,其中,新增账号数据可以由用户在账号中心系统110发起新增账号数据指令、修改账号数据可以由用户在账号中心系统110发起修改账号数据指令、删除账号数据可以由用户在账号中心系统110发起删除号数据指令。在一种可选的实施例中,如图1所示,账号中心系统110可以与一个终端130连接,终端130可以是移动设备、也可以是远程计算机等设备。用户在需要对中心账号数据进行查看或处理时,可以通过终端130远程对账号中心系统110中的中心账号数据进行处理。
53.每个功能系统120都包括一个数据库,用于来自账号中心系统110的中心账号数据进行备份,存储为本地账号数据。当账号中心系统110的中心账号数据被用户进行新增、修改等更新操作时,账号中心系统110可以将更新后的账号数据作为目标账号数据发送给各个功能系统120,每个功能系统120获取来自账号中心系统110的目标账号数据,判断数据库中是否有本地账号数据与目标账号数据对应。
54.mongodb是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
55.因此,作为一种可选的实施例,可以采用nosql数据库mongodb作为功能系统120的数据库,来更有效地解决所提出的映射、备份相关的问题。
56.作为一种可选的实施例,可以通过账号数据的名称作为账号数据的唯一标识,命名方式可以是“日期字母+编号”的形式,例如一个账号数据是2022年4月20日创建的第202个账号数据,那么,其命名可以是“y2022april20th0202”。功能系统120在接收到来自账号中心系统110发来的目标账号数据时,可以通过目标账号数据的名称来判断数据库中是否有与目标账号数据名称相同的本地账号数据。
57.如果功能系统120的数据库中没有与目标账号数据名称相同的本地账号数据,则代表账号中心系统110发送的为新增的账号数据,那么功能系统120将该目标账号数据存储在数据库中;如果功能系统120的数据库中有与目标账号数据名称相同的本地账号数据,说明该目标账号数据可能是经过修改的账号数据,那么功能系统120则用该目标账号数据替换与其名称相同的本地账号数据,以完成本地账号数据的更新。
58.数据映射可以简单理解为一对一的数据关联操作,账户中心拥有多少个账户,对
应的业务系统就应该有多少个账户副本,在一些非认证类的操作,例如获取账户元信息时,可以直接在本地副本集中直接获取,减少请求账户中心系统的开销,提高系统的响应效率。
59.数据备份就是针对数据库的副本集再进行分片、集群化处理,保证在业务系统的数据库中这部分数据不会出现丢失现象。若业务系统的数据库中该部分数据丢失,将会为了某一条账户信息数据而去请求账户中心系统,若是所有业务系统都存在这样的类似“缓存击穿”的现象,则将会把压力回传给中心账户系统,严重时可能会造成中心账户系统因负载过高而宕机,届时所有依赖账户体系的系统都将受到影响。
60.而上述方案,则可以完成账号中心系统110与各个功能系统120中账号数据的映射以及备份。
61.除了账号数据的新增和修改,账号数据的管理中,还需要考虑账号数据的删除。作为一种可选的实施例,可以采用标记清除法,将无法与中心账号数据对应的本地账号数据标记出来,然后再删除带有标记的这部分本地账号数据,实现与账号中心系统110的数据同步。
62.示例性地,如图2所示,可以在获取来自账号中心系统110的目标账号数据之前,每个功能系统120对数据库中存储的全部本地账号数据进行标记,例如标记“(flag=false)”。当功能系统120接收到来自账号中心系统110的目标账号数据后,对目标账号数据进行新增以及替换,新增、替换后,将经过替换的本地账号数据的标记清除为“(flag=true)”。此时,被替换后的本地账号数据以及新增的本地账号数据均没有标记,剩下的还带有标记的本地账号数据即为账号中心系统110中未同步过来的账号数据,可以认为是账号中心系统110已经删除的账号数据,则删除这部分带有标记的本地账号数据,完成所有账号数据的同步。
63.需要说明的是,为了缓解系统内存的压力,在某些情况下,账号数据同步的动作是在一段时间内的一个持续性动作,不会一次性同步完所有的账号数据,功能系统120可以分批次取数据,而删除本地账号数据的步骤,应该在新增、替换账号数据全部完成之后进行。
64.ldap(light directory access portocol,轻量级目录访问协议)是一种用来查询与更新活动目录的目录服务访问协议,是具有一定的稳定性、规范性、通用性的约定。以ldap作为统一账号服务,可以有效解决账号体系不互通、不统一的问题,并且以该协议为规范,可以有效减少不同项目在对接账号系统时的成本。
65.作为一种可选的实施例,可以基于ldap协议建立账号中心系统110,以对账号数据进行同步。
66.ldap中有一个重要的概念dn(distinguished name,标识名称),该属性是一个路径枚举值,类似于文件系统中某一个文件的路径,该路径在全局是唯一的。因此,可以根据该dn值来实现ldap数据与数据库中的数据一一对应。
67.可选的,可以通过dn值来实现账号中心系统110与各个功能系统120之间的账号数据同步,如图3所示,为其步骤。目标账号数据以及本地账号数据均包括dn值(即路径枚举值),在功能系统120接收到来自账号中心系统110发送的目标账号数据时,可以先识别目标账号数据的dn值;根据目标账号数据的dn值,查找数据库中是否存在与该dn值所对应的本地账号数据的dn值;若存在,则判定数据库中有本地账号数据与目标账号数据对应,将dn值对应的本地账号数据替换为目标账号数据;若不存在,则判定数据库中没有本地账号数据
与目标账号数据对应,将该目标账号数据新增至数据库中。
68.可选地,如图4所示,功能系统120还用于:当账号中心系统110中的中心账号数据丢失时,接收用户发送的账号数据备份指令;将部分或全部本地账号数据发送至账号中心系统110;账号中心系统110,还用于接收来自功能系统120发送的部分或全部本地账号数据,并基于标识名,对丢失的中心账号数据进行找回。
69.为了防止账号中心系统110出现故障导致账号数据丢失,当账号中心系统110中存储的中心账号数据丢失时,可以通过任一个功能系统120的数据库中所存储的本地账号数据对账号中心系统110的账号数据找回。
70.具体地,账号中心系统110发生中心账号数据丢失的情况时会通过终端设备如手机、显示器或系统本身来提醒用户,用户可以在任一个功能系统120端将其数据库中备份的本地账号数据发送至账号中心系统110,账号中心系统110接收到来自功能系统120发送的本地账号数据后,仍可以通过dn值对其存储的中心账号数据进行新增,而新增的这部分账号数据即为账号中心系统110丢失的中心账号数据。
71.为了节约系统运行资源,用户可以根据实际情况在功能系统120端选择部分本地账号数据发送至账号中心系统110,具体选择哪些本地账号数据可以由用户根据实际情况自行选择,本说明书对此不做限定。
72.为了使功能系统120能够及时同步备份账号中心系统110中的中心账号数据,可以通过账号中心系统110定期发送心跳包给功能系统120的方式来进行数据的同步,从而降低出现性能瓶颈的几率。例如,账号中心系统110每间隔1个小时发送心跳包给功能系统120。
73.作为一种可选的实施例,账号中心系统110可以为基于ldap协议建立的windows系统的ad域控系统或linux系统的openldap系统。
74.基于同一发明构思,如图5所示,本说明书实施例还提供了一种账号数据处理方法,应用于账号数据处理系统100,账号数据处理系统100包括账号中心系统110以及至少一个功能系统120,每个功能系统120与账号中心系统110通信连接;账号中心系统110中存储有中心账号数据,中心账号数据为全部功能系统的账号数据;每个功能系统120包括数据库,数据库中备份有与中心账号数据相对应的本地账号数据,该方法包括:
75.账号中心系统110实时获取用户发送的账号数据处理指令,并依据账号数据处理指令对中心账号数据进行处理,以更新中心账号数据,并将更新后的账号数据作为目标账号数据发送至功能系统;
76.功能系统120获取来自账号中心系统的目标账号数据,判断数据库中是否有本地账号数据与目标账号数据对应;若否,则将目标账号数据存储于数据库中;若是,则用目标账号数据替换与目标账号数据对应的本地账号数据。
77.上述本技术实施例中的技术方案,至少具有如下的技术效果或优点:
78.1、通过专门的账号中心系统对集成系统中各个功能系统的账号数据进行管理,有效地解决了选取一个功能系统管理账号数据而导致的该系统运行资源不够的技术问题。
79.2、采用基于ldap协议建立的账号中心系统,可以很好地解决现代系统架构中账户体系互通困难且没有标准的问题。
80.3、使用标记清除法作为判断来自账号中心系统的账号数据是否被删除,可以有效区分功能系统中的本地账号数据是否还有效。
81.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
82.另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
83.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
84.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
85.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1