CN115623009A - 主动防御网关访客数据备份及节点在线扩容方法与*** - Google Patents

主动防御网关访客数据备份及节点在线扩容方法与*** Download PDF

Info

Publication number
CN115623009A
CN115623009A CN202211630074.4A CN202211630074A CN115623009A CN 115623009 A CN115623009 A CN 115623009A CN 202211630074 A CN202211630074 A CN 202211630074A CN 115623009 A CN115623009 A CN 115623009A
Authority
CN
China
Prior art keywords
visitor
gateway
node
data
visitor data
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.)
Granted
Application number
CN202211630074.4A
Other languages
English (en)
Other versions
CN115623009B (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.)
Nanjing Cyber Peace Technology Co Ltd
Original Assignee
Nanjing Cyber Peace Technology 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 Nanjing Cyber Peace Technology Co Ltd filed Critical Nanjing Cyber Peace Technology Co Ltd
Priority to CN202211630074.4A priority Critical patent/CN115623009B/zh
Publication of CN115623009A publication Critical patent/CN115623009A/zh
Application granted granted Critical
Publication of CN115623009B publication Critical patent/CN115623009B/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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • 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)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种主动防御网关访客数据备份及节点在线扩容方法与***。本发明首先构造一个二维数组作为访客节点表,表中每一行记录负责存储一组访客数据的多个不同的网关节点标识,各网关节点标识均匀分布在二维数组中;网关节点根据访客标识从本地或备份网关节点查找最新访客数据执行业务流程;如果访客数据有更新,则将更新时间反馈给请求端,并在备份该数据的所有网关节点之间同步最新的访客数据。本发明还设计了网关节点在线扩容的访客数据获取和备份流程。本发明能够提高网关的可用性和可靠性,能够有效支持网关节点的在线扩容,避免在线扩容操作使网关业务中断。

Description

主动防御网关访客数据备份及节点在线扩容方法与***
技术领域
本发明涉及一种主动防御网关访客数据备份及节点在线扩容方法与***,属于网络安全技术领域。
背景技术
主动防御网关是用于保护Web站点的一种安全网关。主动防御网关在收到用户侧发来的访问请求之后,通过下发Cookie、收集设备信息等方式精确定位每一个访客。在网关内部,会为访客生成一个全局唯一的访客标识,用在存储访客基础信息、存储访问日志、针对访客进行访问控制等场合。
主动防御网关按照站点业务规模的大小,其部署方式可分为单机部署和集群部署。对于集群式主动防御网关,负载均衡设备按照一定的规则(例如用源IP或者访客标识映射到主动防御网关的各网关节点),将用户侧的访问请求分发到各网关节点。网关节点在收到访问请求后,进行访客识别、访问控制等操作,然后转发到后端的Web站点。
用户侧的访问请求被调度某个网关节点后,产生的访客数据一般只保存在该网关节点上,当某个网关节点失效或负载均衡设备依据的调度信息变化后,无法保证重新调度后能够正常处理请求。
为了实现访客数据的冗余备份,可以采用的方法是依据访客标识进行散列,将访客数据保存到不同的网关节点上。但是随着运行时间越来越长,各个网关节点累积的访客数据越来越多;另外网站的业务也可能出现预期外的增长。此时需要考虑对集群进行扩容,也就是增加网关节点。增加网关节点会影响访客数据的分布,需要停机进行数据迁移。根据访客数据的规模,停机时间可能需要若干小时。这对于某些网站来说是不可接受的。
发明内容
发明目的:针对上述现有技术存在的问题,本发明目的在于提供一种主动防御网关访客数据备份及节点在线扩容方法与***,通过设计较好的访客数据备份机制,提高网关的可用性和可靠性,并且该访客数据备份机制能够有效支持网关节点的在线扩容,避免在线扩容操作使网关业务中断。
技术方案:为实现上述发明目的,本发明采用如下技术方案:
一种主动防御网关访客数据备份方法,包括如下步骤:
构造M行R列的二维数组作为访客节点表,其中每一行记录负责存储一组访客数据的多个不同的网关节点标识,M是预设的访客节点表总行数,R是预设的访客数据的副本数;各网关节点标识均匀分布在二维数组中;所述访客节点表同步到所有网关节点上;
网关节点收到负载均衡设备调度的访问请求后,根据访客标识查找本地访客数据,若本地存在访客数据且是最新的,则取出本地访客数据执行业务流程;否则,对访客标识进行哈希运算后再对M取模,得到访客节点表索引I,从访客节点表的第I行获取网关节点,取出最新的访客数据执行业务流程;
在执行业务流程过程中,如果访客数据有更新,则将更新时间反馈给请求端,并在访客节点表的第I行的所有网关节点之间同步最新的访客数据。
作为优选,所述访客节点表的构造方法为:首先生成首列,所有网关节点标识逐一填入,首列中每个网关节点标识出现的次数不超过CEIL(M/N),CEIL表示向上取整,N是网关节点总数;然后生成每一行的其余列,满足同一行内没有重复的网关节点标识,整个访客节点表中每个网关节点标识出现的次数不超过CEIL(R×M/N)。
作为优选,网关节点从访问请求中获取访客标识和访客数据的更新时间,根据访客标识查找本地访客数据及本地更新时间,若存在本地访客数据且本地更新时间不早于访问请求中携带的更新时间,则使用本地访客数据;否则,从访客节点表的第I行依次获取网关节点,找出最新的访客数据;对于新访客,在本地创建访客数据,并将访客数据同步到访客节点表的第I行的所有网关节点。
一种主动防御网关的节点在线扩容方法,利用所述的主动防御网关访客数据备份方法对访客数据进行备份;在扩容操作时,将旧的访客节点表复制为新的访客节点表,并在新表上进行调整,使得首列中每个网关节点标识出现的次数不超过CEIL(M/N’),整表中每个网关节点标识出现的次数不超过CEIL(R×M/N’);生成的新的访客节点表同步到所有网关节点上;N’是扩容后的网关节点总数;
在配置为在线扩容状态时,网关节点对访客数据的处理包括如下步骤:
网关节点在处理访问请求时,若本地及根据访客标识计算得到的新的访客节点表的第I行中的首个非本地网关节点中查找不到访客数据,则从旧的访客节点表的第I行中的网关节点中获取最新的访客数据执行业务流程;
在执行业务流程过程中,如果访客数据有更新,则将更新时间反馈给请求端,并在新的访客节点表的第I行的所有网关节点之间同步最新的访客数据。
作为优选,新的访客节点表中数据调整的方法包括:先遍历首列,如果一个网关节点标识在首列出现的次数超过最大次数,则将超过的部分替换为一个新的网关节点标识;再遍历首列以外的其余列,对于每一个网关节点,如果在整表中出现次数超过最大次数,则将超过的部分替换为一个新的网关节点标识,同时保证同一行内没有重复的网关节点标识,每个新的网关节点标识在整表中出现次数不超过最大次数。
进一步地,在开始扩容后,在每一个网关节点上启动一个后台任务,所述后台任务扫描本地访客数据,对每一个访客数据A,根据其中的访客标识计算得到索引I,向新的访客节点表中的第I行的网关节点查询访客数据A的状态,如果被查询的网关节点上没有访客数据A,则主动推送到被查询的网关节点上;在新的访客节点表中的第I行的所有网关节点都遍历后,若自身网关节点标识不在新的访客节点表中的第I行, 则删除本地访客数据A;所有网关节点上的后台任务完成本地访客数据扫描后,清除旧的访客节点表,从在线扩容状态恢复到正常运行状态。
基于相同的发明构思,本发明提供一种主动防御网关***,包括负载均衡设备和多个网关节点,所述负载均衡设备将访问请求调度到网关节点;所述***还包括:访客节点表构造模块,用于构造M行R列的二维数组作为访客节点表,并同步到所有网关节点上,所述访客节点表中每一行记录负责存储一组访客数据的多个不同的网关节点标识,各网关节点标识均匀分布在二维数组中;所述访客节点表同步到所有网关节点上;
所述网关节点,设有访客数据获取模块,以及访客数据备份模块;
所述访客数据获取模块,用于网关节点收到负载均衡设备调度的访问请求后,根据访客标识查找本地访客数据,若本地存在访客数据且是最新的,则取出本地访客数据执行业务流程;否则,对访客标识进行哈希运算后再对M取模,得到访客节点表索引I,从访客节点表的第I行获取网关节点,取出最新的访客数据执行业务流程;
所述访客数据备份模块,用于在执行业务流程过程中,如果访客数据有更新,则将更新时间反馈给请求端,并在访客节点表的第I行的所有网关节点之间同步最新的访客数据。
进一步地,所述***还包括访客节点表扩容模块,用于在扩容操作时,将旧的访客节点表复制为新的访客节点表,并在新表上进行调整,使得首列中每个网关节点标识出现的次数不超过CEIL(M/N’),整表中每个网关节点标识出现的次数不超过CEIL(R×M/N’);生成的新的访客节点表同步到所有网关节点上;
在配置为在线扩容状态时,网关节点对访客数据的处理包括如下步骤:
所述访客数据获取模块,在处于在线扩容状态时,若本地及根据访客标识计算得到的新的访客节点表的第I行中的首个非本地网关节点中查找不到访客数据,则从旧的访客节点表的第I行中的网关节点中获取最新的访客数据执行业务流程;
所述访客数据备份模块,在处于在线扩容状态时,如果访客数据有更新,在新的访客节点表的第I行的所有网关节点之间同步最新的访客数据。
进一步地,所述网关节点还设有数据迁移模块,用于在开始扩容后,在每一个网关节点上启动一个后台任务,所述后台任务扫描本地访客数据,对每一个访客数据A,根据其中的访客标识计算得到索引I,向新的访客节点表中的第I行的网关节点查询访客数据A的状态,如果被查询的网关节点上没有访客数据A,则主动推送到被查询的网关节点上;在新的访客节点表中的第I行的所有网关节点都遍历后,若自身网关节点标识不在新的访客节点表中的第I行, 则删除本地访客数据A;所有网关节点上的后台任务完成本地访客数据扫描后,清除旧的访客节点表,从在线扩容状态恢复到正常运行状态。
基于相同的发明构思,本发明提供一种计算机***,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的主动防御网关访客数据备份方法的步骤,或者实现所述的主动防御网关的节点在线扩容方法的步骤。
有益效果:与现有技术相比,本发明具有如下优点:1.本发明通过访客节点表记录访客数据副本与网关节点的对应关系,在被调度的网关节点本地没有最新访客数据时,可以从访客节点表中查找出备份节点获取最新访客数据处理业务流程,能够有效应对网关节点失效或调度信息变化的情形,保证重新调度后能够正常处理请求,提高了网关的可用性和可靠性。2.本发明构造的访客节点表中,网关节点是均匀分布的,有效保障访客数据的备份的均衡性。3.基于本发明设计的访客节点表结构,以及扩容后的访客节点表和数据迁移方式,能够有效解决在线扩容时访客数据的查找和同步问题,避免了在线扩容操作导致网关业务中断。4.本发明进一步设计了后台任务进行数据迁移和清理,有效加快了扩容进程。5.本发明设计的扩容方案,能够支持大规模扩容,保证扩容效率的同时,不降低访客数据的可用性。
附图说明
图1为本发明实施例的访客数据备份方法流程示意图。
图2为本发明实施例中访客节点表结构示意图。
图3为本发明实施例的网关节点在线扩容方法流程示意图。
图4为本发明实施例中的访客节点表迁移示意图,其中(a)为旧表,(b)为新表。
具体实施方式
下面将结合附图和具体实施例,对本发明的技术方案进行清楚、完整的描述。
如图1所示,本发明实施例公开的一种主动防御网关访客数据备份方法,首先构造M行R列的二维数组作为访客节点表,同步到所有网关节点上;其中每一行记录负责存储一组访客数据的多个不同的网关节点标识,各网关节点标识均匀分布在二维数组中; 网关节点收到负载均衡设备调度的访问请求后,根据访客标识查找本地访客数据,若本地存在访客数据且是最新的,则取出本地访客数据执行业务流程;否则,对访客标识进行哈希运算后再对M取模,得到访客节点表索引I,从访客节点表的第I行获取网关节点,取出最新的访客数据执行业务流程;在执行业务流程过程中,如果访客数据有更新,则将更新时间反馈给请求端,并在访客节点表的第I行的所有网关节点之间同步最新的访客数据。
具体地,本发明设计的访客节点表如图2。该访客节点表由M行R列的二维数组组成,其中每一行表示负责存储一组访客数据的网关节点(图中a、b、c、d表示不同的网关节点标识);M是预设的访客节点表总行数,R是预设的访客数据的副本数;R根据网关业务的备份要求设定,一般为2或者3即可。列方向的0~M-1为访客节点表的位置索引。给定一个访客标识,经过哈希运算后,对M取模,得到的余数就是位置索引I,从而得到第I行的R个网关节点,就是存储这个访客数据的网关节点。M的取值一般来说要远大于集群中网关节点总数N,太小的话会影响访客数据的均衡程度,可以取N的数十倍。比如通常N小于10,那么M取1024是可行的。
在构造访客节点表时,首先生成第0列,将所有网关节点标识逐一填入,顺序不重要,只要保证最后第0列每个网关节点标识出现的次数尽可能平均。随后生成每一行余下的数据,规则有两点:1、同一行内没有重复的网关节点标识;2、整个访客节点表,每个网关节点标识出现的次数尽可能平均。在实际操作时,可以预先计算网关节点标识的最大出现次数,为CEIL(R×M/N),其中CEIL为向上取整函数。在生成访客节点表的过程中,持续统计每个网关节点标识已经出现的次数,如果达到这个最大出现次数,就不再参与后续的生成过程。访客节点表生成好之后,同步到集群的所有网关节点上。
在负载均衡设备上设置调度方法,本实施例中将源地址作为选取网关节点的参数,将HTTP请求调度到某网关节点。使每个访客的HTTP请求尽量稳定的调度到对应的网关节点,能够保证网关节点上的访客数据是最新的,避免某些极端情况下访客数据未完成同步而出现读老数据的问题。
网关节点在收到HTTP请求之后,按照预设的方法(如设备指纹、Cookie ID等),找出发起这个HTTP的访客标识;并从HTTP请求尝试取出访客数据更新时间(通过Cookie携带),用于网关节点检查本地存储的访客数据的有效性。随后用访客标识查找本地访客数据,如果找到,且本地访客数据的更新时间不早于HTTP请求中携带的访客数据更新时间,那么认为本地访客数据是新的、有效的,可以取出本地访客数据执行业务流程。个别异常情况,HTTP请求中没有携带访客数据更新时间,无法检查访客数据的有效性,那么默认本地访客数据可能是无效的。不论是在本地未找到访客数据,还是访客数据失效,都对访客标识进行哈希运算后再对M取模,得到访客节点表索引I,从访客节点表中的第I行取出第一个非本地网关节点,尝试远程读取访客数据。如果这个网关节点不在线或者因故障而读取失败,那么找出下一个网关节点,继续尝试。如此反复直到成功或者遍历完访客节点表的整行。对于新访客,在尝试从第一个网关节点读取时,提示找不到而非故障,在正常运行状态下,由当前处理HTTP请求的网关节点创建新的访客数据。
在执行业务流程过程中,如果访客数据有更新,则在HTTP响应消息中通过Cookie将访客数据更新时间发送给浏览器,并在访客节点表的第I行的所有网关节点之间同步最新的访客数据。
基于上述设计的访客节点表和访客数据备份机制,可以实现网关节点在线扩容。如图3所示,本发明实施例公开的一种主动防御网关的节点在线扩容方法,在扩容操作时,增加新的访客节点表,将旧的访客节点表数据迁移到新表中,对新表进行调整,同时保留旧表;配置当前状态为在线扩容状态时,网关节点在处理访问请求时,若本地及根据访客标识计算得到的新的访客节点表的第I行中的首个非本地网关节点中查找不到访客数据,则从旧的访客节点表的第I行中的网关节点中获取最新的访客数据执行业务流程;在执行业务流程过程中,如果访客数据有更新,则将更新时间反馈给请求端,并在新的访客节点表的第I行的所有网关节点之间同步最新的访客数据。
具体地,为了支持在线扩容,在访客节点表的第I行的第一个网关节点上找不到访客数据时,需要考虑集群当前是否处于在线扩容状态。如果是在线扩容状态,那么扩容后的新的访客节点表的第一个网关节点,有可能是新的网关节点,找不到访客数据是正常的;这时需要找到原来旧表的第I行的第一个网关节点,从中提取访客数据。因此,在扩容操作时,除了生成新的访客节点表,我们还会暂时保留原来的访客节点表,以便扩容过程中查找访客数据用。
如图4所示,新的访客节点表的生成,是基于旧表的,目的是为了尽量减少访客数据的迁移量。我们将旧表复制为新表,然后在新表上面查询和修改。首先根据新的网关节点数N’,计算首列中每个网关节点的最大出现次数A=CEIL(N’/M),然后遍历首列,如果一个网关节点在首列出现的次数超过最大出现次数A,就替换为一个新的网关节点,同时保证这个新的网关节点在首列出现的次数不超过最大出现次数A。随后,计算整个新表内每个网关节点的最大出现次数B=CEIL(R*M/N’)。遍历除首列以外的区域,对每一个网关节点,如果它在新表中的出现次数超过最大出现次数B,就替换为一个新的网关节点,并保证选取的网关节点在当前行内不存在,同时它在新表中的出现次数不超过最大出现次数B。这样生成的新表,不论在首列还是整表范围,都是均衡的。
使用新旧两个访客数据表的目的,是为了支持大规模扩容。比如原本3个节点的集群,扩容到10个节点。如果只使用一张表,那么对现有访客节点表的修改太多,可能出现某些访客数据副本数不够的情况,影响网关业务的可用性。
在执行业务流程的过程中,如果新建或者修改了访客数据中重要的信息(比如识别出访客类型),需要发起同步,同时在HTTP响应消息中通过Cookie将访客数据更新时间发送给浏览器。同步的目标网关节点与上述远程读取访客数据的过程中涉及网关节点相同,取自访客节点表,以访客标识为关键字,哈希运算后找到对应的R个网关节点(R为访客数据副本数),由本节点向所取的R个网关节点同步访客数据。传输访客数据采用的协议UDP、TCP或者HTTP都可以,没有限制。细节上,如果所取的网关节点包括了本节点,那么跳过即可。在正常运行状态和在线扩容状态中,访客数据同步的执行流程是相同的,只需要参考新的访客节点表。也就是说,处于在线扩容状态中,一个访客数据变更了,它在原来的访客节点表中对应的网关节点,不再收到变更后的数据。
为了加快扩容过程,除了上述由请求触发的访客数据同步外,我们在开始扩容后在每一个网关节点上启动一个后台任务。这个后台任务扫描本节点的访客数据,对每一个访客数据,依据新的访客节点表计算归属的R个网关节点,向这些网关节点查询这个访客数据的状态。如果被查询的网关节点上没有这个访客数据,那么主动推送到这些网关节点。如果被查询的网关节点上已经存在这个访客数据,或者主动推送完成完成,那么再检查本节点是否位于这个访客的R个网关节点列表中,如果不在,就从本节点删除这个访客数据。当所有网关节点完成扫描访客数据时,清除原来的访客节点表,使集群从在线扩容状态恢复到正常运行状态。
基于相同的发明构思,本发明实施例公开的一种主动防御网关***,包括负载均衡设备和多个网关节点,以及访客节点表构造模块,负载均衡设备将访问请求调度到网关节点;访客节点表构造模块,用于构造M行R列的二维数组作为访客节点表,并同步到所有网关节点上,访客节点表中每一行记录负责存储一组访客数据的多个不同的网关节点标识,各网关节点标识均匀分布在二维数组中;访客节点表同步到所有网关节点上。
网关节点,设有访客数据获取模块,以及访客数据备份模块;访客数据获取模块,用于网关节点收到负载均衡设备调度的访问请求后,根据访客标识查找本地访客数据,若本地存在访客数据且是最新的,则取出本地访客数据执行业务流程;否则,对访客标识进行哈希运算后再对M取模,得到访客节点表索引I,从访客节点表的第I行获取网关节点,取出最新的访客数据执行业务流程;访客数据备份模块,用于在执行业务流程过程中,如果访客数据有更新,则将更新时间反馈给请求端,并在访客节点表的第I行的所有网关节点之间同步最新的访客数据。
进一步地,***还包括访客节点表扩容模块,用于在扩容操作时,将旧的访客节点表复制为新的访客节点表,并在新表上进行调整,使得首列中每个网关节点标识出现的次数不超过CEIL(M/N’),整表中每个网关节点标识出现的次数不超过CEIL(R×M/N’)。在配置为在线扩容状态时,网关节点对访客数据的处理包括如下步骤:
访客数据获取模块在处于在线扩容状态时,若本地及根据访客标识计算得到的新的访客节点表的第I行中的首个非本地网关节点中查找不到访客数据,则从旧的访客节点表的第I行中的网关节点中获取最新的访客数据执行业务流程;
访客数据备份模块在处于在线扩容状态时,如果访客数据有更新,在新的访客节点表的第I行的所有网关节点之间同步最新的访客数据。
进一步地,网关节点还设有数据迁移模块,用于在开始扩容后,在每一个网关节点上启动一个后台任务,后台任务扫描本地访客数据,对每一个访客数据A,根据其中的访客标识计算得到索引I,向新的访客节点表中的第I行的网关节点查询访客数据A的状态,如果被查询的网关节点上没有访客数据A,则主动推送到被查询的网关节点上;在新的访客节点表中的第I行的所有网关节点都遍历后,若自身网关节点标识不在新的访客节点表中的第I行, 则删除本地访客数据A;所有网关节点上的后台任务完成本地访客数据扫描后,清除旧的访客节点表,从在线扩容状态恢复到正常运行状态。
基于相同的发明构思,本发明实施例公开的一种计算机***,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被加载至处理器时实现的主动防御网关访客数据备份方法的步骤,或者实现的主动防御网关的节点在线扩容方法的步骤。

Claims (10)

1.一种主动防御网关访客数据备份方法,其特征在于,包括如下步骤:
构造M行R列的二维数组作为访客节点表,其中每一行记录负责存储一组访客数据的多个不同的网关节点标识,M是预设的访客节点表总行数,R是预设的访客数据的副本数;各网关节点标识均匀分布在二维数组中;所述访客节点表同步到所有网关节点上;
网关节点收到负载均衡设备调度的访问请求后,根据访客标识查找本地访客数据,若本地存在访客数据且是最新的,则取出本地访客数据执行业务流程;否则,对访客标识进行哈希运算后再对M取模,得到访客节点表索引I,从访客节点表的第I行获取网关节点,取出最新的访客数据执行业务流程;
在执行业务流程过程中,如果访客数据有更新,则将更新时间反馈给请求端,并在访客节点表的第I行的所有网关节点之间同步最新的访客数据。
2.根据权利要求1所述的主动防御网关访客数据备份方法,其特征在于,所述访客节点表的构造方法为:首先生成首列,所有网关节点标识逐一填入,首列中每个网关节点标识出现的次数不超过CEIL(M/N),CEIL表示向上取整,N是网关节点总数;然后生成每一行的其余列,满足同一行内没有重复的网关节点标识,整个访客节点表中每个网关节点标识出现的次数不超过CEIL(R×M/N)。
3.根据权利要求1所述的主动防御网关访客数据备份方法,其特征在于,网关节点从访问请求中获取访客标识和访客数据的更新时间,根据访客标识查找本地访客数据及本地更新时间,若存在本地访客数据且本地更新时间不早于访问请求中携带的更新时间,则使用本地访客数据;否则,从访客节点表的第I行依次获取网关节点,找出最新的访客数据;对于新访客,在本地创建访客数据,并将访客数据同步到访客节点表的第I行的所有网关节点。
4.一种主动防御网关的节点在线扩容方法,其特征在于,利用根据权利要求1-3任一项所述的主动防御网关访客数据备份方法对访客数据进行备份;在扩容操作时,将旧的访客节点表复制为新的访客节点表,并在新表上进行调整,使得首列中每个网关节点标识出现的次数不超过CEIL(M/N’),整表中每个网关节点标识出现的次数不超过CEIL(R×M/N’);生成的新的访客节点表同步到所有网关节点上;N’是扩容后的网关节点总数;
在配置为在线扩容状态时,网关节点对访客数据的处理包括如下步骤:
网关节点在处理访问请求时,若本地及根据访客标识计算得到的新的访客节点表的第I行中的首个非本地网关节点中查找不到访客数据,则从旧的访客节点表的第I行中的网关节点中获取最新的访客数据执行业务流程;
在执行业务流程过程中,如果访客数据有更新,则将更新时间反馈给请求端,并在新的访客节点表的第I行的所有网关节点之间同步最新的访客数据。
5.根据权利要求4所述的主动防御网关的节点在线扩容方法,其特征在于,新的访客节点表中数据调整的方法包括:先遍历首列,如果一个网关节点标识在首列出现的次数超过最大次数,则将超过的部分替换为一个新的网关节点标识;再遍历首列以外的其余列,对于每一个网关节点,如果在整表中出现次数超过最大次数,则将超过的部分替换为一个新的网关节点标识,同时保证同一行内没有重复的网关节点标识,每个新的网关节点标识在整表中出现次数不超过最大次数。
6. 根据权利要求4所述的主动防御网关的节点在线扩容方法,其特征在于,在开始扩容后,在每一个网关节点上启动一个后台任务,所述后台任务扫描本地访客数据,对每一个访客数据A,根据其中的访客标识计算得到索引I,向新的访客节点表中的第I行的网关节点查询访客数据A的状态,如果被查询的网关节点上没有访客数据A,则主动推送到被查询的网关节点上;在新的访客节点表中的第I行的所有网关节点都遍历后,若自身网关节点标识不在新的访客节点表中的第I行, 则删除本地访客数据A;所有网关节点上的后台任务完成本地访客数据扫描后,清除旧的访客节点表,从在线扩容状态恢复到正常运行状态。
7.一种主动防御网关***,包括负载均衡设备和多个网关节点,所述负载均衡设备将访问请求调度到网关节点;其特征在于,还包括:访客节点表构造模块,用于构造M行R列的二维数组作为访客节点表,并同步到所有网关节点上,所述访客节点表中每一行记录负责存储一组访客数据的多个不同的网关节点标识,M是预设的访客节点表总行数,R是预设的访客数据的副本数;各网关节点标识均匀分布在二维数组中;所述访客节点表同步到所有网关节点上;
所述网关节点,设有访客数据获取模块,以及访客数据备份模块;
所述访客数据获取模块,用于网关节点收到负载均衡设备调度的访问请求后,根据访客标识查找本地访客数据,若本地存在访客数据且是最新的,则取出本地访客数据执行业务流程;否则,对访客标识进行哈希运算后再对M取模,得到访客节点表索引I,从访客节点表的第I行获取网关节点,取出最新的访客数据执行业务流程;
所述访客数据备份模块,用于在执行业务流程过程中,如果访客数据有更新,则将更新时间反馈给请求端,并在访客节点表的第I行的所有网关节点之间同步最新的访客数据。
8.根据权利要求7所述的主动防御网关***,其特征在于,还包括访客节点表扩容模块,用于在扩容操作时,将旧的访客节点表复制为新的访客节点表,并在新表上进行调整,使得首列中每个网关节点标识出现的次数不超过CEIL(M/N’),整表中每个网关节点标识出现的次数不超过CEIL(R×M/N’);生成的新的访客节点表同步到所有网关节点上;N’是扩容后的网关节点总数;
在配置为在线扩容状态时,网关节点对访客数据的处理包括如下步骤:
所述访客数据获取模块,在处于在线扩容状态时,若本地及根据访客标识计算得到的新的访客节点表的第I行中的首个非本地网关节点中查找不到访客数据,则从旧的访客节点表的第I行中的网关节点中获取最新的访客数据执行业务流程;
所述访客数据备份模块,在处于在线扩容状态时,如果访客数据有更新,在新的访客节点表的第I行的所有网关节点之间同步最新的访客数据。
9. 根据权利要求7所述的主动防御网关***,其特征在于,所述网关节点还设有数据迁移模块,用于在开始扩容后,在每一个网关节点上启动一个后台任务,所述后台任务扫描本地访客数据,对每一个访客数据A,根据其中的访客标识计算得到索引I,向新的访客节点表中的第I行的网关节点查询访客数据A的状态,如果被查询的网关节点上没有访客数据A,则主动推送到被查询的网关节点上;在新的访客节点表中的第I行的所有网关节点都遍历后,若自身网关节点标识不在新的访客节点表中的第I行, 则删除本地访客数据A;所有网关节点上的后台任务完成本地访客数据扫描后,清除旧的访客节点表,从在线扩容状态恢复到正常运行状态。
10.一种计算机***,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1-3任一项所述的主动防御网关访客数据备份方法的步骤,或者实现根据权利要求4-6任一项所述的主动防御网关的节点在线扩容方法的步骤。
CN202211630074.4A 2022-12-19 2022-12-19 主动防御网关访客数据备份及节点在线扩容方法与*** Active CN115623009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211630074.4A CN115623009B (zh) 2022-12-19 2022-12-19 主动防御网关访客数据备份及节点在线扩容方法与***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211630074.4A CN115623009B (zh) 2022-12-19 2022-12-19 主动防御网关访客数据备份及节点在线扩容方法与***

Publications (2)

Publication Number Publication Date
CN115623009A true CN115623009A (zh) 2023-01-17
CN115623009B CN115623009B (zh) 2023-03-28

Family

ID=84880859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211630074.4A Active CN115623009B (zh) 2022-12-19 2022-12-19 主动防御网关访客数据备份及节点在线扩容方法与***

Country Status (1)

Country Link
CN (1) CN115623009B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021057526A1 (zh) * 2019-09-23 2021-04-01 华为技术有限公司 一种网关设备容灾的方法及通信设备
US20210326223A1 (en) * 2017-03-10 2021-10-21 Pure Storage, Inc. Establishing a synchronous replication relationship between two or more storage systems
CN113641868A (zh) * 2021-08-19 2021-11-12 上海淇玥信息技术有限公司 一种用于资源保障投入的数据访问控制方法、装置和电子设备
CN114338502A (zh) * 2021-12-28 2022-04-12 数字广东网络建设有限公司 网关数据处理方法、装置、设备和存储介质
CN114615232A (zh) * 2022-05-12 2022-06-10 南京赛宁信息技术有限公司 一种主动防御网关访客标识生成方法与***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210326223A1 (en) * 2017-03-10 2021-10-21 Pure Storage, Inc. Establishing a synchronous replication relationship between two or more storage systems
WO2021057526A1 (zh) * 2019-09-23 2021-04-01 华为技术有限公司 一种网关设备容灾的方法及通信设备
CN113641868A (zh) * 2021-08-19 2021-11-12 上海淇玥信息技术有限公司 一种用于资源保障投入的数据访问控制方法、装置和电子设备
CN114338502A (zh) * 2021-12-28 2022-04-12 数字广东网络建设有限公司 网关数据处理方法、装置、设备和存储介质
CN114615232A (zh) * 2022-05-12 2022-06-10 南京赛宁信息技术有限公司 一种主动防御网关访客标识生成方法与***

Also Published As

Publication number Publication date
CN115623009B (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
US7440977B2 (en) Recovery method using extendible hashing-based cluster logs in shared-nothing spatial database cluster
KR101335101B1 (ko) 데이터의 복제 관리 방법 및 시스템
US7788303B2 (en) Systems and methods for distributed system scanning
CN103548003B (zh) 用于提高去重复***备份性能的客户端侧指纹缓存的方法和***
EP2996308B1 (en) Massively scalable object storage system
EP2485150A1 (en) Meta-information sharing distributed database system in virtual single memory storage
KR102038527B1 (ko) 분산 클러스터 관리 시스템 및 그 방법
EP3575968A1 (en) Method and device for synchronizing active transaction lists
CN106055698A (zh) 数据迁移方法、代理节点及数据库实例
JP5686034B2 (ja) クラスタシステム、同期制御方法、サーバ装置および同期制御プログラム
CN104767794B (zh) 一种分布式***中的节点选举方法及节点
CN109710586A (zh) 一种集群节点配置文件同步方法及装置
JPH06266597A (ja) ログ取得方式
CN110750546A (zh) 一种数据库的更新方法及装置
CN111475480A (zh) 一种日志处理方法及***
CN101551822B (zh) 一种数据库复制方法和装置
US20150242464A1 (en) Source query caching as fault prevention for federated queries
CN115623009B (zh) 主动防御网关访客数据备份及节点在线扩容方法与***
CN112559459B (zh) 一种基于云计算的自适应存储分层***及方法
CN114756385B (zh) 一种深度学习场景下的弹性分布式训练方法
CN114493602B (zh) 区块链交易的执行方法、装置、电子设备和存储介质
WO2022220830A1 (en) Geographically dispersed hybrid cloud cluster
CN106897365B (zh) 数据处理方法及装置
CN116633574A (zh) 一种主动防御网关访客数据管理方法与***
CN109445717A (zh) 一种双机备份时的数据存储方法及装置

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