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

医疗业务处理方法、装置、设备及存储介质

文献发布时间:2023-06-19 12:16:29


医疗业务处理方法、装置、设备及存储介质

技术领域

本发明涉及大数据的资源分配领域,尤其涉及一种医疗业务处理方法、装置、设备及存储介质。

背景技术

目前市面上有很多流量控制的中间件,都具有比较强大的流量控制功能。比如面向分布式服务架构的流量防护组件sentinel,除了可以限流,还可以监控接口的服务框架dubbo情况,并提供报表页面供开发人员查看流量控制情况。

各个应用需要上传大量信息到医疗中心管理后台,一方面对医疗中心管理后台有较高的性能要求,另一方面也增加了应用自身的开销和网络开销,在高并发时抢占系统资源。现有的sentinel虽然功能强大,但是缺少配置限流后的短信通知报警,需要运维人员主动查询流控情况,同时使用复杂,大量的功能影响医疗中心管理后台整体的运行性能和运行稳定性。

发明内容

本发明提供了一种医疗业务处理方法、装置、设备及存储介质,用于通过限流拦截机制和预警机制减少限流服务的运行开销,并提高限流服务的稳定性和限流通知的及时性。

为实现上述目的,本发明第一方面提供了一种医疗业务处理方法,包括:获取目标医疗业务请求,通过预设的拦截方式对所述目标医疗业务请求进行拦截和校验处理,得到目标医疗业务接口和多个业务参数,所述目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务;当已开启限流模式时,获取并发数量,判断所述并发数量是否小于或等于预设的限流阈值;若所述并发数量小于或等于预设的限流阈值,则按照所述多个业务参数调用所述目标医疗业务接口,得到目标医疗业务响应报文,并将所述目标医疗业务响应报文返回至终端;若所述并发数量大于预设的限流阈值,则按照所述多个业务参数对所述目标医疗业务接口进行接口降级处理,得到降级业务响应报文,获取报警短信,并将所述降级业务响应报文和所述报警短信发送至终端,所述降级业务响应报文携带的响应参数少于所述目标医疗业务响应报文携带的响应参数。

可选的,在本发明第一方面的第一种实现方式中,所述获取目标医疗业务请求,通过预设的拦截方式对所述目标医疗业务请求进行拦截和校验处理,得到目标医疗业务接口和多个业务参数,所述目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务,包括:接收目标医疗业务请求,并通过预设的面向切面编程算法拦截所述目标医疗业务请求,所述目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务;判断在预设的时长内所述目标医疗业务请求是否为重复请求;若在预设的时长内所述目标医疗业务请求为重复请求,则拒绝所述目标医疗业务请求,生成并记录请求异常日志信息;若在预设的时长内所述目标医疗业务请求不为重复请求,则对所述目标医疗业务请求进行参数解析和参数校验处理,得到目标医疗业务接口和多个业务参数。

可选的,在本发明第一方面的第二种实现方式中,所述若在预设的时长内所述目标医疗业务请求不为重复请求,则对所述目标医疗业务请求进行参数解析和参数校验处理,得到目标医疗业务接口和多个业务参数,包括:若在预设的时长内所述目标医疗业务请求不为重复请求,则对所述目标医疗业务请求进行参数解析,得到接口标识和多个业务参数;按照所述接口标识查询预设的配置表,得到目标医疗业务接口和参数校验模板,基于所述参数校验模板分别对所述多个业务参数进行参数校验,得到参数校验结果;当所述参数校验结果为校验未通过时,捕获参数校验失败信息,并将所述参数校验失败信息发送至终端;当所述参数校验结果为校验通过时,将所述目标医疗业务接口和所述多个业务参数写入至预设的内存数据库中。

可选的,在本发明第一方面的第三种实现方式中,所述若所述并发数量小于或等于预设的限流阈值,则按照所述多个业务参数调用所述目标医疗业务接口,得到目标医疗业务响应报文,并将所述目标医疗业务响应报文返回至终端,包括:若所述并发数量小于或等于预设的限流阈值,则获取所述目标医疗业务接口对应的服务状态,并判断所述服务状态是否为正常状态;当所述服务状态为正常状态时,增加预设并发线程数量的业务线程,并通过所述预设并发线程数量的业务线程,按照所述多个业务参数调用目标医疗业务接口,得到目标医疗业务接口的响应参数;按照预设的数据封装格式将所述目标医疗业务接口的响应参数转换为目标医疗业务响应报文,对所述目标医疗业务响应报文进行数据持久化处理;关闭所述预设并发线程数量的业务线程,并将所述目标医疗业务响应报文返回至终端。

可选的,在本发明第一方面的第四种实现方式中,所述若所述并发数量大于预设的限流阈值,则按照所述多个业务参数对所述目标医疗业务接口进行接口降级处理,得到降级业务响应报文,获取报警短信,并将所述降级业务响应报文和所述报警短信发送至终端,所述降级业务响应报文携带的响应参数少于所述目标医疗业务响应报文携带的响应参数,包括:若所述并发数量大于预设的限流阈值,则获取所述目标医疗业务接口对应的医疗业务接口名称,按照所述医疗业务接口名称查询预设的接口降级配置列表,得到查询结果,并判断所述查询结果是否为空值;若所述查询结果为空值,则确定所述目标医疗业务接口不存在于所述预设的接口降级配置列表中,生成并返回目标错误码;若所述查询结果不为空值,则从所述查询结果中提取目标降级接口,基于所述多个业务参数调用所述目标降级接口,得到目标降级接口的响应参数;将所述目标降级接口的响应参数封装成降级业务响应报文,对所述降级业务响应报文进行数据持久化,并将所述降级业务响应报文发送至终端,所述降级业务响应报文携带的响应参数少于所述目标医疗业务响应报文携带的响应参数;设置报警短信,并通过预设的定时任务调用预设的报警短信接口,将所述报警短信推送至所述终端。

可选的,在本发明第一方面的第五种实现方式中,在所述获取目标医疗业务请求,通过预设的拦截方式对所述目标医疗业务请求进行拦截和校验处理,得到目标医疗业务接口和多个业务参数,所述目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务之前,所述医疗业务处理方法还包括:通过预设的面向切面编程算法创建框架切面对象,将多个医疗业务接口分别对应的相同业务处理逻辑设置在框架切面对象中,所述多个医疗业务接口包括所述目标医疗业务接口;接收配置信息修改请求,从所述配置信息修改请求中读取目标并发阈值,按照所述目标并发阈值更新预设的限流阈值。

可选的,在本发明第一方面的第六种实现方式中,在所述若所述并发数量大于预设的限流阈值,则按照所述多个业务参数对所述目标医疗业务接口进行接口降级处理,得到降级业务响应报文,获取报警短信,并将所述降级业务响应报文和所述报警短信发送至终端,所述降级业务响应报文携带的响应参数少于所述目标医疗业务响应报文携带的响应参数之后,所述医疗业务处理方法还包括:获取多个接口调用信息,每个接口调用信息包括每个医疗业务接口的调用次数和每个降级接口的调用次数,每个医疗业务接口与每个降级接口一一对应,多个医疗业务接口包括所述目标医疗业务接口,多个降级接口包括目标降级接口;基于预设的分布式系统和所述多个接口调用信息生成医疗业务调用热力图,所述预设的分布式系统预先部署于多个预设区域机房中,预设的分布式系统中的各预设主机与所述多个接口调用信息存在关联关系。

本发明第二方面提供了一种医疗业务处理装置,包括:拦截模块,用于获取目标医疗业务请求,通过预设的拦截方式对所述目标医疗业务请求进行拦截和校验处理,得到目标医疗业务接口和多个业务参数,所述目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务;判断模块,用于当已开启限流模式时,获取并发数量,判断所述并发数量是否小于或等于预设的限流阈值;调用模块,用于若所述并发数量小于或等于预设的限流阈值,则按照所述多个业务参数调用所述目标医疗业务接口,得到目标医疗业务响应报文,并将所述目标医疗业务响应报文返回至终端;降级处理模块,用于若所述并发数量大于预设的限流阈值,则按照所述多个业务参数对所述目标医疗业务接口进行接口降级处理,得到降级业务响应报文,获取报警短信,并将所述降级业务响应报文和所述报警短信发送至终端,所述降级业务响应报文携带的响应参数少于所述目标医疗业务响应报文携带的响应参数。

可选的,在本发明第二方面的第一种实现方式中,所述拦截模块包括:拦截单元,用于接收目标医疗业务请求,并通过预设的面向切面编程算法拦截所述目标医疗业务请求,所述目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务;判断单元,用于判断在预设的时长内所述目标医疗业务请求是否为重复请求;拒绝单元,用于若在预设的时长内所述目标医疗业务请求为重复请求,则拒绝所述目标医疗业务请求,生成并记录请求异常日志信息;校验单元,用于若在预设的时长内所述目标医疗业务请求不为重复请求,则对所述目标医疗业务请求进行参数解析和参数校验处理,得到目标医疗业务接口和多个业务参数。

可选的,在本发明第二方面的第二种实现方式中,所述校验单元具体用于:若在预设的时长内所述目标医疗业务请求不为重复请求,则对所述目标医疗业务请求进行参数解析,得到接口标识和多个业务参数;按照所述接口标识查询预设的配置表,得到目标医疗业务接口和参数校验模板,基于所述参数校验模板分别对所述多个业务参数进行参数校验,得到参数校验结果;当所述参数校验结果为校验未通过时,捕获参数校验失败信息,并将所述参数校验失败信息发送至终端;当所述参数校验结果为校验通过时,将所述目标医疗业务接口和所述多个业务参数写入至预设的内存数据库中。

可选的,在本发明第二方面的第三种实现方式中,所述调用模块具体用于:若所述并发数量小于或等于预设的限流阈值,则获取所述目标医疗业务接口对应的服务状态,并判断所述服务状态是否为正常状态;当所述服务状态为正常状态时,增加预设并发线程数量的业务线程,并通过所述预设并发线程数量的业务线程,按照所述多个业务参数调用目标医疗业务接口,得到目标医疗业务接口的响应参数;按照预设的数据封装格式将所述目标医疗业务接口的响应参数转换为目标医疗业务响应报文,对所述目标医疗业务响应报文进行数据持久化处理;关闭所述预设并发线程数量的业务线程,并将所述目标医疗业务响应报文返回至终端。

可选的,在本发明第二方面的第四种实现方式中,所述降级处理模块具体用于:若所述并发数量大于预设的限流阈值,则获取所述目标医疗业务接口对应的医疗业务接口名称,按照所述医疗业务接口名称查询预设的接口降级配置列表,得到查询结果,并判断所述查询结果是否为空值;若所述查询结果为空值,则确定所述目标医疗业务接口不存在于所述预设的接口降级配置列表中,生成并返回目标错误码;若所述查询结果不为空值,则从所述查询结果中提取目标降级接口,基于所述多个业务参数调用所述目标降级接口,得到目标降级接口的响应参数;将所述目标降级接口的响应参数封装成降级业务响应报文,对所述降级业务响应报文进行数据持久化,并将所述降级业务响应报文发送至终端,所述降级业务响应报文携带的响应参数少于所述目标医疗业务响应报文携带的响应参数;设置报警短信,并通过预设的定时任务调用预设的报警短信接口,将所述报警短信推送至所述终端。

可选的,在本发明第二方面的第五种实现方式中,所述医疗业务处理装置还包括:设置模块,用于通过预设的面向切面编程算法创建框架切面对象,将多个医疗业务接口分别对应的相同业务处理逻辑设置在框架切面对象中,所述多个医疗业务接口包括所述目标医疗业务接口;更新模块,用于接收配置信息修改请求,从所述配置信息修改请求中读取目标并发阈值,按照所述目标并发阈值更新预设的限流阈值。

可选的,在本发明第二方面的第六种实现方式中,所述医疗业务处理装置还包括:获取模块,用于获取多个接口调用信息,每个接口调用信息包括每个医疗业务接口的调用次数和每个降级接口的调用次数,每个医疗业务接口与每个降级接口一一对应,多个医疗业务接口包括所述目标医疗业务接口,多个降级接口包括目标降级接口;生成模块,用于基于预设的分布式系统和所述多个接口调用信息生成医疗业务调用热力图,所述预设的分布式系统预先部署于多个预设区域机房中,预设的分布式系统中的各预设主机与所述多个接口调用信息存在关联关系。

本发明第三方面提供了一种医疗业务处理设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述医疗业务处理设备执行上述的医疗业务处理方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的医疗业务处理方法。

本发明提供的技术方案中,获取目标医疗业务请求,通过预设的拦截方式对所述目标医疗业务请求进行拦截和校验处理,得到目标医疗业务接口和多个业务参数,所述目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务;当已开启限流模式时,获取并发数量,判断所述并发数量是否小于或等于预设的限流阈值;若所述并发数量小于或等于预设的限流阈值,则按照所述多个业务参数调用所述目标医疗业务接口,得到目标医疗业务响应报文,并将所述目标医疗业务响应报文返回至终端;若所述并发数量大于预设的限流阈值,则按照所述多个业务参数对所述目标医疗业务接口进行接口降级处理,得到降级业务响应报文,获取报警短信,并将所述降级业务响应报文和所述报警短信发送至终端,所述降级业务响应报文携带的响应参数少于所述目标医疗业务响应报文携带的响应参数。本发明实施例中,通过预设的拦截方式拦截校验目标医疗业务请求,得到目标医疗业务接口和多个业务参数;若并发数量小于或等于预设的限流阈值,则按照多个业务参数调用目标医疗业务接口,得到目标医疗业务响应报文;若并发数量大于预设的限流阈值,则按照多个业务参数降级处理目标医疗业务接口,得到降级业务响应报文和报警短信。通过限流拦截机制和预警机制减少了目标医疗业务对应限流服务的运行开销,并提高了限流服务的稳定性和限流通知的及时性。

附图说明

图1为本发明实施例中医疗业务处理方法的一个实施例示意图;

图2为本发明实施例中医疗业务处理方法的另一个实施例示意图;

图3为本发明实施例中医疗业务处理装置的一个实施例示意图;

图4为本发明实施例中医疗业务处理装置的另一个实施例示意图;

图5为本发明实施例中医疗业务处理设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种医疗业务处理方法、装置、设备及存储介质,用于通过限流拦截机制和预警机制减少目标医疗业务对应限流服务的运行开销,并提高限流服务的稳定性和限流通知的及时性。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中医疗业务处理方法的一个实施例包括:

101、获取目标医疗业务请求,通过预设的拦截方式对目标医疗业务请求进行拦截和校验处理,得到目标医疗业务接口和多个业务参数,目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务。

其中,预设医疗业务场景中的目标医疗业务可以为医疗挂号业务、医疗订单支付业务、医药秒杀活动和医药订单配送业务或医疗调查问卷,具体此处不做限定。具体的,服务器获取目标医疗业务请求,服务器通过预设的拦截方式对目标医疗业务请求进行拦截处理,服务器对目标医疗业务请求进行参数解析和参数校验处理,得到目标医疗业务接口和多个业务参数。目标医疗业务接口和目标医疗业务请求存在一一对应关系。目标医疗业务请求用于指示终端请求处理预设医疗业务场景中的目标医疗业务。需要说明的是,预设的拦截方式可以为预设的面向切面编程算法,也可以为过滤器filter方式,还可以为java的反射机制interceptor方式,具体此处不做限定。

可以理解的是,本发明的执行主体可以为医疗业务处理装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

102、当已开启限流模式时,获取并发数量,判断并发数量是否小于或等于预设的限流阈值。

其中,预设的限流阈值为对预设医疗业务场景中目标医疗业务配置的并发阈值,当服务器设置预设的限流标志为预设的启动值或预设的闭合值时,服务器确定限流模式已开启或已关闭,服务器通过配置预设的限流标志提高了医疗业务的开发效率,预设的启动值可以为1,预设的闭合值可以为0,预设的启动值或预设的闭合值也可以为其他数值,具体此处不做限定。例如,在非高并发的预设医疗业务场景下,服务器关闭限流模式,服务器对任意一个医疗业务请求(包括目标医疗业务请求)均进行正常业务处理和响应;在高并发的预设医疗业务场景下,服务器启动限流模式,服务器通过控制对限流模式的开始和关闭能够减少目标医疗业务对应限流服务的运行开销。

具体的,当已开启限流模式时,服务器按照预设的统计指令获取并发数量;服务器对并发数量与预设的限流阈值进行减法运算,得到运算差值;服务器判断运算差值是否大于0;若运算差值小于或等于0,则服务器确定并发数量小于或等于预设的限流阈值,服务器执行步骤103;若运算差值大于0,则服务器确定并发数量大于预设的限流阈值,服务器执行步骤104。例如,在预设的分布式系统中任意一台主机(也就是服务器)对应的限流阈值(也就是预设的限流阈值)可以为200,也可以为300,具体此处不做限定。

103、若并发数量小于或等于预设的限流阈值,则按照多个业务参数调用目标医疗业务接口,得到目标医疗业务响应报文,并将目标医疗业务响应报文返回至终端。

具体的,若并发数量小于或等于预设的限流阈值,则服务器增加目标医疗业务接口的并发数量,并按照多个业务参数调用目标医疗业务接口,得到目标医疗业务的响应参数;服务器按照预设的数据封装格式将目标医疗业务的响应参数转换为目标医疗业务响应报文;服务器持久化处理目标医疗业务响应报文,并将目标医疗业务响应报文返回至终端,减少了并发数量,目标医疗业务响应报文携带的响应参数多于降级业务响应报文携带的响应参数。

104、若并发数量大于预设的限流阈值,则按照多个业务参数对目标医疗业务接口进行接口降级处理,得到降级业务响应报文,获取报警短信,并将降级业务响应报文和报警短信发送至终端,降级业务响应报文携带的响应参数少于目标医疗业务响应报文携带的响应参数。

可以理解的是,服务器通过预设的框架spring中的预设切面对象监听记录预设医疗业务场景中的目标医疗业务的调用情况(例如,服务框架dubbo医疗业务接口和表述性状态传递rest接口),并实时统计预设医疗业务场景中的目标医疗业务的并发量,若并发数量大于预设的限流阈值,则服务器触发限流拦截逻辑。其中,服务器触发限流拦截逻辑的具体过程包括:若并发数量大于预设的限流阈值,则服务器根据目标医疗业务接口确定对应的接口降级策略,服务器按照多个业务参数和接口降级策略对目标医疗业务接口进行接口降级处理,得到降级业务响应报文,并将降级业务响应报文发送至终端,以使得终端解析并展示降级业务响应报文;服务器根据预设的报警规则设置报警短信,并通过预设的定时任务调用预设的报警短信接口,将报警短信发送至终端,以使得终端实时提醒目标人员排查问题,降级业务响应报文携带的响应参数少于目标医疗业务响应报文携带的响应参数,也就是,降级业务响应报文的大小小于目标医疗业务响应报文的大小。可以理解的是,报警短信用于通知目标人员排查问题的功能,同时,为了避免频繁调用报警短信接口而增加不必要的服务开销,服务器对报警逻辑进行频率控制。出现限流拦截时,服务器每调用一次报警短信接口后,需要间隔第一预置的时长(例如5分钟)再次调用报警短信接口。而报警短信接口为了避免造成大量短信,对于相同的接口错误信息,每隔第二预置的时长(例如,半小时)发送一条报警短信。不但可以及时通知目标人员处理问题,提高了限流服务的稳定性和限流通知的及时性,也降低了限流开销。进一步地,服务器将目标医疗业务响应报文和降级业务响应报文存储于区块链数据库中,具体此处不做限定。

本发明实施例中,通过预设的拦截方式拦截校验目标医疗业务请求,得到目标医疗业务接口和多个业务参数;若并发数量小于或等于预设的限流阈值,则按照多个业务参数调用目标医疗业务接口,得到目标医疗业务响应报文;若并发数量大于预设的限流阈值,则按照多个业务参数降级处理目标医疗业务接口,得到降级业务响应报文和报警短信。通过限流拦截机制和预警机制减少了目标医疗业务对应限流服务的运行开销,并提高了限流服务的稳定性和限流通知的及时性。本方案可应用于智慧医疗领域中,从而推动智慧城市的建设。

请参阅图2,本发明实施例中医疗业务处理方法的另一个实施例包括:

201、接收目标医疗业务请求,并通过预设的面向切面编程算法拦截目标医疗业务请求,目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务。

其中,目标医疗业务请求可以用于请求用户的医疗挂号业务,也可以用于请求医药秒杀活动,具体此处不做限定。预设的拦截方式为预设的面向切面编程算法,面向切面编程算法采取横向抽取机制,将业务逻辑的各个部分进行隔离,从而提高了开发效率。可选的,在步骤201之前,服务器通过预设的面向切面编程算法创建框架切面对象,将多个医疗业务接口分别对应的相同业务处理逻辑设置在框架切面对象中,多个医疗业务接口包括目标医疗业务接口,降低了代码冗余性;服务器接收配置信息修改请求,从配置信息修改请求中读取目标并发阈值,按照目标并发阈值更新预设的限流阈值。也就是,服务器能够根据多个医疗业务接口的资源消耗情况对预设的限流阈值进行动态修改,提高了限流服务的稳定性。

202、判断在预设的时长内目标医疗业务请求是否为重复请求。

也就是,服务器在预设的时长内统计目标医疗业务请求的数量,若在预设的时长内统计目标医疗业务请求的数量大于1,则服务器确定在预设的时长内目标医疗业务请求为重复请求;若在预设的时长内统计目标医疗业务请求的数量等于1,则服务器确定在预设的时长内目标医疗业务请求不为重复请求。

203、若在预设的时长内目标医疗业务请求为重复请求,则拒绝目标医疗业务请求,生成并记录请求异常日志信息。

具体的,若在预设的时长内目标医疗业务请求为重复请求,则服务器拒绝目标医疗业务请求,服务器获取当前时刻,并生成状态码(例如501)和拒绝原因描述信息;服务器对当前时刻、状态码和拒绝原因描述信息进行数组封装,得到请求异常日志信息,服务器将请求异常日志信息写入至预设的操作日志中。进一步地,服务器定时分析预设的操作日志中的多个日志数据(包括请求异常日志信息),得到操作日志分析报表。

204、若在预设的时长内目标医疗业务请求不为重复请求,则对目标医疗业务请求进行参数解析和参数校验处理,得到目标医疗业务接口和多个业务参数。

具体的,服务器按照预设的数据格式对目标医疗业务请求进行参数解析,得到接口标识和多个业务参数。预设的数据格式可以为对象简谱JSON格式,还可以为其他数据格式,具体此处不做限定。

进一步地,若在预设的时长内目标医疗业务请求不为重复请求,则服务器对目标医疗业务请求进行参数解析,得到接口标识和多个业务参数;服务器按照接口标识查询预设的配置表,得到目标医疗业务接口和参数校验模板,基于参数校验模板分别对多个业务参数进行参数校验,得到参数校验结果,其中,参数校验模板和接口标识存在一一对应关系。进一步地,服务器从参数校验模板中读取参数校验规则,并按照参数校验规则对多个业务参数分别进行教研处理,得到参数校验结果;若全部参数校验通过,则服务器确定业务参数校验结果为校验通过;若至少一个业务参数校验未通过,则服务器确定参数校验结果为校验未通过。当参数校验结果为校验未通过时,服务器捕获参数校验失败信息,并将参数校验失败信息发送至终端,例如,当参数校验结果为0或者逻辑假false时,服务器确定参数校验结果为校验未通过;当参数校验结果为校验通过时,服务器将目标医疗业务接口和多个业务参数写入至预设的内存数据库中。其中,预设的内存数据库可以为远程字典服务redis,也可以为java内存数据库derby。用于提高数据的读写速度。进一步,多个业务参数还可以包括用户标识或用户令牌,服务器根据用户标识或用户令牌判断用户是否具有访问业务权限;若用户具有访问业务权限,服务器检测限流模式已开启,则服务器执行步骤205,若用户不具有访问业务权限,服务器向终端返回业务访问受限消息。

205、当已开启限流模式时,获取并发数量,判断并发数量是否小于或等于预设的限流阈值。

该步骤205的执行过程与步骤102的执行过程相似,具体此处不再赘述。

206、若并发数量小于或等于预设的限流阈值,则按照多个业务参数调用目标医疗业务接口,得到目标医疗业务响应报文,并将目标医疗业务响应报文返回至终端。

需要说明的是,服务器在调用目标医疗业务接口开始时,服务器增加接口并发数量,并在调用目标医疗业务接口结束后。服务器减扣并发数量。同时,当服务器增加并发数量,并且并发数量超过预设的限流阈值时,则服务器触发限流拦截逻辑。

可选的,若并发数量小于或等于预设的限流阈值,则服务器获取目标医疗业务接口对应的服务状态,并判断服务状态是否为正常状态;进一步地,服务器向目标医疗业务发送心跳请求数据,若在预设的时长阈值内获取目标医疗业务接口上报的心跳应答数据,则服务器确定目标医疗业务接口对应的服务状态为正常状态;若在预设的时长阈值内未获取目标医疗业务接口上报的心跳应答数据,则服务器确定目标医疗业务接口对应的服务状态为异常状态。当服务状态为正常状态时,服务器增加预设并发线程数量的业务线程,并通过预设并发线程数量的业务线程,按照多个业务参数调用目标医疗业务接口,得到目标医疗业务接口的响应参数;服务器在调用目标医疗业务接口的过程中执行增加或减少预设并发线程数量的业务线程,也就是增加或减少并发数量,并在每次增加业务线程后,服务器检测业务线程的数量是否小于预设的限流阈值,若业务线程的数量是否小于预设的限流阈值,则服务器继续增加业务线程。服务器按照预设的数据封装格式将目标医疗业务接口的响应参数转换为目标医疗业务响应报文,对目标医疗业务响应报文进行数据持久化处理;服务器关闭预设并发线程数量的业务线程,并将目标医疗业务响应报文返回至终端。

207、若并发数量大于预设的限流阈值,则按照多个业务参数对目标医疗业务接口进行接口降级处理,得到降级业务响应报文,获取报警短信,并将降级业务响应报文和报警短信发送至终端,降级业务响应报文携带的响应参数少于目标医疗业务响应报文携带的响应参数。

需要说明的是,服务器预先在预设的接口降级配置列表中配置目标医疗业务接口和目标降级接口的映射关系,目标医疗业务接口和目标降级接口存在一一对应关系。服务器从多个业务参数中筛选至少一个降级业务参数,至少一个降级业务参数的数量少于读个业务参数的数量;向目标降级接口发送接口调用请求,得到调用结果;服务器判断调用结果是否成功,若调用结果成功,则服务器基于至少一个降级业务参数执行降级处理流程,得到降级接口响应参数;服务器按照预设的数据封装格式将降级接口响应参数转换为降级业务响应报文,对降级业务响应报文进行数据持久化,并将降级业务响应报文发送至终端;服务器根据预设的报警规则设置报警短信,并通过预设的定时任务调用预设的报警短信接口,将报警短信发送至终端,降级业务响应报文携带的响应参数少于目标医疗业务响应报文携带的响应参数。提高了限流报警的及时性,例如在火爆的医疗秒杀活动的开抢瞬间,几乎都会触发限流拦截,服务器每次都能用报警短信通知目标人员,以使得目标人员可以及时观察服务整体运行情况。

可选的,若并发数量大于预设的限流阈值,则服务器获取目标医疗业务接口对应的医疗业务接口名称,服务器按照医疗业务接口名称查询预设的接口降级配置列表,得到查询结果,并判断查询结果是否为空值;具体的,服务器将目标医疗业务接口对应的医疗业务接口名称设置为目标索引,并基于目标索引和结构化查询语言语法规则生成目标查询语句,执行目标查询语句,从预设的接口降级配置列表中获取查询结果。若查询结果为空值,则服务器确定目标医疗业务接口不存在于预设的接口降级配置列表中,生成并返回目标错误码;也就是,服务器确定目标医疗业务接口不存在对应的降级接口,服务器调用预设的信息生成接口设置目标错误码,并将目标错误码返回至终端中。若查询结果不为空值,则服务器从查询结果中提取目标降级接口,基于多个业务参数调用目标降级接口,得到目标降级接口的响应参数;服务器将目标降级接口的响应参数封装成降级业务响应报文,服务器对降级业务响应报文进行数据持久化,并将降级业务响应报文发送至终端,降级业务响应报文携带的响应参数少于目标医疗业务响应报文携带的响应参数;服务器设置报警短信,并通过预设的定时任务调用预设的报警短信接口,将报警短信推送至终端。

进一步地,服务器获取多个接口调用信息,每个接口调用信息包括每个医疗业务接口的调用次数和每个降级接口的调用次数,每个医疗业务接口与每个降级接口一一对应,多个医疗业务接口包括目标医疗业务接口,多个降级接口包括目标降级接口;服务器基于预设的分布式系统和多个接口调用信息生成医疗业务调用热力图,预设的分布式系统预先部署于多个预设区域机房中,预设的分布式系统中的各预设主机与多个接口调用信息存在关联关系。服务器获取分布式系统中各预设主机对应的标识值,服务器根据各预设主机对应的标识值查询预设的区域地址配置信息,得到各预设主机对应的区域位置信息;服务器也可以以预置时长为单位,服务器基于多个接口调用信息和各预设主机对应的区域位置信息创建医疗业务调用热力图,每个医疗业务调用热力图中地理位置信息的不同颜色标识不同的医疗业务接口访问量(也就是,每个医疗业务接口的调用次数和每个降级接口的调用次数)。服务器也可以以时刻为单位,服务器基于多个接口调用信息和各预设主机对应的区域位置信息创建各单位时刻对应的医疗业务热力图,服务器将各单位时刻对应的医疗业务热力图按照时刻的先后顺序进行序列化处理,得到医疗业务调用热力图,医疗业务调用热力图可为动态图形。

本发明实施例中,通过预设的拦截方式拦截校验目标医疗业务请求,得到目标医疗业务接口和多个业务参数;若并发数量小于或等于预设的限流阈值,则按照多个业务参数调用目标医疗业务接口,得到目标医疗业务响应报文;若并发数量大于预设的限流阈值,则按照多个业务参数降级处理目标医疗业务接口,得到降级业务响应报文和报警短信。通过限流拦截机制和预警机制减少了目标医疗业务对应限流服务的运行开销,并提高了限流服务的稳定性和限流通知的及时性。本方案可应用于智慧医疗领域中,从而推动智慧城市的建设。

上面对本发明实施例中医疗业务处理方法进行了描述,下面对本发明实施例中医疗业务处理装置进行描述,请参阅图3,本发明实施例中医疗业务处理装置的一个实施例包括:

拦截模块301,用于获取目标医疗业务请求,通过预设的拦截方式对目标医疗业务请求进行拦截和校验处理,得到目标医疗业务接口和多个业务参数,目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务;

判断模块302,用于当已开启限流模式时,获取并发数量,判断并发数量是否小于或等于预设的限流阈值;

调用模块303,用于若并发数量小于或等于预设的限流阈值,则按照多个业务参数调用目标医疗业务接口,得到目标医疗业务响应报文,并将目标医疗业务响应报文返回至终端;

降级处理模块304,用于若并发数量大于预设的限流阈值,则按照多个业务参数对目标医疗业务接口进行接口降级处理,得到降级业务响应报文,获取报警短信,并将降级业务响应报文和报警短信发送至终端,降级业务响应报文携带的响应参数少于目标医疗业务响应报文携带的响应参数。

进一步地,将目标医疗业务响应报文和降级业务响应报文存储于区块链数据库中,具体此处不做限定。

本发明实施例中,通过预设的拦截方式拦截校验目标医疗业务请求,得到目标医疗业务接口和多个业务参数;若并发数量小于或等于预设的限流阈值,则按照多个业务参数调用目标医疗业务接口,得到目标医疗业务响应报文;若并发数量大于预设的限流阈值,则按照多个业务参数降级处理目标医疗业务接口,得到降级业务响应报文和报警短信。通过限流拦截机制和预警机制减少了目标医疗业务对应限流服务的运行开销,并提高了限流服务的稳定性和限流通知的及时性。

请参阅图4,本发明实施例中医疗业务处理装置的另一个实施例包括:

拦截模块301,用于获取目标医疗业务请求,通过预设的拦截方式对目标医疗业务请求进行拦截和校验处理,得到目标医疗业务接口和多个业务参数,目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务;

判断模块302,用于当已开启限流模式时,获取并发数量,判断并发数量是否小于或等于预设的限流阈值;

调用模块303,用于若并发数量小于或等于预设的限流阈值,则按照多个业务参数调用目标医疗业务接口,得到目标医疗业务响应报文,并将目标医疗业务响应报文返回至终端;

降级处理模块304,用于若并发数量大于预设的限流阈值,则按照多个业务参数对目标医疗业务接口进行接口降级处理,得到降级业务响应报文,获取报警短信,并将降级业务响应报文和报警短信发送至终端,降级业务响应报文携带的响应参数少于目标医疗业务响应报文携带的响应参数。

可选的,拦截模块301还可以包括:

拦截单元3011,用于接收目标医疗业务请求,并通过预设的面向切面编程算法拦截目标医疗业务请求,目标医疗业务请求用于处理预设医疗业务场景中预置的医疗业务;判断单元3012,用于判断在预设的时长内目标医疗业务请求是否为重复请求;拒绝单元3013,用于若在预设的时长内目标医疗业务请求为重复请求,则拒绝目标医疗业务请求,生成并记录请求异常日志信息;校验单元3014,用于若在预设的时长内目标医疗业务请求不为重复请求,则对目标医疗业务请求进行参数解析和参数校验处理,得到目标医疗业务接口和多个业务参数。

可选的,校验单元3014还可以具体用于:

若在预设的时长内目标医疗业务请求不为重复请求,则对目标医疗业务请求进行参数解析,得到接口标识和多个业务参数;按照接口标识查询预设的配置表,得到目标医疗业务接口和参数校验模板,基于参数校验模板分别对多个业务参数进行参数校验,得到参数校验结果;当参数校验结果为校验未通过时,捕获参数校验失败信息,并将参数校验失败信息发送至终端;当参数校验结果为校验通过时,将目标医疗业务接口和多个业务参数写入至预设的内存数据库中。

可选的,调用模块303还可以具体用于:

若并发数量小于或等于预设的限流阈值,则获取目标医疗业务接口对应的服务状态,并判断服务状态是否为正常状态;当服务状态为正常状态时,增加预设并发线程数量的业务线程,并通过预设并发线程数量的业务线程,按照多个业务参数调用目标医疗业务接口,得到目标医疗业务接口的响应参数;按照预设的数据封装格式将目标医疗业务接口的响应参数转换为目标医疗业务响应报文,对目标医疗业务响应报文进行数据持久化处理;关闭预设并发线程数量的业务线程,并将目标医疗业务响应报文返回至终端。

可选的,降级处理模块304还可以具体用于:

若并发数量大于预设的限流阈值,则获取目标医疗业务接口对应的医疗业务接口名称,按照医疗业务接口名称查询预设的接口降级配置列表,得到查询结果,并判断查询结果是否为空值;若查询结果为空值,则确定目标医疗业务接口不存在于预设的接口降级配置列表中,生成并返回目标错误码;若查询结果不为空值,则从查询结果中提取目标降级接口,基于多个业务参数调用目标降级接口,得到目标降级接口的响应参数;将目标降级接口的响应参数封装成降级业务响应报文,对降级业务响应报文进行数据持久化,并将降级业务响应报文发送至终端,降级业务响应报文携带的响应参数少于目标医疗业务响应报文携带的响应参数;设置报警短信,并通过预设的定时任务调用预设的报警短信接口,将报警短信推送至终端。

可选的,医疗业务处理装置还可以包括:

设置模块305,用于通过预设的面向切面编程算法创建框架切面对象,将多个医疗业务接口分别对应的相同业务处理逻辑设置在框架切面对象中,多个医疗业务接口包括目标医疗业务接口;更新模块306,用于接收配置信息修改请求,从配置信息修改请求中读取目标并发阈值,按照目标并发阈值更新预设的限流阈值。

可选的,医疗业务处理装置还可以包括:

获取模块307,用于获取多个接口调用信息,每个接口调用信息包括每个医疗业务接口的调用次数和每个降级接口的调用次数,每个医疗业务接口与每个降级接口一一对应,多个医疗业务接口包括目标医疗业务接口,多个降级接口包括目标降级接口;生成模块308,用于基于预设的分布式系统和多个接口调用信息生成医疗业务调用热力图,预设的分布式系统预先部署于多个预设区域机房中,预设的分布式系统中的各预设主机与多个接口调用信息存在关联关系。

本发明实施例中,通过预设的拦截方式拦截校验目标医疗业务请求,得到目标医疗业务接口和多个业务参数;若并发数量小于或等于预设的限流阈值,则按照多个业务参数调用目标医疗业务接口,得到目标医疗业务响应报文;若并发数量大于预设的限流阈值,则按照多个业务参数降级处理目标医疗业务接口,得到降级业务响应报文和报警短信。通过限流拦截机制和预警机制减少了目标医疗业务对应限流服务的运行开销,并提高了限流服务的稳定性和限流通知的及时性。

上面图3和图4从模块化的角度对本发明实施例中的医疗业务处理装置进行详细描述,下面从硬件处理的角度对本发明实施例中医疗业务处理设备进行详细描述。

图5是本发明实施例提供的一种医疗业务处理设备的结构示意图,该医疗业务处理设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对医疗业务处理设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在医疗业务处理设备500上执行存储介质530中的一系列指令操作。

医疗业务处理设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的医疗业务处理设备结构并不构成对医疗业务处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述医疗业务处理方法的步骤。

本发明还提供一种医疗业务处理设备,所述医疗业务处理设备包括存储器和处理器,存储器中存储有指令,所述指令被处理器执行时,使得处理器执行上述各实施例中的所述医疗业务处理方法的步骤。

进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

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

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

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 医疗业务处理方法、装置、设备及存储介质
  • 数据加密处理方法、数据解密处理方法、装置、电子设备及可读存储介质
技术分类

06120113238695