基于分布式RPKI依赖方的数据处理方法及装置与流程

文档序号:29860478发布日期:2022-04-30 10:50阅读:231来源:国知局
基于分布式RPKI依赖方的数据处理方法及装置与流程
基于分布式rpki依赖方的数据处理方法及装置
技术领域
1.本技术涉及计算机网络技术领域,特别是涉及一种基于分布式rpki依赖方的数据处理方法、装置、计算机设备和存储介质。


背景技术:

2.rpki(resource public key infrastructure,互联网码号资源公钥证书体系)由三大基本组件组成:ca(certificate authority,认证权威)、rp(relying party,依赖方)和repository(资料库)。这三大组件通过签发、传送、存储、验证各种数字对象来彼此协作,共同完成rpki的功能。ca通过签发rc(resource certificate,资源证书)来表达inr(internet number resource,互联网码号资源)分配关系,签发roa(route origin authorization,路由起源声明)来授权某个isp(internet service providers,互联网服务提供商)针对自己的一部分ip地址前缀发起源路由通告;rpki的资料库负责存储这些承载了inr分配/授权信息的rc/roa等数字对象,供全球的rp下载;rp同步并验证rpki证书和签名对象,并将其处理成ip地址前缀与asn的真实授权关系并下放至as边界路由器指导路由过滤。从2012年开始,五大rir(regional internet registry,地区性internet注册机构)的as部署rpki的数量都呈上升趋势,并且rpki的部署速率在逐年加快。逐年增长的roa数据量和越来越丰富的roa字段给rp的计算和处理带来巨大的压力。
3.目前主流的rp都采用定时单点下载,也就是布置一个rp定时去下载、同步并验证rpki证书和签名对象,并将其处理成ip地址前缀与asn的真实授权关系。这种方案在rpki数量少的情况下可行,但是随着rpki的部署越来越多和roa数据量越来越大字段越来越丰富,更新的速度也越来越快,这种定时单点的rp方案会面临着计算和处理数据带来的巨大压力。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种基于分布式rpki依赖方的数据处理方法、装置、计算机设备和存储介质,通过将rp布置成分布式,使其具备固定模式和动态模式两种工作模式,以解决传统的定时单点的rp方案带来的数据计算处理量大,影响工作效率的问题。
5.本发明的第一方面,提供了一种基于分布式rpki依赖方的数据处理方法,包括:
6.将rp分为一个主节点和多个从节点;其中,
7.所述主节点监测rpki资料库是否有数据更新,并在有数据更新时,执行如下固定模式和/或动态模式,其中,
8.固定模式被配置为:定时通知各从节点数据更新的消息,由各从节点并行从对应的所述rpki资料库获取更新的数据并写入本地数据库存储;
9.动态模式被配置为:扫描各从节点,通知空闲的从节点从rpki资料库获取更新的数据并写入本地数据库存储;
10.所述从节点完成写入后通知所述主节点。
11.进一步地,所述方法还包括:根据不同需求进行固定模式与动态模式的切换。
12.进一步地,在固定模式下,每一个从节点对应一个地区性internet注册机构,并从对应的rpki资料库下载对应的rir机构的更新文件。
13.进一步地,在动态模式下,主节点与从节点设置心跳检测机制,通过接口查询从节点的健康状况,并对不健康状态的从节点取消任务。
14.进一步地,在动态模式下,主节点发布的多个任务之间通过分布式锁确保其中的某从节点当前仅执行一项任务。
15.进一步地,在动态模式下,主节点先对多个任务进行预分片后再分给空闲的从节点来完成。
16.进一步地,所述主节点和从节点的任务进程通过设计的web界面进行展示。
17.本发明的第二方面,提供了一种基于分布式rpki依赖方的数据处理装置,包括:
18.主节点控制单元,设置有一个,用于监测rpki资料库是否有数据更新,并在有数据更新时,控制从节点执行单元进行相应的操作;
19.从节点执行单元,设置有多个,根据主节点控制单元的指令,执行如下两种模式:
20.固定模式:接收主节点定时发送的数据更新的消息,各从节点并行向对应的所述rpki资料库获取更新的数据并写入到本地数据库存储;
21.动态模式:接收主节点的扫描结果,并选取其中空闲的从节点从rpki资料库获取更新的数据并写入到本地数据库存储。
22.本发明的第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明第一方面所述的方法之一。
23.本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述的方法之一。
24.本发明所提供的基于分布式rpki依赖方的数据处理方法、装置、计算机设备和存储介质,将原有的定点的rp方案调整为分布式rp的方案,即由一个主节点和多个从节点组成的rp方案,该rp方案具有固定模式和动态模式两种,且可根据实际情况进行切换。其中,在固定模式下,并行执行,主节点把任务分发给五个从节点并行去执行,有效提升了任务执行效率,并且任务进程可通过web界面展示;在动态模式下,主节点可通过对任务预分片再分给空闲从节点来完成,有效提升任务执行效率,当正在执行任务的从节点故障时,主节点能把任务重新分给另一个空闲的从节点,整个系统不会因为某个节点故障而整体失效,在任务运行时,可以动态的增加机器或减少机器,并且任务进程可通过web界面展示。
附图说明
25.图1为本发明实施例中的分布式rp在固定模式下的系统架构图。
26.图2为本发明实施例中的分布式rp在固定模式下的流程示意图。
27.图3为本发明实施例中的分布式rp在动态模式下的系统架构图。
28.图4为本发明实施例中的分布式rp在动态模式下的系统架构图。
29.图5是本发明实施例中的计算机设备的结构示意图。
具体实施方式
30.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。此外,为了清楚和简洁,省略对公知功能和结构的描述。
31.本文使用的术语仅用于描述本发明的各种实施例,而不旨在限制本发明。除非上下文另有明确指示,否则单数形式旨在包括复数形式。在本发明中,应理解,术语“包括”或“具有”指示特征、数字、步骤、操作、元件、部件或其组合的存在,并且不排除一个或更多个其它特征、数字、步骤、操作、元件、部件或其组合的存在,或添加一个或更多个其它特征、数字、步骤、操作、元件、部件或其组合的可能性。
32.实施例一
33.本发明的实施例一提供了一种基于分布式rpki依赖方的数据处理方法,该方法包括:
34.将rp分为一个主节点和多个从节点;其中,
35.主节点监测rpki资料库是否有数据更新,并在有数据更新时,控制各从节点执行固定模式和/或动态模式:
36.固定模式被配置为:定时通知各从节点数据更新的消息,各从节点收到消息后,并行的从个从节点负责对应的rpki资料库获取更新的数据并写入本地数据库存储;
37.动态模式被配置为:依次扫描各从节点,找到其中空闲的从节点,并通知空闲的从节点从rpki资料库获取更新的数据并写入本地数据库存储;
38.从节点在完成写入后通知主节点完成存储的消息,主节点标记该任务已完成并告诉客户端。
39.其中,在任务执行过程中,根据不同的实际情况,可进行固定模式与动态模式的切换,以轻松应对复杂的网络环境。
40.具体来说,固定模式适用于当前固有的rpki认证树的结构特征,比如全球设定有5个rpki认证树,通过人工提前编排好各个分布式节点的同步任务,在固定模式下,运行简单,运维方便,但资源要求固定不易变更。动态模式,则根据每个分布式从节点的同步负载情况和其他因素,比如优先下载、数据需求偏好等因素,通过自适应算法来动态编排各个分布式节点的同步任务,比如当某从节点的负载较大时,优先考虑其他从节点,当某资源数据经常被某从节点下载,基于历史习惯优先考虑空闲状态的该从节点,动态模式下,资源弹性分配,对算法和管理进程要求高,但更加灵活高效。固定模式和动态模式可以手动更改或者自动更改,当用户希望运行模式简单,优选采用固定模式,当用户希望运行模式更加高效灵活,优选采用动态模式。当然,亦可选用部分从节点(比如从节点1~2)为固定模式,另一部分从节点(比如从节点3~5)为动态模式,也即固定模式和动态模式相结合的方式。
41.示例性的,参照图1、图2所示,在固定模式下,主节点把任务分发给五个从节点并行去执行,每一个从节点对应一个地区性internet注册机构(rir机构),并从对应的rpki资料库下载对应的rir机构的更新文件,从节点对更新文件先进行有效性校验,并在检验通过后,再写入本地数据库。其中,更新的文件包括cer(用于存储公钥证书的文件格式,代表ca证书)、crl(certificate revocation list,证书撤销列表)、roa(route origin authorization,路由起源授权)、mft(manifest,资料清单)文件。主节点和从节点的任务进
程通过设计的web界面进行展示,可随时查看任务的调度状态及各从节点的运行状态。此外,在固定模式下,主节点在通知从节点执行任务前,会先检测从节点是否正常,如正常就通知从节点执行任务,不正常则取消这次任务并通知用户:从节点存在故障。
42.示例性的,参照图3、图4所示,在动态模式下,如主节点发现需要更新的数据涉及多个不同的rir机构或者更新数据量较大,主节点先对多个任务进行预分片后再分给空闲的从节点来完成。通过预分片减少单个从节点数据处理的压力,有效提升任务的执行效率,在预分片之后,依次扫描所有的从节点,选取其中空闲的从节点,并通知空闲的从节点去rpki资料库下载对应的rir机构的更新文件,从节点对更新文件先进行有效性校验,并在检验通过后,再写入本地数据库。其中,更新的文件包括cer、crl、roa、mft等文件。主节点和从节点的任务进程通过设计的web界面进行展示,可随时查看任务的调度状态及各从节点的运行状态。
43.在动态方式下,从节点先在注册中心注册自己的服务,使主节点能够发现从节点的位置并与它们建立连接,当某一个任务需要执行时,主节点会发布任务并选择一个从节点去执行任务,并且,主节点发布的多个任务之间通过分布式锁确保其中的某从节点当前仅执行一项任务,任务与任务之间会用分布式锁来保证彼此不会冲突,从而保证数据的一致性,比如当从节点1在执行任务a时,其它从节点不会执行任务a。另外,主节点与从节点设置心跳检测机制,主节点通过接口查询从节点的健康状况,确保需要工作的从节点一直处于健康状态,如果从节点发生故障或者断开连接等情况,主节点可以取消从节点的这次任务并选择一个新的空闲的从节点重新执行这个任务,整个系统不会因为某个从节点故障而整体失效。在任务运行时,如发现任务量较大,可以动态的增加机器,增加从节点数量,弹性扩容。
44.下面通过一个具体的实施例来说明本技术中基于分布式rpki依赖方的数据处理方法的过程。
45.现全球有5大rir机构:ripencc、lacnic、arin、afrinic和apnic,分别负责欧洲、拉丁美洲、北美、非洲和亚太地区的ip地址注册和分配。rpki资料库负责存储这些承载了inr分配/授权信息的rc/roa等数字对象,供全球的rp下载。该分布式rp有着两个运行模式,即固定模式和动态模式。如图1、图2所示,在固定模式下,五个从节点(worker)分别对应五个rir机构,主节点(master)定时通知从节点下载对应rir机构的更新数据,对更新的cer/crl/roa/mft文件,进行校验,判断其有效性,最后将写入数据库;从节点完成上述步骤后通知主节点已经完成;最后本地将生成有效的rpki数据。其中,一个从节点worker专门负责ripencc这个rir机构涉及到的更新数据的下载和处理,对应的,其它四个从节点分别对应处理lacnic、arinc、afrinic和apnic四个rir机构的数据更新。如图3、图4所示,在动态模式下,主节点时刻关注着rir机构数据更新情况,当某个rir机构有更新时,主节点扫描从节点,通知空闲的从节点下载更新的cer/crl/roa/mft文件,此时的每一个从节点不再针对特定的rpki资料库,对更新的文件校验通过后,最后将有效文件写入数据库;从节点完成上述步骤后通知主节点已经完成。最后在本地将生成有效的rpki数据。
46.实施例二
47.本发明的实施例二提供了一种基于分布式rpki依赖方的数据处理装置,包括:主节点控制单元和从节点执行单元,其中,
48.主节点控制单元,设置有一个,用于监测rpki资料库是否有数据更新,并在有数据更新时,控制从节点执行单元进行相应的操作;
49.从节点执行单元,设置有多个,根据主节点控制单元的指令,执行如下两种模式:
50.固定模式:接收主节点定时发送的数据更新的消息,向所述rpki资料库获取更新的数据并写入到本地数据库存储;
51.动态模式:接收主节点的扫描结果,并选取其中空闲的从节点从rpki资料库获取更新的数据并写入到本地数据库存储;
52.从节点在完成本地存储后将完成的消息通知给主节点。
53.其中,前述的固定模式和动态模式根据实际情况进行切换,在不同的条件下运行不同的模式,以满足复杂的网络环境,此外,亦可设置部分从节点工作为固定模式,部分从节点工作为动态模式。
54.关于本实施例基于分布式rpki依赖方的数据处理装置的具体限定可以参见上文中对于基于分布式rpki依赖方的数据处理方法的限定,在此不再赘述。上述基于分布式rpki依赖方的数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
55.实施例三
56.本发明的实施例三提供了一种计算机设备,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与其他的终端或者服务通过网络连接通信。该计算机程序被处理器执行时以实现一种基于分布式rpki依赖方的数据处理方法。其中,该计算机设备可以服务器,该服务器还可以包括数据库,该服务器的数据库可以存储预先训练的分类模型。该计算机设备还可以终端,该终端还可以包括显示屏和输入装置,该终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等,也还可以是语音识别装置或者文字识别装置。
57.本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
58.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述基于分布式rpki依赖方的数据处理方法的步骤。此处基于分布式rpki依赖方的数据处理方法的步骤可以是上述各个实施例的基于分布式rpki依赖方的数据处理方法中的步骤:将rp分为一个主节点和多个从节点;其中,主节点监测rpki资料库是否有数据更新,并在有数据更新时,执行固定模式和/或动态模式,其中,固定模式被配置为:定时通知各从节点数据更新的消息,由各从节点并行从对应的rpki资料库获取更新的数据并写入本地数据库存储;动态模式被配置为:扫描各从节点,通知空闲的从节点从rpki资料库获取更新的数据并写入本地数据库存储;从节点
完成写入后通知所述主节点。
59.实施例四
60.本发明的实施例四,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述基于分布式rpki依赖方的数据处理方法的步骤。此处基于分布式rpki依赖方的数据处理方法的步骤可以是上述各个实施例的基于分布式rpki依赖方的数据处理方法中的步骤:将rp分为一个主节点和多个从节点;其中,主节点监测rpki资料库是否有数据更新,并在有数据更新时,执行固定模式和/或动态模式,其中,固定模式被配置为:定时通知各从节点数据更新的消息,由各从节点并行从对应的rpki资料库获取更新的数据并写入本地数据库存储;动态模式被配置为:扫描各从节点,通知空闲的从节点从rpki资料库获取更新的数据并写入本地数据库存储;从节点完成写入后通知所述主节点。
61.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
62.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
63.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1