1.本发明涉及信息技术领域,尤其涉及一种风险处理方法、装置、设备以及存储介质。
背景技术:2.业务量的不断增长对处理业务量的系统的风险处理能力提出了更高的要求,特别是在市场波动大的情况下,要求这类系统可以实时准确地检算出风险指标。
3.现有的基于传统消息队列的分布式风险处理方法,容易产生消息顺序不一致和负载不均衡等问题,进而导致风险检测结果准确率低。
技术实现要素:4.本发明提供了一种风险处理方法、装置、设备以及存储介质,以提高风险检测结果的准确性。
5.根据本发明的一方面,提供了一种风险处理方法,包括:
6.通过风险指令生成节点响应于请求处理产生的风险事件,获取风险事件关联的风险数据;
7.通过风险指令生成节点根据风险数据生成风险指令,并发送至风险分发节点;
8.通过风险分发节点,将风险指令添加到分布式消息系统中风险指令对应的消息队列中;
9.通过计算节点,从与计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,以及反馈风险检测结果。
10.根据本发明的另一方面,提供了一种风险处理装置,包括:
11.风险数据获取模块,用于通过风险指令生成节点响应于请求处理产生的风险事件,获取风险事件关联的风险数据;
12.风险指令生成模块,用于通过风险指令生成节点根据风险数据生成风险指令,并发送至风险分发节点;
13.风险指令分发模块,用于通过风险分发节点,将风险指令添加到分布式消息系统中风险指令对应的消息队列中;
14.风险检测结果获取模块,用于通过计算节点,从与计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,以及反馈风险检测结果。
15.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
16.至少一个处理器;以及
17.与至少一个处理器通信连接的存储器;其中,
18.存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例的风险处理方法。
19.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储
介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例的风险处理方法。
20.本发明实施例的技术方案,通过风险指令生成节点响应于请求处理产生的风险事件,获取风险事件关联的风险数据;通过风险指令生成节点根据风险数据生成风险指令,并发送至风险分发节点;通过风险分发节点,将风险指令添加到分布式消息系统中风险指令对应的消息队列中;通过计算节点,从与计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,以及反馈风险检测结果。上述技术方案,通过风险指令生成节点将风险事件转化为风险指令,并利用风险分发节点将风险指令添加到分布式消息系统中风险指令对应的消息队列中,保证了消息队列中消息的顺序性,然后通过计算节点处理其自身对应的消息队列中的待处理指令,得到风险检测结果,提高了风险检测结果的准确性。
21.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
22.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1是根据本发明实施例一提供的一种风险处理方法的流程图;
24.图2a是根据本发明实施例二提供的一种风险处理方法的流程图;
25.图2b是根据本发明实施例二提供的一种风险处理方法的场景图;
26.图3是根据本发明实施例三提供的一种风险处理装置的结构示意图;
27.图4是实现本发明实施例的风险处理方法的电子设备的结构示意图。
具体实施方式
28.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
29.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.实施例一
31.图1为本发明实施例一提供的一种风险处理方法的流程图,本实施例可适用于对
不同风险场景进行风险检测的情况,该方法可以由风险处理装置来执行,该风险处理装置可以采用硬件和/或软件的形式实现,该风险处理装置可配置于电子设备中,该电子设备可以是服务器、分布式操作系统或者手机等。如图1所示,该方法包括:
32.s101、通过风险指令生成节点响应于请求处理产生的风险事件,获取风险事件关联的风险数据。
33.其中,风险指令生成节点用于对风险事件进行处理,生成风险指令。风险事件可以是指可能造成事故或损失的事件。风险数据可以包括风险事件标识和风险事件的相关业务数据等。
34.具体的,业务系统响应于请求发送方发送的请求,对请求进行数据处理;风险指令生成节点响应于请求处理过程中产生的风险事件,获取风险事件关联的风险数据。其中,风险指令生成节点通常是在业务系统处理请求之后,对处理的请求进行风险检测,检测是否生成风险事件,并获取产生的风险事件关联的风险数据。其中,业务系统是指可以进行各种业务操作的系统。
35.s102、通过风险指令生成节点根据风险数据生成风险指令,并发送至风险分发节点。
36.其中,风险指令用于指示对风险事件进行风险检测。风险指令可以包括请求发送方的标识、风险类型、风险字段和各风险字段对应的参数等。不同的风险事件对应不同格式的风险指令。风险分发节点用于对风险指令进行分配。示例性的,风险指令生成节点根据风险数据中的风险事件标识,基于预设的规则,生成对应格式的风险指令,并将该风险指令发送给风险分发节点。
37.s103、通过风险分发节点,将风险指令添加到分布式消息系统中风险指令对应的消息队列中。
38.其中,分布式消息系统是指基于kafka(apache kafka,卡夫卡)的分布式消息系统,用于处理消息队列中的风险指令。分布式消息系统中可以包括至少一个消息队列;一个消息队列存储和转发一类指令,且每个消息队列中的指令都是有序的,先存入该消息队列的风险指令先被处理。分布式消息系统中可以建立至少一种类型的主题,比如风险主题,风险主题对应的消息队列用于存储风险指令。
39.示例性的,风险分发节点基于预设的指令分配算法,将风险指令添加到分布式消息系统中风险指令对应的消息队列中。
40.s104、通过计算节点,从与计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,以及反馈风险检测结果。
41.其中,计算节点用于处理其对应的消息队列中的待处理指令,以得到风险检测结果。待处理指令用于指示计算节点对风险事件进行风险检测。异步处理是指风险指令不会被计算节点即时处理。示例性的,计算节点部署有处理队列,将获取到的风险指令插入该处理队列的队列尾部,并从处理队列的队列头部获取指令进行处理,处理队列中存储有多个指令,队列尾部的指令与队列头部的指令通常不同。相应,计算节点可能会过一段时间才能处理到该风险指令,从而实现计算节点异步处理风险指令。
42.具体的,计算节点从其对应的消息队列中顺序取出待处理指令,然后通过异步处理的方式得到风险检测结果,并向请求发送方或外操作系统管理人员发送风险检测结果,
以便请求发送方或外操作系统管理人员根据风险检测结果做出相应处理,进而提高该电子设备的可靠性。
43.现有技术中的分发服务器在获取风险指令的过程中,一方面会因为网络故障或者其他故障导致数据丢失,无法丢失风险指令,使得预设定好的风险指令处理顺序发生改变,导致需要综合多个风险指令确定的风险检测结果不准确;另一方面,分发服务器接收的风险指令顺序可能风险指令的发送顺序不一致,打乱预设定好的风险指令处理顺序,若请求方按照顺序接收到错误次序的风险指令对应的风险检测结果,导致请求方的风险测算结果不准确。
44.本发明实施例的技术方案,通过风险指令生成节点响应于请求处理产生的风险事件,获取风险事件关联的风险数据;通过风险指令生成节点根据风险数据生成风险指令,并发送至风险分发节点;通过风险分发节点,将风险指令添加到分布式消息系统中风险指令对应的消息队列中;通过计算节点,从与计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,以及反馈风险检测结果。上述技术方案,通过风险指令生成节点将风险事件转化为风险指令,并利用风险分发节点将风险指令添加到分布式消息系统中风险指令对应的消息队列中,保证了消息队列中消息的顺序性,然后通过计算节点处理其自身对应的消息队列中的待处理指令,得到风险检测结果,提高了风险检测结果的准确性。
45.在上述实施例的基础上,作为本发明实施例的一种可选方式,通过计算节点,从与计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,可以是:通过计算节点,调用指令解析模块,将待处理指令加入到待处理指令对应的处理队列中;通过计算节点,调用风险检测模块,从处理队列中获取待处理指令,计算风险检测结果。
46.其中,计算节点包括至少一个指令解析模块和至少一个风险检测模块;指令解析模块用于对待处理指令进行解析;风险检测模块用于对风险事件进行检测。此外,多个计算节点可以并行计算风险检测结果。多个指令解析模块可以并行解析待处理指令;多个风险检测模块可以并行检测风险事件。
47.具体的,调用计算节点中的指令解析模块对待处理指令进行解析,从而获取待处理指令的类型和请求发送方的标识;根据待处理指令的类型和请求发送方的标识,将待处理指令加入待处理指令对应的处理队列中;调用计算节点中的风险检测模块从处理队列中获取待处理指令,通过异步处理的方式对待处理指令进行处理,从而得到风险检测结果。
48.上述技术方案,通过利用计算节点中的指令解析模块将待处理指令加入到待处理指令对应的处理队列中,利用计算节点中的风险检测模块计算风险检测结果。使用计算节点中专门的模块有针对性地对待处理指令进行分步处理,将待处理指令拆分成多个数据块进行处理,提高了风险检测结果的计算效率。
49.可选的,通过计算节点,调用风险检测模块,从处理队列中获取待处理指令,计算风险检测结果,可以是:通过计算节点,调用风险检测模块中至少一个处理单元,从各处理单元对应的处理队列中获取以及并行执行待处理指令,并计算相应风险检测结果。
50.其中,一个处理单元处理一类待处理指令;每一类待处理指令只能由对应的处理单元处理。
51.具体的,通过计算节点,调用风险检测模块中的至少一个处理单元,各处理单元不断从各自对应的处理队列中获取待处理指令,可以适配类型处理待处理指令,提高待处理
指令的精准性,以及提高处理准确性,同时各处理单元通过并行处理的方式计算相应的风险检测结果,可以提高风险检测效率。
52.示例性的,现有两种类型的待处理指令,分别为待处理指令a和待处理指令b;它们各自对应处理单元1和处理单元2。通过计算节点,调用风险检测模块中的处理单元1和处理单元2,处理单元1从自身对应的处理队列中获取待处理指令a,并根据预先设置的相关算法计算相应的风险检测结果;处理单元2从自身对应的处理队列中获取待处理指令b,并根据预先设置的相关算法计算相应的风险检测结果。最后的风险检测结果是:待处理指令a的风险检测结果高于预先设定的风险阈值,则对该待处理指令a进行标记,并发送提示信息给请求发送方或者外操作系统的管理人员;待处理指令b的风险检测结果低于预先设定的风险阈值,则直接将待处理指令b对应的风险检测结果输出。
53.在上述实施例的基础上,作为本发明实施例的一种可选方式,所述消息队列设置有至少一个副本队列。
54.其中,副本队列中的数据和消息队列中的数据完全一致。
55.示例性的,假设消息队列有n(n=1,2,3,
…
,n)个副本队列,其中,n为正整数,那么该电子设备就可以容忍n-1个消息队列发生故障,且可以保证消息不丢失,进而提高了该电子设备的可靠性。
56.实施例二
57.图2为本发明实施例二提供的一种风险处理方法的流程图,本实施例在上述实施例的基础上,将“通过风险分发节点,将风险指令添加到分布式消息系统中风险指令对应的消息队列中”进一步细化为:“通过风险分发节点,获取风险指令与分布式消息系统中消息队列之间的对应关系;通过风险分发节点,根据风险指令与消息队列之间的对应关系和风险指令,确定风险指令对应的消息队列;通过风险分发节点,将风险指令添加到风险指令对应的消息队列中”,提供了一种可选的实施方案。需要说明的是,在本发明实施例中未详述部分,可参照前述实施例的相关表述。如图2所示,该方法包括:
58.s201、通过风险指令生成节点响应于请求处理产生的风险事件,获取风险事件关联的风险数据。
59.s202、通过风险指令生成节点根据风险数据生成风险指令,并发送至风险分发节点。
60.s203、通过风险分发节点,获取风险指令与分布式消息系统中消息队列之间的对应关系。
61.其中,风险指令与分布式消息系统中消息队列之间的对应关系用于确定风险指令待加入的消息队列。实际上,风险指令可以具体划分为多个类型的指令。分布式消息系统中的一个消息队列存储一种类型的风险指令,分布式消息系统中不同的消息队列存储着不同类型的风险指令。可以预设风险指令的类型与分布式消息系统中消息队列之间的对应关系,确定各消息队列存储的风险指令。
62.s204、通过风险分发节点,根据风险指令与消息队列之间的对应关系和风险指令,确定风险指令对应的消息队列。
63.具体的,通过风险分发节点,根据风险指令类型与消息队列之间的对应关系,以及风险指令的类型,确定风险指令对应的消息队列。
64.示例性的,在kafka中建立风险(risk)主题,利用该风险主题对应的至少一个消息队列存储风险指令;风险分发节点从该风险主题对应的多个消息队列中,根据风险指令与分布式消息系统中消息队列之间的对应关系,获取与该风险指令对应的消息队列。
65.s205、通过风险分发节点,将风险指令添加到风险指令对应的消息队列中。
66.具体的,风险分发节点将该风险指令添加到该风险指令对应的消息队列中,消息队列是有序不变的序列,以保证消息队列中的风险指令可以被有序的执行,同时消息队列中为该风险指令分配唯一的编号。
67.s206、通过计算节点,从与计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,以及反馈风险检测结果。
68.本发明实施例的技术方案,通过获取风险指令与分布式消息系统中消息队列之间的对应关系;根据该对应关系和该风险指令,确定该风险指令对应的消息队列;通过风险分发节点将该风险指令添加到该风险指令对应的消息队列中。上述技术方案,提供了一种风险分发节点分发风险指令的方式,使得每个风险指令都能得到有效分配,方便后续对风险指令进行处理。
69.在上述实施例的基础上,作为本发明实施例的一种可选方式,通过风险分发节点,根据风险指令与消息队列之间的对应关系和风险指令,确定风险指令对应的消息队列,可以是:通过风险分发节点,从风险指令中提取风险源地址,并根据风险源地址确定风险指令对应的区域;其中,风险指令与消息队列之间的对应关系包括区域与消息队列之间的对应关系;通过风险分发节点,根据风险指令对应的区域和区域与消息队列之间的对应关系,确定风险指令对应的消息队列。
70.其中,风险源地址可以是指请求发送方所在的地址。区域可以是风险源地址所在的区域,也可以是由至少两个相近的风险源地址组成的区域。并设置区域与消息队列之间的对应关系,一个区域对应一个消息队列。
71.示例性的,风险源地址所在的区域为区域1,区域1对应的消息队列为消息队列1。通过风险分发节点,从风险指令中提取风险源地址,将风险源地址所在的区域(区域1)确定为风险指令对应的区域;通过风险分发节点,根据风险指令对应的区域(区域1)和区域1与消息队列1之间的对应关系,确定风险指令对应的消息队列为消息队列1。
72.本发明实施例的技术方案,通过风险分发节点,从风险指令中提取风险源地址,并根据风险源地址确定风险指令对应的区域;通过风险分发节点,根据风险指令对应的区域和区域与消息队列之间的对应关系,确定风险指令对应的消息队列。进一步细化了风险分发节点分发风险指令的过程,将风险指令进行分区域存放,使得风险指令集中存储在固定的区域,便于后续对风险指令进行处理。
73.在上述实施例的基础上,作为本发明实施例的一种可选方式,所述方法,在获取风险指令与分布式消息系统中消息队列之间的对应关系之前,还可以包括:获取历史请求集;根据历史请求集中历史请求的请求源地址,确定至少一个区域;在历史请求集中按照历史请求的请求源地址,统计各区域的请求数据量;根据各区域的请求数量,将各区域分配到多个预设分区中,其中,各分区的请求数量满足一致条件;根据预先建立的分区与消息队列之间的对应关系,确定区域与消息队列之间的对应关系。
74.其中,历史请求集可以是过去某个时间段内请求的集合,比如过去一小时内请求
的集合。请求源地址可以是指请求发送方所在的地址,即风险源地址。一个区域可以根据省市划分,也可以根据县区划分。可以将一个省市确定为一个区域,也可以将多个省市确定为一个区域。同理,可以将一个县区确定为一个区域,也可以将多个县区确定为一个区域。一致性条件用于检测分区的请求数量是否一致,具体的,满足一致性条件可以是指各分区的请求数量相同或者各分区的请求数量相近。预先建立的分区与消息队列之间的对应关系可以是指一个分区对应一个消息队列。一个分区对应至少一个区域,一个消息队列对应至少一个区域。
75.示例性的,历史请求集中历史请求的请求源地址有:请求源地址1、请求源地址2、请求源地址3、请求源地址4、请求源地址5、请求源地址6、请求源地址7、请求源地址8和请求源地址9;请求源地址1对应a市,请求源地址2对应b市,请求源地址3对应c省,请求源地址4对应d市,请求源地址5对应e省,请求源地址6对应f省,请求源地址7对应g省,请求源地址8对应h省,请求源地址9对应i省。获取历史请求数据集;经统计,a市、d市和g省的请求数据量各占总数据量的60%,b市、e省和h省的请求数据量各占总数据量的15%,c省、f省和i省的请求数据量各占总数据量的25%;假设预设分区有三个,分别为分区0、分区1和分区2;分区0对应消息队列1,分区1对应消息队列2,分区3对应消息队列3;根据各区域的请求数据量,同时,为了满足各分区请求数量的一致性条件,将a市、b市和c省分配到分区0,将d市、e省和f省分配到分区1,将g省、h省和i省分配到分区2;根据预先建立的分区与消息队列之间的对应关系,可以确定a市、b市和c省对应消息队列1,d市、e省和f省对应消息队列2,g省、h省和i省对应消息队列3。
76.上述技术方案,通过获取历史请求集;根据历史请求集中历史请求的请求源地址确定区域;并根据各区域的请求数量,将各区域分配到多个预设分区中;根据预先建立的分区与消息队列之间的对应关系,确定区域与消息队列之间的对应关系,区域分配得到的分区的请求数量一致,实现了各分区的负载均衡,提高了各分区资源的使用率。
77.可选的,基于上述示例,给每个区域分配唯一的编号,各区域与各分区的对应关系可以通过如下对照表来表示。当各区域的请求数量发生变化时,可以通过修改区域分区对照表中的分区号来调整各分区中的请求数量,以保证各分区的请求数量满足一致条件,相比于现有技术通过预先生成的路由信息分发风险指令,而无法动态调整路由的情况,实现了对各分区请求数量的动态调整,保证了各分区的负载均衡。可选的,可以周期性更新历史请求集,相应的,周期性更新区域分区对照表,从而实现周期性重新确定区域与消息队列之间的对应关系,实现实时调整和更新区域与消息队列之间的对应关系。
78.对照表
79.区域编号区域名称分区号1a市02b市03c省04d市15e省16f省17g省2
8h省29i省2
80.在上述实施例的基础上,本发明提供了一种风险处理方法的场景图,参见图2b,图中的代理1、代理2和代理3分别表示风险分发节点1、风险分发节点2和风险分发节点3;一个风险分发节点对应一个kafka分布式消息系统,多个(图2b中示例性的给出了3个)kafka分布式消息系统构成一个kafka集群。在每个kafka分布式消息系统中建立一个风险(risk)主题;每个风险主题中生成4个分区(分区0、分区1、分区2和分区3);每个分区对应一个消息队列。每个风险分发节点对应的分区数量相同,且每个分区中的数据完全一致;一个计算节点对应处理一个分区,相应的,4个分区对应四个计算节点;计算节点1只处理分区0中的待处理指令,计算节点2只处理分区1中的待处理指令,计算节点3只处理分区2中的待处理指令,计算节点4只处理分区3中的待处理指令。每个计算节点包括至少一个指令解析模块和至少一个风险检测模块。
81.具体的,请求发送方向业务系统发送请求;业务系统对接收到的请求进行处理;风险指令生成节点响应于请求处理产生的风险事件,获取风险事件关联的风险数据,并根据风险数据生成风险指令,将风险指令发送至风险分发节点;风险分发节点按照预设的指令分配算法,将风险指令添加到kafka分布式消息系统中风险指令对应的消息队列中;通过计算节点,调用指令解析模块,将待处理指令加入到待处理指令对应的处理队列中;通过计算节点,调用风险检测模块,从处理队列中获取待处理指令,计算风险检测结果。
82.使用kafka分布式消息系统来计算风险检测结果,保证了分区中消息的顺序性;同时,当风险指令被发送后,风险生成节点会等待风险分发节点成功接收到风险指令的反馈信息,如果风险指令在发送途中丢失或者风险分发节点故障,风险生成节点则重新发送风险指令。只要有一个风险分发节点对应的分区中存入该风险指令,且该风险分发节点正常,则该风险指令就不会丢失,提高了该电子设备的可靠性;且每个分区的请求数量满足一致条件,使得每个计算节点的工作负载相对均匀,提高了各分区资源的使用率。
83.实施例三
84.图3为本发明实施例三提供的一种风险处理装置的结构示意图。如图3所示,该装置包括:
85.风险数据获取模块301,用于通过风险指令生成节点响应于请求处理产生的风险事件,获取风险事件关联的风险数据;
86.风险指令生成模块302,用于通过风险指令生成节点根据风险数据生成风险指令,并发送至风险分发节点;
87.风险指令分发模块303,用于通过风险分发节点,将风险指令添加到分布式消息系统中风险指令对应的消息队列中;
88.风险检测结果获取模块304,用于通过计算节点,从与计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,以及反馈风险检测结果。
89.本发明实施例的技术方案,通过风险数据获取模块,获取风险事件关联的风险数据;通过风险指令生成模块,生成风险指令,并发送至风险分发节点;通过风险指令分发模块,将风险指令添加到分布式消息系统中风险指令对应的消息队列中;通过风险检测结果获取模块,获取风险检测结果,以及反馈风险检测结果。上述技术方案,通过风险指令生成
节点将风险事件转化为风险指令,并利用风险分发节点将风险指令添加到分布式消息系统中风险指令对应的消息队列中,保证了消息队列中消息的顺序性,然后通过计算节点处理其自身对应的消息队列中的待处理指令,得到风险检测结果,提高了风险检测结果的准确性。
90.可选的,所述风险指令分发模块303模块,包括:
91.对应关系获取单元,用于通过风险分发节点,获取风险指令与分布式消息系统中消息队列之间的对应关系;
92.消息队列确定单元,用于通过风险分发节点,根据风险指令与消息队列之间的对应关系和风险指令,确定风险指令对应的消息队列;
93.风险指令分发单元,用于通过风险分发节点,将风险指令添加到风险指令对应的消息队列中。
94.可选的,所述消息队列确定单元,具体用于:
95.通过风险分发节点,从风险指令中提取风险源地址,并根据风险源地址确定风险指令对应的区域;其中,风险指令与消息队列之间的对应关系包括区域与消息队列之间的对应关系;
96.通过风险分发节点,根据风险指令对应的区域和区域与消息队列之间的对应关系,确定风险指令对应的消息队列。
97.可选的,所述装置,还可以包括:
98.请求集获取模块,用于在获取风险指令与分布式消息系统中消息队列之间的对应关系之前,获取历史请求集;
99.区域确定模块,用于根据历史请求集中历史请求的请求源地址,确定至少一个区域;
100.数据量统计模块,用于在历史请求集中按照历史请求的请求源地址,统计各区域的请求数据量;
101.区域分配模块,用于根据各区域的请求数量,将各区域分配到多个预设分区中,其中,各分区的请求数量满足一致条件;
102.对应关系确定模块,用于根据预先建立的分区与消息队列之间的对应关系,确定区域与消息队列之间的对应关系。
103.可选的,所述风险检测结果获取模块304,包括:
104.待处理指令存储单元,用于通过计算节点,调用指令解析模块,将待处理指令加入到待处理指令对应的处理队列中;
105.风险检测结果获取单元,用于通过计算节点,调用风险检测模块,从处理队列中获取待处理指令,计算风险检测结果。
106.可选的,所述风险检测结果获取单元,具体用于:
107.通过计算节点,调用风险检测模块中至少一个处理单元,从各处理单元对应的处理队列中获取以及并行执行待处理指令,并计算相应风险检测结果。
108.可选的,所述消息队列设置有至少一个副本队列。
109.本发明实施例所提供的风险处理装置可执行本发明任意实施例所提供的风险处理方法,具备执行各风险处理方法相应的功能模块和有益效果。
110.实施例四
111.图4示出了可以用来实施本发明的实施例的电子设备400的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
112.如图4所示,电子设备400包括至少一个处理器401,以及与至少一个处理器401通信连接的存储器,如只读存储器(rom)402、随机访问存储器(ram)403等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器401可以根据存储在只读存储器(rom)402中的计算机程序或者从存储单元408加载到随机访问存储器(ram)403中的计算机程序,来执行各种适当的动作和处理。在ram403中,还可存储电子设备400操作所需的各种程序和数据。处理器401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
113.电子设备400中的多个部件连接至i/o接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许电子设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
114.处理器401可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器401的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器401执行上文所描述的各个方法和处理,例如风险处理方法。
115.在一些实施例中,风险处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由rom402和/或通信单元409而被载入和/或安装到电子设备400上。当计算机程序加载到ram403并由处理器401执行时,可以执行上文描述的风险处理方法的一个或多个步骤。备选地,在其他实施例中,处理器401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行风险处理方法。
116.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
117.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置
的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
118.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
119.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
120.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
121.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps(virtual private server,虚拟专用服务器)服务中,存在的管理难度大,业务扩展性弱的缺陷。
122.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
123.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
技术特征:1.一种风险处理方法,其特征在于,包括:通过风险指令生成节点响应于请求处理产生的风险事件,获取所述风险事件关联的风险数据;通过所述风险指令生成节点根据所述风险数据生成风险指令,并发送至风险分发节点;通过所述风险分发节点,将所述风险指令添加到分布式消息系统中所述风险指令对应的消息队列中;通过计算节点,从与所述计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,以及反馈所述风险检测结果。2.根据权利要求1所述的方法,其特征在于,通过所述风险分发节点,将所述风险指令添加到分布式消息系统中所述风险指令对应的消息队列中,包括:通过所述风险分发节点,获取风险指令与分布式消息系统中消息队列之间的对应关系;通过所述风险分发节点,根据风险指令与消息队列之间的对应关系和所述风险指令,确定所述风险指令对应的消息队列;通过所述风险分发节点,将所述风险指令添加到所述风险指令对应的消息队列中。3.根据权利要求2所述的方法,其特征在于,所述通过所述风险分发节点,根据风险指令与消息队列之间的对应关系和所述风险指令,确定所述风险指令对应的消息队列,包括:通过所述风险分发节点,从所述风险指令中提取风险源地址,并根据所述风险源地址确定所述风险指令对应的区域;其中,所述风险指令与消息队列之间的对应关系包括区域与消息队列之间的对应关系;通过所述风险分发节点,根据所述风险指令对应的区域和所述区域与消息队列之间的对应关系,确定所述风险指令对应的消息队列。4.根据权利要求3所述的方法,其特征在于,在获取风险指令与分布式消息系统中消息队列之间的对应关系之前,还包括:获取历史请求集;根据所述历史请求集中历史请求的请求源地址,确定至少一个区域;在所述历史请求集中按照历史请求的请求源地址,统计各所述区域的请求数据量;根据各所述区域的请求数量,将各所述区域分配到多个预设分区中,其中,各所述分区的请求数量满足一致条件;根据预先建立的分区与消息队列之间的对应关系,确定区域与消息队列之间的对应关系。5.根据权利要求1所述的方法,其特征在于,所述通过计算节点,从与所述计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,包括:通过计算节点,调用指令解析模块,将所述待处理指令加入到所述待处理指令对应的处理队列中;通过所述计算节点,调用风险检测模块,从所述处理队列中获取待处理指令,计算风险检测结果。6.根据权利要求5所述的方法,其特征在于,所述通过所述计算节点,调用风险检测模
块,从所述处理队列中获取待处理指令,计算风险检测结果,包括:通过所述计算节点,调用风险检测模块中至少一个处理单元,从各所述处理单元对应的处理队列中获取以及并行执行待处理指令,并计算相应风险检测结果。7.根据权利要求1所述的方法,其特征在于,所述消息队列设置有至少一个副本队列。8.一种风险处理装置,其特征在于,包括:风险数据获取模块,用于通过风险指令生成节点响应于请求处理产生的风险事件,获取所述风险事件关联的风险数据;风险指令生成模块,用于通过所述风险指令生成节点根据所述风险数据生成风险指令,并发送至风险分发节点;风险指令分发模块,用于通过所述风险分发节点,将所述风险指令添加到分布式消息系统中所述风险指令对应的消息队列中;风险检测结果获取模块,用于通过计算节点,从与所述计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,以及反馈所述风险检测结果。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的风险处理方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的风险处理方法。
技术总结本发明公开了一种风险处理方法、装置、设备以及存储介质,该方法包括:通过风险指令生成节点响应于请求处理产生的风险事件,获取风险事件关联的风险数据;通过风险指令生成节点根据风险数据生成风险指令,并发送至风险分发节点;通过风险分发节点,将风险指令添加到分布式消息系统中风险指令对应的消息队列中;通过计算节点,从与计算节点对应的消息队列中获取待处理指令,并异步处理得到风险检测结果,以及反馈风险检测结果。上述技术方案,通过风险指令生成节点将风险事件转化为风险指令,并利用风险分发节点将风险指令添加到分布式消息系统中风险指令对应的消息队列中,保证了消息队列中消息的顺序性,提高了风险检测结果的准确性。准确性。准确性。
技术研发人员:涂骋俊 王磊 陆腾飞
受保护的技术使用者:中国农业银行股份有限公司
技术研发日:2022.10.25
技术公布日:2023/1/6