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

一种基于订阅发送模式的跨域用户数据同步方法与流程

2021-11-29 13:30:00 来源:中国专利 TAG:


1.本发明属于计算机技术领域,具体涉及一种基于订阅发送模式的跨域用户数据同步方法。


背景技术:

2.近年来,各类基于数据订阅发布模式的消息中间件已被广泛应用于各类信息系统中,用于处理应用系统内部的消息收发。消息中间件是基于队列与消息传递技术,在网络环境中提供异步或同步、可靠地消息传输的支撑性软件系统。
3.在特定的网络环境中,在每个区域内部署一套用户管理服务,用于提供本区域内的用户信息、角色信息、权限信息、登录认证等功能的服务。每个区域之间,也就是跨域场景,在特定的网络环境下,由于安全考虑,只允许开放特定的一个或几个端口用于数据交互,普通的http请求无法进行跨域场景的服务访问。因此,现有的消息中间件并不适用于这种特定的具有安全限制的网络环境。目前,用于实现跨域用户数据同步的方案依靠导出用户数据至离线文件中,再通过人工或可实现跨域传输文件的软件将该离线用户数据文件发送至目的域,再在目的域通过导入离线用户数据文件的方式,将源域的用户数据导入至该域内的用户服务。这种方案虽然可实现跨域用户数据的同步,但无法对全域的用户数据形成统一的编配管理,操作繁琐,跨域用户数据同步困难。


技术实现要素:

4.发明目的:本发明所要解决的技术问题是针对现有技术中,在具有安全限制的网络环境下,跨域用户数据同步困难的问题,提供一种基于订阅发送模式的跨域用户数据同步方法。
5.为了解决上述技术问题,本发明公开了一种基于订阅发送模式的跨域用户数据同步方法,包括如下步骤:
6.步骤s1:以当前用户所在区域的节点作为发送节点,其他区域的节点作为订阅节点,在每个节点内部署用户管理服务;
7.所述用户管理服务用于提供本区域的用户数据目录,所述用户数据目录包括用户信息数据、角色信息数据以及权限信息数据;所述用户管理服务能够为本区域内的用户信息数据、角色信息数据以及权限信息数据提供统一的管理功能以及全域唯一标识的管理与分配;所述用户管理服务还能够提供统一的用户登录认证功能;
8.各节点的用户管理服务通过指定的传输软件提供的接口进行用户数据传输;
9.步骤s2:用户在发送节点的用户管理服务内配置其他订阅节点的通信属性,配置完成后,发送节点拉取并形成全域用户数据目录;所述全域用户数据目录为全部区域的用户数据目录的集合;
10.步骤s3:用户在步骤s2中生成的全域用户数据目录中选择对应订阅节点内需要拉取的用户数据,并向该订阅节点发送订阅用户数据请求,且发送节点将该次订阅用户数据
请求记录至本节点内的订阅订单中;
11.步骤s4:订阅节点收到步骤s3中发送节点发送的订阅用户数据请求,解析后通过传输软件发送对应用户数据至发送节点,且订阅节点将此次发送信息记录至本节点内的发送订单中;
12.步骤s5:发送节点收到步骤s4中订阅节点发送的用户数据后,将用户数据持久化至本节点;
13.步骤s6:订阅节点内用户数据发生变化,订阅节点发送用户数据变化信息至发送节点,或者发送节点订阅用户数据变化信息。
14.进一步地,步骤s1中,所述全域唯一标识共14位;其中,前5位为地域标识,地域标识的前2位代表大地域划分,如东部、西部、南部、北部等,使用数字标识;后3位为大地域下的小区域划分,使用数字标识;第6位标识数据类型,y代表用户信息数据、j代表角色数据、q代表权限数据;后8位由当前时间为输入生成的8位随机字符串;用户管理服务可通过解析该全域唯一标识,判断该数据属于的区域、类型等信息。
15.进一步地,订阅节点与发送节点间通过传输软件进行数据传输,所述传输软件基于udp传输协议,数据传输时,只需指定目的端ip地址以及传输软件的端口号。
16.进一步地,所述步骤s2中,用户在发送节点登录用户管理服务,通过用户管理服务的管理页面配置其他订阅节点的通信属性,所述通信属性为传输软件进行udp传输时所需的目的端ip地址和消息标识号。
17.进一步地,所述步骤s3中,利用键值对来表示订阅用户数据请求,键为订阅节点id以及订阅数据类型,值为所需订阅数据在所属订阅节点内的全域唯一标识id;订阅订单记录了发送节点向订阅节点发送的所有订阅用户数据请求的记录,订阅订单为键值对的集合。
18.进一步地,所述订阅数据类型包括:用户信息数据、角色信息数据以及权限信息数据;用户信息数据包括用户名称、用户登录名、用户性别以及用户民族;角色信息数据包括角色名称以及角色描述;权限信息数据包括权限类型、权限名称以及权限描述信息。
19.进一步地,所述步骤s4包括:
20.步骤s41:订阅节点收到步骤s3中发送节点通过传输软件发送过来的订阅用户数据请求;
21.步骤s42:订阅节点对收到的订阅用户数据请求进行解析,根据订阅数据类型以及所需订阅数据在所属订阅节点内的全域唯一标识id,搜索本节点内对应的数据;
22.步骤s43:订阅节点将搜索到的数据通过传输软件传输至发送节点;
23.步骤s44:订阅节点将此次发送信息记录至本节点内的发送订单中;所述发送信息包括订阅数据类型、发送节点id、所需订阅数据在本节点内的全域唯一标识id以及所需订阅数据在本节点内的更新时间;所述发送订单记录了本订阅节点向发送节点发送的所有发送信息,发送订单为发送信息的集合。
24.进一步地,步骤s4中,发送节点的用户管理服务接收到来自订阅节点的用户数据,将其新增至本节点内;新增完成后,将新增成功回执消息发送至发送订阅节点,确认新增完成;若两次新增数据不成功,标记该条数据为推送失败记录,可由用户手动进行发送或取消订阅的操作。
25.进一步地,所述步骤s6包括:
26.(1)订阅节点更新或删除了对应用户数据,更新或删除后的用户数据在本订阅节点内的全域唯一标识id在发送订单中进行遍历,匹配后将会启动新的线程执行发送更新或删除数据消息至发送节点;
27.(2)订阅节点内新增了用户数据,若发送节点需要拉取该条新增用户数据,则需重复步骤s2至s5,进行订阅操作。
28.进一步地,步骤s6中,若订阅节点内的该条用户数据信息进行了更新,在更新成功后,根据该条数据的全域唯一标识扫描发送订单内的记录,将相关数据通过订单内记录的节点信息发送至发送节点的用户管理服务或其他订阅该条记录的发送节点中,并标识该条数据的操作类型为更新操作。
29.进一步地,步骤s6中,发送节点收到来自订阅节点的更新或删除数据消息后,将更新的用户数据更新至本节点内或删除本节点内的对应用户数据,完成后发送回执消息至订阅节点,确认更新或删除完成。
30.进一步地,步骤s6中,若订阅节点收到发送节点发送的确认更新或删除完成消息,则更新或删除操作完成,否则订阅节点会重新向发送节点发送更新或删除数据消息;若两次以上更新或删除数据不成功,则标记该条数据为推送失败记录,可由用户手动进行更新或删除操作。
31.进一步地,步骤s6中,若订阅节点内新增了某条用户数据,若发送节点需要拉取该条新增用户数据,则需要在订阅节点中重新进行订阅操作。
32.进一步地,步骤s6中,当发送节点的用户管理服务不再需要之前订阅的用户数据,则在发送节点中选择需要退订的用户数据,进行退订操作后,发送节点内相关的用户数据将不再保留,并删除发送节点相关的订阅订单,同时将退订信息发送至订阅节点,订阅节点也将删除相关的发送订单。
33.进一步地,所述节点内的用户只对本节点的用户数据具有操作权限,即属地操作权限。
34.有益效果:在具有安全限制的网络环境中,各节点间只能通过指定的传输软件进行通信,这限制了各个节点间的正常通信,各个节点间的用户数据无法通过普通的http等方式进行汇总和同步。因此,本发明提供了基于订阅发送模式下的用户数据同步的方式,通过用户管理服务使用传输软件作为通信手段,实现了各节点间跨域用户数据的同步。此外,基于订阅发送的模式进行的用户数据同步能够最大程度的与用户服务业务的解耦,订阅、发送功能通过新起的线程进行,不影响本节点内的正常业务的流转处理。基于订阅发送的模式进行的用户数据同步可有效的利用带宽资源,将用户数据进行按需的订阅和发送、同步推送功能。最后,所述属地修改的用户数据权限可有效的避免用户数据的修改冲突,并能够保护用户数据的安全性。
附图说明
35.图1是本发明提供的一种基于订阅发送模式的跨域用户数据同步方法的示意图;
36.图2是本发明具体实施方式提供的一种基于订阅发送模式的跨域用户数据同步方法流程图;
37.图3是本发明具体实施例中的订阅发送流程图。
具体实施方式
38.下面结合附图和具体实施方式对本发明做更进一步的具体说明。
39.如图1所示,本发明提出的一种基于订阅发送模式的跨域用户数据同步方法,包括如下步骤:
40.步骤s1:以当前用户所在区域的节点作为发送节点,其他区域的节点作为订阅节点,在每个节点内部署用户管理服务;
41.所述用户管理服务用于提供本区域的用户数据目录,所述用户数据目录包括用户信息数据、角色信息数据以及权限信息数据;所述用户管理服务能够为本区域内的用户信息数据、角色信息数据以及权限信息数据提供统一的管理功能以及全域唯一标识的管理与分配;所述用户管理服务还能够提供统一的用户登录认证功能;
42.各节点的用户管理服务通过指定的传输软件提供的接口进行用户数据传输;
43.步骤s2:用户在发送节点的用户管理服务内配置其他订阅节点的通信属性,配置完成后,发送节点拉取并形成全域用户数据目录;所述全域用户数据目录为全部区域的用户数据目录的集合;
44.步骤s3:用户在步骤s2中生成的全域用户数据目录中选择对应订阅节点内需要拉取的用户数据,并向该订阅节点发送订阅用户数据请求,且发送节点将该次订阅用户数据请求记录至本节点内的订阅订单中;
45.步骤s4:订阅节点收到步骤s3中发送节点发送的订阅用户数据请求,解析后通过传输软件发送对应用户数据至发送节点,且订阅节点将此次发送信息记录至本节点内的发送订单中;
46.步骤s5:发送节点收到步骤s4中订阅节点发送的用户数据后,将用户数据持久化至本节点;
47.步骤s6:订阅节点内用户数据发生变化,订阅节点发送用户数据变化信息至发送节点,或者发送节点订阅用户数据变化信息。
48.以节点a为发送节点,节点b作为订阅节点,结合如图2所示的流程图,对本发明所述方法做详细说明。
49.在本节点a内的用户管理服务配置其他节点的通信属性,具体为:通过用户管理服务的管理页面和命令行配置其他发送节点的通信属性,所述通信属性为传输软件进行udp传输时所需的目的端ip地址和消息标识号,配置完成后,能够通过其通信属性获取用户数据目录以及用户数据的跨域发送,在节点a内生成全域用户数据目录;
50.在节点a的用户管理服务的全域用户数据目录中订阅需要拉取的节点b的用户数据,记录该订阅用户数据请求为一条订阅订单记录;
51.节点a的用户管理服务依托已配置的节点b的通信属性,将订阅用户数据请求发送至节点b;
52.节点b的用户管理服务接收到来自节点a的订阅用户数据请求,将该条请求记录至发送订单中,并将节点a选择的用户数据信息发送至节点a;
53.节点a的用户管理服务接收到来自节点b的用户数据,将其新增至本节点内;新增
完成后,将新增成功回执消息发送至节点b,确认新增完成;若两次新增数据不成功,标记该条数据为推送失败记录,可由用户手动进行发送或取消订阅的操作;
54.若节点b将该条用户数据信息进行了修改,修改成功后,根据该条数据的全域唯一标识id遍历发送订单内的记录,将相关数据通过订单内记录的节点信息发送至节点a的用户管理服务或其他订阅该条记录的节点中,并标识该条数据的操作类型为更新操作;
55.节点a的用户管理服务接收到来自节点b的更新用户数据信息,将更新的用户数据更新至本节点内,更新成功后发送回执消息至节点b,确认更新完成;
56.若节点b的用户管理服务收到了节点a发送的确认更新完成消息,则更新推送流程完成,否则将尝试重新发送更新消息,若两次尝试失败则标记该条更新数据未发送成功;
57.若节点b新增了某条用户数据,若节点a需要拉取该条记录,则需要在节点a重新进行订阅操作;
58.当节点a的用户管理服务不再需要之前订阅的用户数据,则在节点a选择需要退订的用户数据,进行退订操作后,节点a内相关的用户数据将不再保留,并删除节点a相关的订阅订单,同时将退订信息发送至节点b,节点b也将删除相关的发送订单。
59.实施例1
60.在节点a使用节点b内的用户“张三”进行跨域登录的执行步骤如下:
61.步骤1,用户在节点a登录用户管理服务,在用户管理服务的界面中配置节点b的通信属性,获取节点b的用户数据目录,形成全域用户数据目录;
62.步骤2,在节点a的用户管理服务中的全域用户数据目录中选择节点b内的用户“张三”;
63.步骤3,节点b的用户管理服务接收到订阅请求,将“张三”的用户数据通过传输软件发送至节点a的用户管理服务内;
64.步骤4,节点a的用户管理服务接收到节点b发送来的“张三”的数据,将该数据存储至本节点内;
65.步骤5,用户可通过跨域的“张三”用户在节点a进行登录。
66.实施例2
67.用户数据订阅发送流程的执行步骤如下,如图3所示:
68.步骤1,节点a(节点a的id为01001)内的用户管理服务向节点b(节点b的id为01002)内的用户管理服务发起订阅用户数据(用户数据id分别为
69.01002y12345678、01002y23456789)请求,节点a将此次订阅用户数据请求记录至节点a内的订阅订单中,其订阅订单包含订阅数据类型(user,用户信息数据)、订阅节点id(节点b的id为01002)以及所需订阅数据在所属订阅节点内的全域唯一标识id(分别为01002y12345678、01002y23456789);
70.节点a的用户管理服务向节点c(节点c的id为01003)内的用户管理服务发起订阅角色信息数据(id为01003j12345678)、权限信息数据(id为01003q12345678)的请求,节点a的用户管理服务将此次订阅用户数据请求记录至节点a用户管理服务内的订阅订单中,其订阅订单包含订阅数据类型(分别为role,角色信息数据;resource,权限信息数据)、订阅节点id(节点c的id01003)以及所需订阅数据在所属订阅节点内的全域唯一标识id(分别为01003j12345678、01003q12345678);
71.步骤2,节点b的用户管理服务接收到请求后,解析从节点a发送的订阅用户数据请求,根据订阅数据类型、所需订阅数据在所属订阅节点内的全域唯一标识id,搜索本域内对应的数据,返回至节点a;同时记录该发送记录至节点b用户管理服务的发送订单内,其发送订单包含订阅数据类型(user,用户信息数据)、发送节点id(节点a的id为01001)、以及所需订阅数据在所属订阅节点内的全域唯一标识id(分别为01002y12345678、01002y23456789);
72.节点c的用户管理服务接收到请求后,解析从节点a发送的订阅用户数据请求,根据订阅数据类型、所需订阅数据在所属订阅节点内的全域唯一标识id,搜索本节点内对应的数据,返回至节点a;同时记录该发送记录至节点c用户管理服务的发送订单内,其发送订单包含订阅数据类型(分别为role,角色信息数据;resource,权限信息数据)、发送节点id(节点a的id01001),以及所需订阅数据在所属订阅节点内的全域唯一标识id(分别为01003j12345678、01003q12345678);
73.步骤3,节点a的用户管理服务接收到节点b返回的用户数据,将其存储至本地;节点a的用户管理服务接收到节点c返回的用户数据,将其存储至本地。
74.本发明提供了一种基于订阅发送模式的跨域用户数据同步方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献