CN110532025A - 基于微服务架构的数据处理方法、装置、设备及存储介质 - Google Patents
基于微服务架构的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110532025A CN110532025A CN201910811480.2A CN201910811480A CN110532025A CN 110532025 A CN110532025 A CN 110532025A CN 201910811480 A CN201910811480 A CN 201910811480A CN 110532025 A CN110532025 A CN 110532025A
- Authority
- CN
- China
- Prior art keywords
- module
- event
- data
- real
- rule
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及计算机数据处理领域,公开了一种基于微服务架构的数据处理方法、装置、设备及存储介质。本发明采用微服务架构设置了注册配置模块、实时事件处理模块、实时规则执行服务模块、规则管理平台模块四个核心模块,各模块都可以按照每个模块自己的处理需求增加服务器或者减少服务器。其中,实时规则执行服务模块支持对外接口,提高了该数据处理方法的可扩展性。此外,本发明还支持服务管理,运维人员只需要物理部署一次,后续的变动和调整都可由业务边界下的指定用户进行管理,不再依赖于运维人员进行硬件资源的分配,提高了业务调整的灵活性。
Description
技术领域
本发明涉及计算机数据处理领域,尤其涉及一种基于微服务架构的数据处理方法、装置、设备及存储介质。
背景技术
业务流程管理系统(Business Process Management System,BPMS)是一种使企业能够对核心流程进行建模,部署和管理的数据处理系统。业务流程管理系统所处理的业务流程越来越复杂,需要不断调整才能适应市场的需求。这对企业信息系统的灵活性提出了更高的要求。工作流系统是一种通过业务逻辑与应用程序的分离,提高业务流程的灵活性的数据处理系统。该工作流系统虽可应用于企业业务管理,但其通常侧重于结构化流程的自动化执行,还不足以支持整个企业的业务运转。
在现有的业务流程管理系统中,多以国外的陈旧系统为主,如基于开源业务规则引擎Drools的业务流程管理系统Guvnor。由于架构模式的原因,Guvnor无法支持服务集群的管理,且在部分服务出现故障时,系统无法自动恢复,容易出现宕机、服务不可用的情况。同时,Guvnor定位的视角是软件项目代码层面,而不是架构层面,导致与其他系统的兼容性较差。在Guvnor系统中,当业务出现变动时,需要执行重新修改代码,重新发布的处理流程,导致了其对于多用户、多组织、多部门、多并发的复杂场景,其本身的对应处理能力的伸缩性是较差的。
发明内容
基于此,有必要针对上述技术问题,提供一种基于微服务架构的数据处理方法、装置、计算机设备及存储介质,以解决现有的业务流程管理系统的易维护性和易扩展性不足的问题。
一种基于微服务架构的数据处理方法,包括:
通过注册配置模块接收实时事件处理模块、实时规则执行服务模块、规则管理平台模块的注册请求;
在已注册的状态下,通过所述规则管理平台模块接收规则修改指令,根据所述规则修改指令生成规则更新数据;
通过所述注册配置模块接收所述规则管理平台模块发送的所述规则更新数据,并生成规则更新提醒信息,将所述规则更新提醒信息发送至所述实时事件处理模块和所述实时规则执行服务模块;
通过所述实时事件处理模块处理所述规则更新提醒信息,生成第一更新请求,将所述第一更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时事件处理模块的第一本地规则数据进行更新;
通过所述实时规则执行服务模块处理所述规则更新提醒信息,生成第二更新请求,将所述第二更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时规则执行服务模块的第二本地规则数据进行更新;
在所述实时事件处理模块中,根据所述第一本地规则数据对接收到的事件消息进行处理,生成处理结果;
在所述实时规则执行服务模块中,接收规则数据请求方发送的符合预设要求的访问请求,从所述第二本地规则数据查找与所述访问请求匹配的规则处理结果数据,将所述规则处理结果数据发送给所述规则数据请求方。
一种基于微服务架构的数据处理装置,包括:
包括注册配置模块、实时事件处理模块、实时规则执行服务模块和规则管理平台模块;
所述注册配置模块,用于接收实时事件处理模块、实时规则执行服务模块、规则管理平台模块的注册请求;
所述规则管理平台模块,用于在已注册的状态下,接收规则修改指令,根据所述规则修改指令生成规则更新数据;
所述注册配置模块,还用于接收所述规则管理平台模块发送的所述规则更新数据,并生成规则更新提醒信息,将所述规则更新提醒信息发送至所述实时事件处理模块和所述实时规则执行服务模块;
所述实时事件处理模块,用于处理所述规则更新提醒信息,生成第一更新请求,将所述第一更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时事件处理模块的第一本地规则数据进行更新;
所述实时规则执行服务模块,用于处理所述规则更新提醒信息,生成第二更新请求,将所述第二更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时规则执行服务模块的第二本地规则数据进行更新;
所述实时事件处理模块,还用于根据所述第一本地规则数据对接收到的事件消息进行处理,生成处理结果;
所述实时规则执行服务模块,还用于接收规则数据请求方发送的符合预设要求的访问请求,从所述第二本地规则数据查找与所述访问请求匹配的规则处理结果数据,将所述规则处理结果数据发送给所述规则数据请求方。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于微服务架构的数据处理方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于微服务架构的数据处理方法。
上述基于微服务架构的数据处理方法、装置、计算机设备及存储介质,采用微服务架构设置了注册配置模块、实时事件处理模块、实时规则执行服务模块、规则管理平台模块四个核心模块,各模块都可以按照每个模块自己的处理需求增加服务器或者减少服务器。其中,实时规则执行服务模块支持对外接口,提高了该数据处理方法的可扩展性。此外,本发明提供的方法还支持服务管理,运维人员只需要物理部署一次,后续的变动和调整都可由业务边界下的指定用户进行管理,不再依赖于运维人员进行硬件资源的分配,提高了业务调整的灵活性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中基于微服务架构的数据处理方法的一应用环境示意图;
图2是本发明一实施例中基于微服务架构的数据处理方法的一流程示意图;
图3是本发明一实施例中基于微服务架构的数据处理方法的一流程示意图;
图4是本发明一实施例中基于微服务架构的数据处理方法的一流程示意图;
图5是本发明一实施例中基于微服务架构的数据处理方法的一流程示意图;
图6是本发明一实施例中基于微服务架构的数据处理方法的一流程示意图;
图7是本发明一实施例中基于微服务架构的数据处理方法的一流程示意图;
图8是本发明一实施例中基于微服务架构的数据处理装置的一结构示意图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供的基于微服务架构的数据处理方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务端进行通信。其中,客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种基于微服务架构的数据处理方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S10、通过注册配置模块接收实时事件处理模块、实时规则执行服务模块、规则管理平台模块的注册请求;
S20、在已注册的状态下,通过所述规则管理平台模块接收规则修改指令,根据所述规则修改指令生成规则更新数据;
S30、通过所述注册配置模块接收所述规则管理平台模块发送的所述规则更新数据,并生成规则更新提醒信息,将所述规则更新提醒信息发送至所述实时事件处理模块和所述实时规则执行服务模块;
S40、通过所述实时事件处理模块处理所述规则更新提醒信息,生成第一更新请求,将所述第一更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时事件处理模块的第一本地规则数据进行更新;
S50、通过所述实时规则执行服务模块处理所述规则更新提醒信息,生成第二更新请求,将所述第二更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时规则执行服务模块的第二本地规则数据进行更新;
S41、在所述实时事件处理模块中,根据所述第一本地规则数据对接收到的事件消息进行处理,生成处理结果;
S51、在所述实时规则执行服务模块中,接收规则数据请求方发送的符合预设要求的访问请求,从所述第二本地规则数据查找与所述访问请求匹配的规则处理结果数据,将所述规则处理结果数据发送给所述规则数据请求方。
本实施例提供的基于微服务架构的数据处理方法,可应用于中大型企业的业务流程管理系统上。在本实施例提供的方法中,使用到一些内部模块,如注册配置模块、实时事件处理模块、实时规则执行服务模块和规则管理平台模块,也使用到一些外部模块,如外部调用模块、外部应用服务模块。
为了确保业务流程管理系统中出现异常故障时,可以动态的分配请求到健康的服务器上运行,使得现有业务不受到影响,本实施例使用了注册配置模块作为系统的中心连接节点,并且配合使用网关,使得业务流程管理系统内的跨模块调用有很高的可用性。
系统内各模块都可以按照每个模块自己的需求增加服务器或者减少服务器,使得系统可在性能瓶颈出现时通过增加相应模块的服务器数量的方式来提高处理能力。
具体的,注册配置模块可以使用现有的可提供微服务配置的服务器为其他模块提供服务。其他模块(也包括网关)在启动时,都需要注册到注册配置模块中。注册配置模块记录各模块的服务名、IP等信息,用以提供路由列表。
规则管理平台模块用于提供动态配置功能。动态配置可以按照配置账户(配置ID)进行配置的划分。在系统中,可以为每个业务提供一个授权编码,形成一个“业务边界”。每个业务边界下配置账户不与其它业务边界下的账户重复。每个业务边界可对应多个配置账户(比如实时事件处理模块用一套配置账户,实时规则执行服务模块使用一套配置账户)。每个配置账户仅能获取当前业务边界下的配置内容。
当某个配置账户发生变化时,规则管理平台模块将主动向所有使用此配置账户的模块发出信息提醒(需经过注册配置模块的中转),信息提醒包括配置账户中对应的内容发生什么变化,并告知变化的最新值是什么。在一些情况下,配置账户发生变化指的是配置账户所对应的规则数据发生了变化。
规则管理平台模块可以接收用户输入的规则修改指令,并根据规则修改指令对配置账户下的规则数据进行更改,得到规则更新数据。然后将规则更新数据发送至注册配置模块。此时,注册配置模块向实时事件处理模块和实时规则执行服务模块发送规则更新提醒信息。
实时事件处理模块和实时规则执行服务模块接收到规则更新提醒信息,则分别生成第一更新请求和第二更新请求,向注册配置模块获取规则更新数据。在取得规则更新数据后,实时事件处理模块根据规则更新数据对第一本地规则数据进行更新;实时规则执行服务模块根据规则更新数据对第二本地规则数据进行更新。
实时事件处理模块可以接收并处理外部应用服务模块发送的事件消息。在此处,事件消息可以投递至指定的消息队列中。每个消息队列中的时间消息具有相同的事件类型。并且,事件消息必须是合法的,实时事件处理模块才能完成对事件消息的正确处理。因而,在处理前,实时事件处理模块需要对事件消息进行必要的验证。事件消息的处理结果可以是一项或多项待执行新任务。
实时规则执行服务模块,可以选择当前业务边界内正式版的规则数据,作为服务进行发布。所有被发布的规则数据可以通过约定的RestAPI接受规则数据请求方发出的远程的HTTP请求访问,并返回相同模板结构的数据对象。实时规则执行服务模块作为整个系统中共享的服务资源存在的,为所有业务边界下的规则数据发布提供接口调用返回。
用户可以选择需要发布的规则,并对其进行发布。所有发布、修改操作都实时的通知注册配置模块,且所有实时规则执行服务与注册配置模块实时连接。一旦注册配置模块上面的规则数据的最新修改时间有所变动,那么所有实时规则执行服务将获取到最新发生变动过的规则数据,并且在内部对其重新加载。所有实时规则执行服务在启动时也会去获取所有被发布出来的规则列表,以供其它服务远程调用。其它远程服务的调用方式,是按照实时规则执行服务服务调用规范(如软件开发工具包)进行的。
可选的,如图3所示,基于微服务架构的数据处理方法还包括:
S60、接收资源请求方发送的权限资源访问请求,所述权限资源方法请求包括资源地址、应用账号和授权编码;
S61、获取与所述资源地址匹配的校验规则,根据所述检验规则验证所述应用账号和所述授权编码的合法性;
S62、若所述应用账号和所述授权编码的合法性通过验证,则允许所述资源请求方对所述资源地址的数据资源的访问。
本实施例中,每个可供资源请求方访问的数据资源对应唯一的资源地址(UrlResource)。但当资源请求方独立访问指定的资源地址时,需要对应用账号(ApplicationId)和授权编码(AuthorizationCode)进行校验,以提供相应的访问权限(Privilege)。UrlResource+AuthorizationCode+ApplicationId在权限体系中全局唯一。也就是说,在本系统中,用户是无法越权访问的。
在一些情况下,可以基于权限分配的特点,为用户提供动态菜单。也就是说,当用户的权限发生改变下,菜单的选项也会发生变动。
可选的,如图4所示,步骤S41之前,还包括:
S401、在所述实时事件处理模块中,接收事件投递方发送的所述事件消息,所述事件消息包括事件类型;
S402、根据所述事件消息生成事件类型查询指令,将所述事件类型查询指令发送至所述规则管理平台模块;
S403、获取所述规则管理平台模块返回的事件类型查询结果;
S404、判断所述事件类型查询结果是否与所述事件消息中的事件类型相符;
S405、若所述事件类型查询结果与所述事件消息中的事件类型相符,则判定所述事件消息合法。
本实施例中,当事件投递方(外部应用)发生业务事件(如下单成功,支付成功)需要接入实时事件处理模块时,需利用业务流程管理系统提供的SDK功能,投递事件消息。为了保证事件消息投递的事件类型(一些情况下指的是实体对象)是合法的,SDK将在投递初始化的时候,对事件消息进行校验。事件消息需要根据规则管理平台模块上定义的事件类型进行投递,被投递的事件消息必须是在规则管理平台模块上被定义过的。
而在事件消息投递到实时事件处理模块时,实时事件处理模块根据事件消息生成事件类型查询指令,将事件类型查询指令发送至规则管理平台模块。事件类型查询指令可以使用“事实对象唯一路径”+“对象版本号”作为参数。规则管理平台模块可向实时事件处理模块返回事件类型查询指令的事件类型查询结果。若事件类型查询结果与事件消息中的事件类型相符,则判定事件消息是合法的。在另一些实施例中,也可以利用本地SDK功能对事件消息的事件类型的签名结构进行验证,判断事件消息的合法性。
可选的,如图5所示,步骤S41包括:
S411、读取所述事件消息的事件类型;
S412、从所述第一本地规则数据中选取与所述事件类型匹配的知识包,所述知识包包括至少一条的事件处理规则;
S413、根据所述知识包对所述事件消息进行处理,生成所述处理结果。
本实施例中,实时事件处理模块中可以运行多个事件处理进程(JOB)。JOB启动时,将通过规则管理平台模块的接口,获取更新后的第一本地规则数据。可在第一本地规则数据中选取与当前事件消息的事件类型匹配的知识包。知识包可以认为是一个规则对象的集合,但同一个知识包中指定的规则对象所使用的事实对象必须是同一个事件类型,否则这个规则对象只能被划分到另一个与之事实对象类型匹配的知识包中。JOB将会分别加载多个知识包。同一个知识包可以被多个JOB加载并运行,但同一个事件消息只会被同一个JOB处理(如果没有发生故障转移),不同的事件消息可能被不同的JOB处理。需要注意的是,同一事件消息是针对同一个组群的账户(GroupId)而言的,不同的组群下,内容相同的事件消息被视为不同的事件消息。这里的组群的账户可以指在某个应用账号下的组群,其命名可以表示为:应用账号+组群识别号。其中组群识别号在同一应用账号下是唯一的。
处理一条事件信息,将可能一次触发知识包中的多个规则。JOB的消费,同样由业务管理系统的SDK提供功能,在初始化时也会执行与投递过程一样的合法性校验,以防止反序列化时的意外情况出现。当消息成功反序列化后,JOB将会根据事件类型,分别触发与之对应的知识包,事实对象包含返回结果,用以保存计算获得的处理结果。
若知识包中存在规则流,则可通过规则流中的远程推送功能,把规则对象中的数据,转换成需要调用的远程接口对象,进行远程调用。
可选的,如图6所示,步骤S412之后,还包括:
S414、若所述事件消息的处理出现异常,则重新获取所述事件消息,根据所述知识包对所述事件消息进行处理;
S415、若所述事件消息的处理异常次数超过预设阈值,则终止对所述事件消息进行处理。
本实施例中,同一条事件消息在处理时出现异常时,可进行重试(如可在信息队列中配置)。处理异常可能是由于网络或者外部服务暂时不可用造成的。通过多次重试可能可以克服处理异常的问题。当事件消息的处理异常次数超过预设阈值时,为防止消息阻塞,则不会再进行重试。并将该事件消息加入死讯队列。死讯队列用于统计未能正常消费的事件消息。极端情况下,需要进入人工接入(比如修复代码中的逻辑错误)。
可选的,如图7所示,基于微服务架构的数据处理方法还包括:
S410、根据所述第一本地规则数据对接收到的事件消息进行处理时,生成事件消息处理日志,并将所述事件消息处理日志存储于预设的事件日志管理模块;
S510、接收规则数据请求方发送的符合预设要求的访问请求时,生成访问记录日志,并将所述访问记录日志存储于所述事件日志管理模块。
本实施例中,还可以设置专用于记录事件处理日志的事件日志管理模块。事件日志管理模块分别与实时事件处理模块和实时规则执行服务模块连接。实时事件处理模块生成的事件消息处理日志和实时规则执行服务模块生成的访问记录日志都将存储于事件日志管理模块,以便于后续的业务数据核对。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于微服务架构的数据处理装置,该基于微服务架构的数据处理装置与上述实施例中基于微服务架构的数据处理方法一一对应。如图8所示,该基于微服务架构的数据处理装置包括注册配置模块10、实时事件处理模块20、实时规则执行服务模块30和规则管理平台模块40。
各功能模块详细说明如下:
注册配置模块10,用于接收实时事件处理模块、实时规则执行服务模块、规则管理平台模块的注册请求;
规则管理平台模块40,用于在已注册的状态下,接收规则修改指令,根据所述规则修改指令生成规则更新数据;
注册配置模块10,还用于接收所述规则管理平台模块发送的所述规则更新数据,并生成规则更新提醒信息,将所述规则更新提醒信息发送至所述实时事件处理模块和所述实时规则执行服务模块;
实时事件处理模块20,用于处理所述规则更新提醒信息,生成第一更新请求,将所述第一更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时事件处理模块的第一本地规则数据进行更新;
实时规则执行服务模块30,用于处理所述规则更新提醒信息,生成第二更新请求,将所述第二更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时规则执行服务模块的第二本地规则数据进行更新;
实时事件处理模块20,还用于根据所述第一本地规则数据对接收到的事件消息进行处理,生成处理结果;
实时规则执行服务模块30,还用于接收规则数据请求方发送的符合预设要求的访问请求,从所述第二本地规则数据查找与所述访问请求匹配的规则处理结果数据,将所述规则处理结果数据发送给所述规则数据请求方。
可选的,基于微服务架构的数据处理装置还包括权限管理模块,该权限管理模块包括:
接收请求单元,用于接收资源请求方发送的权限资源访问请求,所述权限资源方法请求包括资源地址、应用账号和授权编码;
规则验证单元,用于获取与所述资源地址匹配的校验规则,根据所述检验规则验证所述应用账号和所述授权编码的合法性;
允许访问单元,用于若所述应用账号和所述授权编码的合法性通过验证,则允许所述资源请求方对所述资源地址的数据资源的访问。
可选的,实时事件处理模块20包括事件消息验证单元,所述事件消息验证单元包括:
接收消息子单元,用于在所述实时事件处理模块中,接收事件投递方发送的所述事件消息,所述事件消息包括事件类型;
消息查询子单元,用于根据所述事件消息生成事件类型查询指令,将所述事件类型查询指令发送至所述规则管理平台模块;
获取查询结果子单元,用于获取所述规则管理平台模块返回的事件类型查询结果;
类型比对子单元,用于判断所述事件类型查询结果是否与所述事件消息中的事件类型相符;
确定消息合法子单元,用于若所述事件类型查询结果与所述事件消息中的事件类型相符,则判定所述事件消息合法。
可选的,实时事件处理模块20包括:
消息读取单元,用于读取所述事件消息的事件类型;
获取知识包单元,用于从所述第一本地规则数据中选取与所述事件类型匹配的知识包,所述知识包包括至少一条的事件处理规则;
消息处理单元,用于根据所述知识包对所述事件消息进行处理,生成所述处理结果。
可选的,实时事件处理模块20还包括:
再次处理单元,用于若所述事件消息的解析处理出现异常,则重新获取所述事件消息,根据所述知识包对所述事件消息进行解析处理终止处理单元,用于若所述事件消息的处理异常次数超过预设阈值,则终止对所述事件消息进行处理。
可选的,基于微服务架构的数据处理装置还包括事件日志管理模块,所述事件日志管理模块包括:
第一日志记录单元,用于存储所述实时事件处理模块产生的事件消息处理日志;
第二日志记录单元,用于存储所述实时规则执行服务模块产生的访问记录日志。
关于基于微服务架构的数据处理装置的具体限定可以参见上文中对于基于微服务架构的数据处理方法的限定,在此不再赘述。上述基于微服务架构的数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于基于微服务架构的数据处理方法。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于微服务架构的数据处理方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
通过注册配置模块接收实时事件处理模块、实时规则执行服务模块、规则管理平台模块的注册请求;
在已注册的状态下,通过所述规则管理平台模块接收规则修改指令,根据所述规则修改指令生成规则更新数据;
通过所述注册配置模块接收所述规则管理平台模块发送的所述规则更新数据,并生成规则更新提醒信息,将所述规则更新提醒信息发送至所述实时事件处理模块和所述实时规则执行服务模块;
通过所述实时事件处理模块处理所述规则更新提醒信息,生成第一更新请求,将所述第一更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时事件处理模块的第一本地规则数据进行更新;
通过所述实时规则执行服务模块处理所述规则更新提醒信息,生成第二更新请求,将所述第二更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时规则执行服务模块的第二本地规则数据进行更新;
在所述实时事件处理模块中,根据所述第一本地规则数据对接收到的事件消息进行处理,生成处理结果;
在所述实时规则执行服务模块中,接收规则数据请求方发送的符合预设要求的访问请求,从所述第二本地规则数据查找与所述访问请求匹配的规则处理结果数据,将所述规则处理结果数据发送给所述规则数据请求方。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
通过注册配置模块接收实时事件处理模块、实时规则执行服务模块、规则管理平台模块的注册请求;
在已注册的状态下,通过所述规则管理平台模块接收规则修改指令,根据所述规则修改指令生成规则更新数据;
通过所述注册配置模块接收所述规则管理平台模块发送的所述规则更新数据,并生成规则更新提醒信息,将所述规则更新提醒信息发送至所述实时事件处理模块和所述实时规则执行服务模块;
通过所述实时事件处理模块处理所述规则更新提醒信息,生成第一更新请求,将所述第一更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时事件处理模块的第一本地规则数据进行更新;
通过所述实时规则执行服务模块处理所述规则更新提醒信息,生成第二更新请求,将所述第二更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时规则执行服务模块的第二本地规则数据进行更新;
在所述实时事件处理模块中,根据所述第一本地规则数据对接收到的事件消息进行处理,生成处理结果;
在所述实时规则执行服务模块中,接收规则数据请求方发送的符合预设要求的访问请求,从所述第二本地规则数据查找与所述访问请求匹配的规则处理结果数据,将所述规则处理结果数据发送给所述规则数据请求方。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于微服务架构的数据处理方法,其特征在于,包括:
通过注册配置模块接收实时事件处理模块、实时规则执行服务模块、规则管理平台模块的注册请求;
在已注册的状态下,通过所述规则管理平台模块接收规则修改指令,根据所述规则修改指令生成规则更新数据;
通过所述注册配置模块接收所述规则管理平台模块发送的所述规则更新数据,并生成规则更新提醒信息,将所述规则更新提醒信息发送至所述实时事件处理模块和所述实时规则执行服务模块;
通过所述实时事件处理模块处理所述规则更新提醒信息,生成第一更新请求,将所述第一更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时事件处理模块的第一本地规则数据进行更新;
通过所述实时规则执行服务模块处理所述规则更新提醒信息,生成第二更新请求,将所述第二更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时规则执行服务模块的第二本地规则数据进行更新;
在所述实时事件处理模块中,根据所述第一本地规则数据对接收到的事件消息进行处理,生成处理结果;
在所述实时规则执行服务模块中,接收规则数据请求方发送的符合预设要求的访问请求,从所述第二本地规则数据查找与所述访问请求匹配的规则处理结果数据,将所述规则处理结果数据发送给所述规则数据请求方。
2.如权利要求1所述的基于微服务架构的数据处理方法,其特征在于,还包括:
接收资源请求方发送的权限资源访问请求,所述权限资源方法请求包括资源地址、应用账号和授权编码;
获取与所述资源地址匹配的校验规则,根据所述检验规则验证所述应用账号和所述授权编码的合法性;
若所述应用账号和所述授权编码的合法性通过验证,则允许所述资源请求方对所述资源地址的数据资源的访问。
3.如权利要求1所述的基于微服务架构的数据处理方法,其特征在于,所述在所述实时事件处理模块中,根据所述第一本地规则数据对接收到的事件消息进行处理,生成处理结果之前,还包括:
在所述实时事件处理模块中,接收事件投递方发送的所述事件消息,所述事件消息包括事件类型;
根据所述事件消息生成事件类型查询指令,将所述事件类型查询指令发送至所述规则管理平台模块;
获取所述规则管理平台模块返回的事件类型查询结果;
判断所述事件类型查询结果是否与所述事件消息中的事件类型相符;
若所述事件类型查询结果与所述事件消息中的事件类型相符,则判定所述事件消息合法。
4.如权利要求1所述的基于微服务架构的数据处理方法,其特征在于,所述在所述实时事件处理模块中,根据所述第一本地规则数据对接收到的事件消息进行处理,生成处理结果,包括:
读取所述事件消息的事件类型;
从所述第一本地规则数据中选取与所述事件类型匹配的知识包,所述知识包包括至少一条的事件处理规则;
根据所述知识包对所述事件消息进行处理,生成所述处理结果。
5.如权利要求4所述的基于微服务架构的数据处理方法,其特征在于,所述根据所述知识包对所述事件消息进行处理之后,还包括:
若所述事件消息的处理出现异常,则重新获取所述事件消息,根据所述知识包对所述事件消息进行处理;
若所述事件消息的处理异常次数超过预设阈值,则终止对所述事件消息进行处理。
6.如权利要求1所述的基于微服务架构的数据处理方法,其特征在于,根据所述第一本地规则数据对接收到的事件消息进行处理时,生成事件消息处理日志,并将所述事件消息处理日志存储于预设的事件日志管理模块;
接收规则数据请求方发送的符合预设要求的访问请求时,生成访问记录日志,并将所述访问记录日志存储于所述事件日志管理模块。
7.一种基于微服务架构的数据处理装置,其特征在于,包括注册配置模块、实时事件处理模块、实时规则执行服务模块和规则管理平台模块;
所述注册配置模块,用于接收实时事件处理模块、实时规则执行服务模块、规则管理平台模块的注册请求;
所述规则管理平台模块,用于在已注册的状态下,接收规则修改指令,根据所述规则修改指令生成规则更新数据;
所述注册配置模块,还用于接收所述规则管理平台模块发送的所述规则更新数据,并生成规则更新提醒信息,将所述规则更新提醒信息发送至所述实时事件处理模块和所述实时规则执行服务模块;
所述实时事件处理模块,用于处理所述规则更新提醒信息,生成第一更新请求,将所述第一更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时事件处理模块的第一本地规则数据进行更新;
所述实时规则执行服务模块,用于处理所述规则更新提醒信息,生成第二更新请求,将所述第二更新请求发送至所述注册配置模块,从所述注册配置模块获取所述规则更新数据,根据所述规则更新数据对所述实时规则执行服务模块的第二本地规则数据进行更新;
所述实时事件处理模块,还用于根据所述第一本地规则数据对接收到的事件消息进行处理,生成处理结果;
所述实时规则执行服务模块,还用于接收规则数据请求方发送的符合预设要求的访问请求,从所述第二本地规则数据查找与所述访问请求匹配的规则处理结果数据,将所述规则处理结果数据发送给所述规则数据请求方。
8.如权利要求7所述的基于微服务架构的数据处理装置,其特征在于,还包括权限管理模块,所述权限管理模块包括:
接收请求单元,用于接收资源请求方发送的权限资源访问请求,所述权限资源方法请求包括资源地址、应用账号和授权编码;
规则验证单元,用于获取与所述资源地址匹配的校验规则,根据所述检验规则验证所述应用账号和所述授权编码的合法性;
允许访问单元,用于若所述应用账号和所述授权编码的合法性通过验证,则允许所述资源请求方对所述资源地址的数据资源的访问。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述基于微服务架构的数据处理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于微服务架构的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910811480.2A CN110532025B (zh) | 2019-08-30 | 2019-08-30 | 基于微服务架构的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910811480.2A CN110532025B (zh) | 2019-08-30 | 2019-08-30 | 基于微服务架构的数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532025A true CN110532025A (zh) | 2019-12-03 |
CN110532025B CN110532025B (zh) | 2021-01-05 |
Family
ID=68665329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910811480.2A Active CN110532025B (zh) | 2019-08-30 | 2019-08-30 | 基于微服务架构的数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532025B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274085A (zh) * | 2020-01-14 | 2020-06-12 | 中科驭数(北京)科技有限公司 | 数据库监控系统及方法 |
CN111310141A (zh) * | 2020-02-13 | 2020-06-19 | 上海复深蓝软件股份有限公司 | 鉴权管理方法、装置、计算机设备及存储介质 |
CN111694638A (zh) * | 2020-05-28 | 2020-09-22 | 中国平安人寿保险股份有限公司 | 规则包加载方法、规则包执行方法及终端设备 |
CN111899105A (zh) * | 2020-08-04 | 2020-11-06 | 深圳乐信软件技术有限公司 | 系统异常处理方法、装置、计算机设备及存储介质 |
CN113160024A (zh) * | 2021-04-30 | 2021-07-23 | 中国银行股份有限公司 | 基于微服务架构的业务管理系统及方法 |
CN114357947A (zh) * | 2021-12-30 | 2022-04-15 | 中电九天智能科技有限公司 | 一种对plc事件点位分配管理系统进行规划的方法 |
CN114968024A (zh) * | 2022-05-16 | 2022-08-30 | 杭州数梦工场科技有限公司 | 微服务菜单管理方法、装置、电子设备及存储介质 |
CN117573396A (zh) * | 2024-01-15 | 2024-02-20 | 浙江锦智人工智能科技有限公司 | 一种分布式工作流事件处理方法、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120005542A1 (en) * | 2010-07-01 | 2012-01-05 | LogRhythm Inc. | Log collection, structuring and processing |
CN103618652A (zh) * | 2013-12-17 | 2014-03-05 | 沈阳觉醒软件有限公司 | 一种业务数据的审计和深度分析系统及其方法 |
CN103617513A (zh) * | 2013-12-19 | 2014-03-05 | 上海亚太计算机信息系统有限公司 | 一种支持规则演化的计算流引擎方法 |
CN103701783A (zh) * | 2013-12-17 | 2014-04-02 | 沈阳觉醒软件有限公司 | 一种预处理单元、由其构成的数据处理系统以及处理方法 |
CN107818484A (zh) * | 2016-09-14 | 2018-03-20 | 北京京东尚科信息技术有限公司 | 管理开票规则的方法和系统 |
CN107944870A (zh) * | 2017-11-15 | 2018-04-20 | 深圳市买买提乐购金融服务有限公司 | 基于电子商务的交易业务处理方法、系统及终端设备 |
CN108401018A (zh) * | 2018-02-09 | 2018-08-14 | 北京航智信息技术有限公司 | 多模式策略监管学生移动终端的方法及装置 |
CN109165248A (zh) * | 2018-01-29 | 2019-01-08 | 北京数聚鑫云信息技术有限公司 | 一种基于api的管理系统及管理方法 |
CN109656688A (zh) * | 2018-12-07 | 2019-04-19 | 北京京东金融科技控股有限公司 | 一种实现分布式业务规则的方法、系统和服务器 |
-
2019
- 2019-08-30 CN CN201910811480.2A patent/CN110532025B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120005542A1 (en) * | 2010-07-01 | 2012-01-05 | LogRhythm Inc. | Log collection, structuring and processing |
CN103618652A (zh) * | 2013-12-17 | 2014-03-05 | 沈阳觉醒软件有限公司 | 一种业务数据的审计和深度分析系统及其方法 |
CN103701783A (zh) * | 2013-12-17 | 2014-04-02 | 沈阳觉醒软件有限公司 | 一种预处理单元、由其构成的数据处理系统以及处理方法 |
CN103617513A (zh) * | 2013-12-19 | 2014-03-05 | 上海亚太计算机信息系统有限公司 | 一种支持规则演化的计算流引擎方法 |
CN107818484A (zh) * | 2016-09-14 | 2018-03-20 | 北京京东尚科信息技术有限公司 | 管理开票规则的方法和系统 |
CN107944870A (zh) * | 2017-11-15 | 2018-04-20 | 深圳市买买提乐购金融服务有限公司 | 基于电子商务的交易业务处理方法、系统及终端设备 |
CN109165248A (zh) * | 2018-01-29 | 2019-01-08 | 北京数聚鑫云信息技术有限公司 | 一种基于api的管理系统及管理方法 |
CN108401018A (zh) * | 2018-02-09 | 2018-08-14 | 北京航智信息技术有限公司 | 多模式策略监管学生移动终端的方法及装置 |
CN109656688A (zh) * | 2018-12-07 | 2019-04-19 | 北京京东金融科技控股有限公司 | 一种实现分布式业务规则的方法、系统和服务器 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274085A (zh) * | 2020-01-14 | 2020-06-12 | 中科驭数(北京)科技有限公司 | 数据库监控系统及方法 |
CN111310141A (zh) * | 2020-02-13 | 2020-06-19 | 上海复深蓝软件股份有限公司 | 鉴权管理方法、装置、计算机设备及存储介质 |
CN111694638A (zh) * | 2020-05-28 | 2020-09-22 | 中国平安人寿保险股份有限公司 | 规则包加载方法、规则包执行方法及终端设备 |
CN111899105A (zh) * | 2020-08-04 | 2020-11-06 | 深圳乐信软件技术有限公司 | 系统异常处理方法、装置、计算机设备及存储介质 |
CN113160024A (zh) * | 2021-04-30 | 2021-07-23 | 中国银行股份有限公司 | 基于微服务架构的业务管理系统及方法 |
CN114357947A (zh) * | 2021-12-30 | 2022-04-15 | 中电九天智能科技有限公司 | 一种对plc事件点位分配管理系统进行规划的方法 |
CN114968024A (zh) * | 2022-05-16 | 2022-08-30 | 杭州数梦工场科技有限公司 | 微服务菜单管理方法、装置、电子设备及存储介质 |
CN114968024B (zh) * | 2022-05-16 | 2024-08-13 | 杭州数梦工场科技有限公司 | 微服务菜单管理方法、装置、电子设备及存储介质 |
CN117573396A (zh) * | 2024-01-15 | 2024-02-20 | 浙江锦智人工智能科技有限公司 | 一种分布式工作流事件处理方法、设备及介质 |
CN117573396B (zh) * | 2024-01-15 | 2024-03-29 | 浙江锦智人工智能科技有限公司 | 一种分布式工作流事件处理方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110532025B (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532025A (zh) | 基于微服务架构的数据处理方法、装置、设备及存储介质 | |
CN110941679B (zh) | 一种合约数据处理方法、相关设备及介质 | |
CN108510389B (zh) | 基于区块链的智能合约调用方法、设备及可读存储介质 | |
CN106055412B (zh) | 用于动态管理计算容量请求的方法和系统 | |
CN113169952B (zh) | 一种基于区块链技术的容器云管理系统 | |
US10467567B2 (en) | Providing resources to customers via node-relationship models | |
JP2021526751A (ja) | 自己監視ブロックチェーンのための安全な合意に基づくエンドースメント | |
CN109478134A (zh) | 用跨账户别名执行按需网络代码 | |
CN110008665B (zh) | 一种区块链的权限控制方法及装置 | |
US20140344460A1 (en) | Brokering network resources | |
US10749867B1 (en) | Systems and methods for device detection and registration | |
JP2017519308A (ja) | マルチテナントアプリケーションサーバ環境におけるワークマネージャを提供するためのシステムおよび方法 | |
CN105531688A (zh) | 提供作为其它服务的资源的服务 | |
CN111737104B (zh) | 区块链网络服务平台及其测试用例共享方法、存储介质 | |
US10356155B2 (en) | Service onboarding | |
CN104937895A (zh) | 在无线通信系统中控制访问的方法和设备 | |
US20120030223A1 (en) | Extensibility of business process and application logic | |
CN109544321A (zh) | 智能贷款方法、装置、计算机设备及存储介质 | |
CN110457629A (zh) | 权限处理、权限控制方法及装置 | |
CN110163003A (zh) | 一种密码管理方法及装置 | |
CN115757611A (zh) | 大数据集群切换方法、装置、电子设备及存储介质 | |
CN112799970B (zh) | 测试数据处理方法、装置、电子设备及介质 | |
US11231969B2 (en) | Method for auditing a virtualised resource deployed in a cloud computing network | |
CN112181599A (zh) | 模型训练方法、装置及存储介质 | |
US20100222022A1 (en) | Communication method, communication system and access method to service provider base |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Data processing methods, devices, devices, and storage media based on microservice architecture Effective date of registration: 20230928 Granted publication date: 20210105 Pledgee: Bank of Communications Ltd. Shanghai Xuhui sub branch Pledgor: Shanghai Fu Shen Lan Software Co.,Ltd. Registration number: Y2023980059510 |