掌桥专利:专业的专利平台
掌桥专利
首页

一种处理集合业务的方法及装置

文献发布时间:2023-06-19 11:06:50


一种处理集合业务的方法及装置

技术领域

本申请实施例涉及数据处理领域,尤其涉及一种处理业务集合的方法及装置。

背景技术

当今社会的科技飞速发展,为了能够满足社会需求,业务项目复杂程度也随着发展而增加,单一业务项目涉及到的包含业务也越来越多,而绝大多数的后续业务在设计时需要依赖之前已经设计开发好的业务。

在现有技术中,对一个包含旧业务的新业务项目进行设计时的做法是对之前的业务进行重构,将新业务与旧业务融合在同一个处理逻辑中进行统一设计开发,这样会使整个系统会变的复杂,同时,因为重构后的业务会同时对多项业务进行处理,导致数据处理时因为延时产生的处理顺序错误的概率提高,从而导致业务数据的处理结果不完整。

发明内容

本申请实施例提供了一种处理集合业务的方法,用于降低业务数据处理结果不完整的概率。

本申请实施例第一方面提供了一种处理集合业务的方法,包括:

接收待处理业务的处理申请;

判断所述待处理业务是否关联有前置业务,所述前置业务为需优先于所述待处理业务处理的关联业务;

若是,则提取所述业务数据的处理逻辑,所述处理逻辑为所述业务数据的项目处理方案;

根据所述处理逻辑对所述业务数据进行处理,并生成业务消息中间件,所述业务消息中间件包含前置业务是否完成处理的结果;

根据所述业务消息中间件判断所述前置业务是否完成处理;

若否,则将所述前置业务未完成的数据缓存入所述业务消息中间件,生成缓存消息中间件;

通过任务调度器定时遍历所述缓存消息中间件,直至所述缓存消息中间件中所述前置业务的前置业务数据完成处理;

当所述前置业务数据完成处理时,根据所述处理逻辑对所述业务数据进行处理。

可选的,所述通过任务调度器定时遍历所述缓存消息中间件,直至所述缓存消息中间件中所述前置业务的前置业务数据完成处理包括:

提取所述任务调度器的预设定时;

根据所述预设定时提取所述缓存消息中间件;

通过所述任务调度器根据所述缓存消息中间件查找所述前置业务数据;

判断所述前置业务数据是否完成处理。

可选的,所述判断所述前置业务数据是否完成处理之后,所述方法还包括:

当所述前置业务数据未完成处理时,重置所述预设定时,使得所述任务调度器再次根据所述预设定时提取所述缓存消息中间件。

可选的,所述判断所述待处理业务是否关联有前置业务,所述前置业务为需优先于所述待处理业务处理的关联业务包括:

根据所述处理申请获取所述待处理业务的处理逻辑;

根据所述处理逻辑判断所述待处理业务是否关联有所述前置业务。

可选的,所述根据所述业务消息中间件判断所述前置业务是否完成处理之后,所述方法还包括:

若是,则根据所述处理逻辑对所述业务数据进行处理。

可选的,所述当所述前置业务数据完成处理时,根据所述处理逻辑对所述业务数据进行处理之后,所述方法还包括:

释放所述缓存消息中间件的缓存空间。

本申请实施例第二方面提供了一种处理集合业务的装置,包括:

接收单元,用于接收待处理业务的处理申请;

第一判断单元,用判断所述待处理业务是否关联有前置业务,所述前置业务为需优先于所述待处理业务处理的关联业务;

提取单元,用于在判断单元判断结果为是时,提取所述业务数据的处理逻辑,所述处理逻辑为所述业务数据的项目处理方案;

生成单元,用于根据所述处理逻辑对所述业务数据进行处理,并生成业务消息中间件,所述业务消息中间件包含前置业务是否完成处理的结果;

第二判断单元,用于根据所述业务消息中间件判断所述前置业务是否完成处理;

缓存单元,用于在第二判断单元判断结果为否时,将所述前置业务未完成的数据缓存入所述业务消息中间件,生成缓存消息中间件;

遍历单元,用于通过任务调度器定时遍历所述缓存消息中间件,直至所述缓存消息中间件中所述前置业务的前置业务数据完成处理;

业务处理单元,用于当所述前置业务数据完成处理时,根据所述处理逻辑对所述业务数据进行处理。

可选的,所述缓存单元包括:

第一提取模块,用于提取所述任务调度器的预设定时;

第二提取模块,用于根据所述预设定时提取所述缓存消息中间件;

查找模块,用于通过所述任务调度器根据所述缓存消息中间件查找所述前置业务数据;

第一判断模块,用于判断所述前置业务数据是否完成处理。

可选的,所述装置还包括:

重置模块,用于当所述前置业务数据未完成处理时,重置所述预设定时,使得所述任务调度器再次根据所述预设定时提取所述缓存消息中间件。

可选的,所述第一判断单元包括:

获取模块,用于根据所述处理申请获取所述业务数据的处理逻辑;

第二判断模块,用于根据所述处理逻辑判断所述业务数据是否存在所述前置业务。

可选的,所述装置还包括:

若是,则根据所述处理逻辑对所述业务数据进行处理。

可选的,所述装置还包括:

释放所述缓存消息中间件的缓存空间。

本申请实施例第三方面提供了一种处理集合业务的装置,包括:

处理器、存储器、输入输出单元、总线;

所述处理器与所述存储器、所述输入输出单元以及所述总线相连;

所述处理器具体执行如下操作:

接收待处理业务的处理申请;

判断所述待处理业务是否关联有前置业务,所述前置业务为需优先于所述待处理业务处理的关联业务;

若是,则提取所述业务数据的处理逻辑,所述处理逻辑为所述业务数据的项目处理方案;

根据所述处理逻辑对所述业务数据进行处理,并生成业务消息中间件,所述业务消息中间件包含前置业务是否完成处理的结果;

根据所述业务消息中间件判断所述前置业务是否完成处理;

若否,则将所述前置业务未完成的数据缓存入所述业务消息中间件,生成缓存消息中间件;

通过任务调度器定时遍历所述缓存消息中间件,直至所述缓存消息中间件中所述前置业务的前置业务数据完成处理;

当所述前置业务数据完成处理时,根据所述处理逻辑对所述业务数据进行处理。

从以上技术方案可以看出,本申请根据处理申请判断所述业务数据是否包含前置业务,使得在处理业务数据时,将业务数据中的业务与前置业务解耦,并根据业务数据的处理逻辑判断前置业务是否完成处理,降低在对业务数据进行处理时,因为前置业务未处理导致的业务数据处理结果不完整出现的情况。

附图说明

图1为本申请实施例中处理集合业务的方法一个实施例流程示意图;

图2为本申请实施例中处理集合业务的方法另一实施例流程示意图;

图3为本申请实施例中处理集合业务的装置一个实施例结构示意图;

图4为本申请实施例中处理集合业务的装置另一实施例结构示意图;

图5为本申请实施例中处理集合业务的装置另一实施例结构示意图。

具体实施方式

本申请实施例提供了一种处理集合业务的方法,用于降低业务数据处理结果不完整的概率。

下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例的执行主体可以为服务器、终端和系统等具有逻辑运算数据收发功能的设备,具体此处不做限定,本申请实施例主要以服务器为执行主体进行描述。

请参阅图1,本申请实施,提供了处理集合业务的方法一种实施例,包括:

101、服务器接收待处理业务的处理申请;

待处理业务的处理申请由客户端发送至服务器,一般在处理申请中会携带有消息中间件,在处理消息携带的消息中间件中会包含待处理业务的相关信息,该相关信息包括但不限于如与该待处理业务关联的前置业务、待处理业务的处理逻辑获取标识和该代处理业务的业务信息数据等,具体此处不做限定。

在实际情况中,停车场为服务新能源汽车会在停车场内内置充电桩,但停车场的服务方与充电桩的服务方并非同一服务方,此时可能会出现车辆未缴纳充电费使用停车费驶离停车场的情况,为防止这一情况,在设置充电桩后,停车场的停车业务会与充电桩的充电业务关联,在车辆驶离停车场时,需要优先对充电桩的使用费用进行扣费,之后再对停车场的停车费用进行缴费,保证车辆驶离撤场的时候缴费数据完整。

102、所述服务器判断所述待处理业务是否关联有前置业务,所述前置业务为需优先于所述待处理业务处理的关联业务;

服务器可以根据待处理业务的处理申请判断该待处理业务是否关联有前置业务,这里的前置业务必须在待处理业务处理完成之前处理结束,若无法在待处理业务处理完成之前处理结束,最终生成的业务数据会出现数据信息不完成的情况。

在实际情况中,车辆驶离带有充电桩的车场时,服务器根据在车辆出场时获取到的车辆信息对车辆在停车场内的业务使用状况进行分析,判断该车辆是否使用了充电桩,若是,则执行步骤103。

103、所述服务器提取所述业务数据的处理逻辑,所述处理逻辑为所述业务数据的项目处理方案;

服务器在确定了该待处理业务关联有前置业务后,则提取改待处理业务的处理逻辑,处理逻辑为服务器对该待处理业务进行处理的方式,具体的,使用了充电桩的车辆欲离开停车场时,服务器会根据车辆信息判断车辆的离场业务如何处理,此时会对该车辆离场业务的前置业务进行获取,从而确定该车辆使用过充电桩。

104、所述服务器根据所述处理逻辑对所述业务数据进行处理,并生成业务消息中间件,所述业务消息中间件包含前置业务是否完成处理的结果;

当服务器确认了待处理业务的处理逻辑后,根据该处理逻辑更新步骤101时获取的消息中间件,并将处理逻辑写入该消息中间件生成业务消息中间件,在前置业务未完成时,业务消息中间件中会包含该业务的前置业务未处理完成的信息。具体的,在获取车辆的缴费业务请求后,将缴费业务请求写入业务消息中间件,但若此时充电桩缴费未完成,则该中间件中会包含前置业务未完成,也就是充电桩缴费业务未完成的信息。

105、所述服务器根据所述业务消息中间件判断所述前置业务是否完成处理;

服务器根据业务消息中间件中包含的前置业务处理信息判断该待处理业务的前置业务是否完成处理,若前置业务未完成处理则执行步骤106。

具体的,前置业务的处理是分离于待处理业务的,在业务消息中间件中仅包含前置业务的处理结果信息,相同的,前述步骤提及的处理逻辑在实际情况中仅仅是将待处理业务原有的处理逻辑前添加一个对前置业务的判断,使得服务器在对关联有前置业务的待处理业务进行处理时,对前置业务与待处理业务进行分别处理,达到解耦的目的。

106,所述服务器将所述前置业务未完成的数据缓存入所述业务消息中间件,生成缓存消息中间件;

在步骤105确定该待处理业务关联的前置业务未完成处理时,会将前置业务的字段信息缓存入业务消息中间件中。具体的,在前置业务未完成处理时,会生成一个前置业务未完成的字段信息并将该字段信息缓存至消息中间件中,并生成缓存消息中间件,缓存消息中间件中的前置业务相关真的字段信息用于服务器对前置业务的处理情况做判断。

107、所述服务器通过任务调度器定时遍历所述缓存消息中间件,直至所述缓存消息中间件中所述前置业务的前置业务数据完成处理;

具体的,任务调度器用于调度未处理的业务,当待处理业务的前置业务未完成时会生成缓存消息中间件,使得每次任务调度器调度待处理业务时,会重新执行步骤106,也就是对前置业务的处理情况做判断,并根据判断结果更新缓存消息中间件,直到缓存消息中间件中不包含关于前置业务的字段信息为止,当缓存消息中间件中不包含前置业务字段信息,则说明前置业务已经处理完成,可以对待处理业务进行处理。

108、所述服务器当所述前置业务数据完成处理时,根据所述处理逻辑对所述业务数据进行处理。

当前置业务完成处理,服务器就会根据前述步骤提取的处理逻辑对待处理业务进行处理,具体的,当确认车辆完成充电桩的缴费后,服务器将会处理车辆驶离停车场的缴费业务。

从以上技术方案可以看出,本申请根据处理申请判断所述业务数据是否包含前置业务,使得在处理业务数据时,将业务数据中的业务与前置业务解耦,并根据业务数据的处理逻辑判断前置业务是否完成处理,降低在对业务数据进行处理时,因为前置业务未处理导致的业务数据处理结果不完整出现的情况。

请参阅图2,本申请实施例提供了处理集合业务的方法另一实施例,包括:

201、服务器接收待处理业务的处理申请;

本实施例中的步骤201与前述实施例中步骤101类似,此处不再赘述。

202、所述服务器根据所述处理申请获取所述待处理业务的处理逻辑;

服务器会根据处理逻辑生成相关前置业务的列表,相关前置业务的列表内存放着所有可能关联的前置业务。并根据列表内的前置业务对待处理业务包含的前置业务做判断,具体的,当服务器获取到离场车辆的离场业务请求时,会将该停车场所有的服务对该车辆在停车场内的使用业务进行筛选,以保证在车辆缴纳停车费用出场之前,将车辆在停车场内使用的所有收费业务产生的费用结清。

203、所述服务器根据所述处理逻辑判断所述待处理业务是否关联有所述前置业务;

在获取到相关前置业务的列表后,服务器会根据待处理业务处理申请中携带的业务标记对前置业务列表中的业务进行筛选,以确定待处理业务的关联业务,具体的,因为待处理业务不一定会关联全部前置业务,为了缩短业务处理时间,在对前置业务进行处理之前,先确定该待处理业务携带的前置业务,以使得缩短待处理业务的业务处理时间。

204、所述服务器提取所述业务数据的处理逻辑,所述处理逻辑为所述业务数据的项目处理方案;

205、所述服务器根据所述处理逻辑对所述业务数据进行处理,并生成业务消息中间件,所述业务消息中间件包含前置业务是否完成处理的结果;

206、所述服务器根据所述业务消息中间件判断所述前置业务是否完成处理;

207、所述服务器将所述前置业务未完成的数据缓存入所述业务消息中间件,生成缓存消息中间件;

本实施例中的步骤204至207与前述实施例中步骤103至106类似,此处不再赘述。

208、所述服务器提取所述任务调度器的预设定时;

服务器的任务调度器会对所有待处理业务进行定时调度,如当车辆离场时,离场业务中的前置业务未完成,任务调度器将不会对离场业务进行处理,并且通过预设的定时,在预设时间内重新判断离场业务的前置业务是否完成。

209、所述服务器根据所述预设定时提取所述缓存消息中间件;

在实际情况中,当服务器确定待处理业务的前置业务未完成时,会根据离场业务和其相关前置业务生成缓存消息中间件,该缓存消息中间件为服务器处理业务时的标准数据结构,服务器需要通过缓存消息中间件对待处理业务的前置业务是否完成处理进行判断。

210、所述服务器通过所述任务调度器根据所述缓存消息中间件查找所述前置业务数据;

具体的,当服务器获取到缓存消息中间件后,会根据缓存消息中间件中的字段信息查找到与待处理业务相关联的前置业务数据,前置业务数据为缓存中间件中前置业务的字段信息在前述步骤106中提及,服务器可以根据缓存字段的数据确定前置业务未处理,在前置业务处理完成后缓存字段中间件中的前置业务的字段信息会被从缓存消息中间件中释放,从而确定前置业务完成处理。

211、所述服务器判断所述前置业务数据是否完成处理;

具体的,对前置业务是否处理完成做判断是为了服务器后续对待处理业务进行处理,当前置业务数据完成处理时,执行步骤212,当所述前置业务数据未完成处理时,执行步骤213。

212、当所述前置业务数据完成处理时,所述服务器根据所述处理逻辑对所述业务数据进行处理;

本实施例中的步骤212与前述实施例中步骤108类似,此处不再赘述。

213、当所述前置业务数据未完成处理时,所述服务器重置所述预设定时,使得所述任务调度器再次根据所述预设定时提取所述缓存消息中间件;

当步骤211判断结果为当所述前置业务数据未完成处理时,会重置预设的定时,使得任务调度器重新计时,当计时再次结束是,任务调度器会再次对缓存消息中间件的前置业务字段进行判断,直到判断结果为前置业务处理完成为止。

214、所述服务器释放所述缓存消息中间件的缓存空间。

当前置业务处理完成后,服务器会如上述步骤212,对待处理业务进行处理,在本申请实施例中,待处理业务为停车场的离场业务,当充电桩扣费完成,停车场将会对离场进行处理,也就是收取相关车辆的停车费,当确定申请离场业务的相关车辆完成停车费缴纳,停车场将会对车辆放行,当确定车辆离场,服务器就会将与该车辆相关的缓存消息中间件占用的缓存空间释放。

本申请实施例主要描述了对关联有前置业务的待处理业务具体的解耦方式,服务器本身存有所有可能与待处理业务关联的前置业务列表,根据处理申请中的标识确定待处理业务关联的前置业务,只有在确定前置业务完成处理后才会对待处理业务进行处理,当前置业务处理完成时,缓存消息中间件中前置业务相关的字段信息会被释放,从而对前置业务与待处理业务进行解耦,避免了因为对新业务添加而改变待处理业务的处理逻辑。

请参阅图3,本申请实施例提供了处理集合业务的装置一种实施例,包括:

接收单元301,用于接收待处理业务的处理申请;

第一判断单元302,用判断所述待处理业务是否关联有前置业务,所述前置业务为需优先于所述待处理业务处理的关联业务;

提取单元303,用于在判断单元判断结果为是时,提取所述业务数据的处理逻辑,所述处理逻辑为所述业务数据的项目处理方案;

生成单元304,用于根据所述处理逻辑对所述业务数据进行处理,并生成业务消息中间件,所述业务消息中间件包含前置业务是否完成处理的结果;

第二判断单元305,用于根据所述业务消息中间件判断所述前置业务是否完成处理;

缓存单元306,用于在第二判断单元判断结果为否时,将所述前置业务未完成的数据缓存入所述业务消息中间件,生成缓存消息中间件;

遍历单元307,用于通过任务调度器定时遍历所述缓存消息中间件,直至所述缓存消息中间件中所述前置业务的前置业务数据完成处理;

业务处理单元308,用于当所述前置业务数据完成处理时,根据所述处理逻辑对所述业务数据进行处理。

本实施例中,各单元的功能与前述图1所示实施例中的步骤对应,此处不再赘述。

请参阅图4,本申请实施例提供了处理集合业务的装置另一实施例,包括:

接收单元401,用于接收待处理业务的处理申请;

第一判断单元402,用判断所述待处理业务是否关联有前置业务,所述前置业务为需优先于所述待处理业务处理的关联业务;

提取单元403,用于在判断单元判断结果为是时,提取所述业务数据的处理逻辑,所述处理逻辑为所述业务数据的项目处理方案;

生成单元404,用于根据所述处理逻辑对所述业务数据进行处理,并生成业务消息中间件,所述业务消息中间件包含前置业务是否完成处理的结果;

第二判断单元405,用于根据所述业务消息中间件判断所述前置业务是否完成处理;

缓存单元406,用于在第二判断单元判断结果为否时,将所述前置业务未完成的数据缓存入所述业务消息中间件,生成缓存消息中间件;

遍历单元407,用于通过任务调度器定时遍历所述缓存消息中间件,直至所述缓存消息中间件中所述前置业务的前置业务数据完成处理;

业务处理单元408,用于当所述前置业务数据完成处理时,根据所述处理逻辑对所述业务数据进行处理。

重置单元409,用于当所述前置业务数据未完成处理时,重置所述预设定时,使得所述任务调度器再次根据所述预设定时提取所述缓存消息中间件。

释放单元410,用于释放所述缓存消息中间件的缓存空间。

在本申请实施例中,所述缓存单元406包括:

第一提取模块4061,用于提取所述任务调度器的预设定时;

第二提取模块4062,用于根据所述预设定时提取所述缓存消息中间件;

查找模块4063,用于通过所述任务调度器根据所述缓存消息中间件查找所述前置业务数据;

第一判断模块4064,用于判断所述前置业务数据是否完成处理。

在本申请实施例中,所述第一判断单元402包括:

获取模块4021,用于根据所述处理申请获取所述业务数据的处理逻辑;

第二判断模块4022,用于根据所述处理逻辑判断所述业务数据是否存在所述前置业务。

本实施例中,各单元的功能与前述图2所示实施例中的步骤对应,此处不再赘述。

请参阅图5,本申请实施例提供了处理集合业务的装置另一实施例,包括:

处理器501、存储器502、输入输出单元503、总线504;

所述处理器501与所述存储器502、所述输入输出单元503以及所述总线504相连;

所述处理器501具体执行具体执行图1至图2中的方法步骤对应的操作。

从以上技术方案可以看出,本申请根据处理申请判断所述业务数据是否包含前置业务,使得在处理业务数据时,将业务数据中的业务与前置业务解耦,并根据业务数据的处理逻辑判断前置业务是否完成处理,降低在对业务数据进行处理时,因为前置业务未处理导致的业务数据处理结果不完整出现的情况。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 一种处理集合业务的方法及装置
  • 写入区块链业务数据的方法和装置及业务子集合确定方法
技术分类

06120112805291