一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

任务调度方法、系统、电子设备及计算机可读存储介质与流程

2022-12-20 22:52:16 来源:中国专利 TAG:


1.本技术涉及物联网技术领域,尤其是涉及一种任务调度方法、系统、电子设备及计算机可读存储介质。


背景技术:

2.随着物联网兴起,大量物联网设备直接暴露于互联网,大量信息通过网络快速传输,信息设备紧密互联,而物联网设备插入运营商所提供的物联网卡片后即可正常使用。另一方面,在对物联网卡片进行管理的过程中,可以通过配置相应的卡片管理平台后,即可实现对物联网卡片的信息管理及相关任务调度,例如流量使用情况、短信使用情况、语音使用情况、物联网卡片当前状态、物联网卡片实名状态等查询。
3.但是现有的卡片管理平台需要在设置好的生产环境下对物联网卡片进行调度,存在一定的拘束性,无法根据实际需求手动进行配置管理以获取用户实际上所需要的任务调度,从而无法从运营商处获取相应的数据响应,缺乏一定的灵活性。


技术实现要素:

4.本技术旨在至少解决现有技术中存在的技术问题之一。为此,本技术提出一种应用于卡片管理平台的任务调度方法,能够使用户灵活地通过可视化操作的方式,对卡片管理平台下发对应的调度任务,以向运营商获取相应的响应数据。
5.本技术还提出一种应用于消息中间件的任务调度方法。
6.本技术还提出一种应用于代理服务器的任务调度方法。
7.本技术还提出一种任务调度系统。
8.本技术还提出一种具有上述任务调度方法的电子设备。
9.本技术还提出一种具有上述任务调度方法的计算机可读存储介质。
10.根据本技术的第一方面实施例的任务调度方法,包括:获取任务调度中心下发的调度指令;对所述调度指令进行处理,生成调度请求;将所述调度请求发送给消息中间件,所述调度请求由所述消息中间件转发至代理服务器,以使所述代理服务器根据所述调度请求生成运营商请求并转发至运营商;获取所述消息中间件中的调度响应,所述调度响应由所述代理服务器根据所述运营商返回的运营商响应生成并转发至所述消息中间件,所述运营商响应由所述运营商根据所述调度请求生成并返回至所述代理服务器。
11.根据本技术实施例的任务调度方法,至少具有如下有益效果:获取任务调度中心下发的调度指令,对调度指令进行解析处理,生成调度请求,将调度请求发送给消息中间件,消息中间件转发至代理服务器,代理服务器根据调度请求生成运营商请求后转发给运营商,运营商会根据运营商请求生成对应的运营商响应,并返回给代理服务器,代理服务器根据运营商响应生成调度响应并转发给消息中间件,消息中间件将调度响应转发给卡片管理平台,从而使用户能够灵活地通过可视化操作的方式,对卡片管理平台下发对应的调度任务,以向运营商获取相应的响应数据。
12.根据本技术的一些实施例,所述调度请求包括若干个调度子请求;对应的,所述对所述调度指令进行处理,生成调度请求,还包括:获取所述调度指令中的若干个调度子指令,所述调度子指令包括物联网卡片标识、运营商标识和请求类型;根据若干个所述调度子指令的所述物联网卡片标识、所述运营商标识和所述请求类型的对应关系,生成若干个调度子请求。
13.根据本技术的一些实施例,所述调度响应包括若干个调度子响应,对应的,所述获取所述消息中间件返回的调度响应,还包括:当监听到所述消息中间件的回调队列接收到所述代理服务器返回的若干个所述调度子响应时,获取所述回调队列中的若干个所述调度子响应。
14.根据本技术的一些实施例,还包括:获取所述调度子请求的所述运营商标识,获取所述运营商的接口状态;若所述运营商的所述接口状态异常,则根据所述接口状态和所述运营商标识移除所述调度子请求。
15.根据本技术的第二方面实施例的任务调度方法,应用于消息中间件,包括:获取卡片管理平台发送的调度请求,所述调度请求由所述卡片管理平台根据任务调度中心下发的调度指令生成;将所述调度请求转发至代理服务器,由所述代理服务器根据所述调度请求生成运营商请求并转发至运营商;获取所述代理服务器返回的调度响应并转发至所述卡片管理平台,所述调度响应由所述代理服务器根据运营商返回的运营商响应生成,所述运营商响应由所述运营商根据所述运营商请求生成。
16.根据本技术实施例的任务调度方法,至少具有如下有益效果:消息中间件获取卡片管理平台根据任务调度中心下发的调度指令所生成的调度请求,将调度请求转发至代理服务器,代理服务器根据调度请求生成运营商请求并转发至运营商,后续获取代理服务器根据运营商返回的运营商响应生成的调度响应,将调度响应返回至卡片管理平台,从而使用户能够灵活地通过可视化操作的方式,对卡片管理平台下发对应的调度任务,以向运营商获取相应的响应数据。
17.根据本技术的一些实施例,所述将所述调度请求转发至代理服务器,由所述代理服务器根据所述调度请求生成运营商请求并转发至运营商,包括:获取所述调度请求的若干个调度子请求;根据若干个所述调度子请求的运营商标识将若干个所述调度子请求转发至所述代理服务器,以使所述代理服务器根据若干个所述调度子请求生成若干个运营商子请求并逐一转发至对应的所述运营商。
18.根据本技术的第三方面实施例的任务调度方法,应用于代理服务器,包括:获取消息中间件转发的调度请求,所述调度请求由卡片管理平台根据任务调度中心的调度指令生成并转发至所述消息中间件;根据所述调度请求生成运营商请求,并转发至运营商;获取所述运营商根据所述运营商请求生成的运营商响应;根据所述运营商响应生成调度响应,并转发至所述消息中间件,以使所述消息中间件将所述调度响应转发至所述卡片管理平台。
19.根据本技术实施例的任务调度方法,至少具有如下有益效果:代理服务器获取消息中间件转发的调度请求,该调度请求由卡片管理平台根据任务调度中心下发的调度指令所生成;代理服务器根据调度请求生成运营商请求并转发至运营商,后续获取运营商根据运营商请求返回的运营商响应,并根据运营商响应生成调度响应,返回给消息中间件,以使消息中间件将调度响应返回给卡片管理平台,从而使用户能够灵活地通过可视化操作的方
式,对卡片管理平台下发对应的调度任务,以向运营商获取相应的响应数据。
20.根据本技术的一些实施例,所述调度请求包括若干个调度子请求所述获取消息中间件转发的调度请求,包括:监听所述消息中间件的消息队列;当监听到所述消息中间件的消息队列接收到若干个所述调度子请求时,则获取所述消息队列中的若干个所述调度子请求。
21.根据本技术的第四方面实施例的任务调度系统,包括:任务调度中心,所述任务调度中心用于生成调度指令;卡片管理平台,所述卡片管理平台与所述任务调度中心通信连接,所述卡片管理平台用于根据所述调度指令生成调度请求;消息中间件,所述消息中间件与所述卡片管理平台通信连接,所述消息中间件用于接收所述调度请求;代理服务器,所述代理服务器与所述消息中间件通信连接,所述代理服务器用于获取所述消息中间件的所述调度请求,并根据所述调度请求生成运营商请求;运营商,所述运营商与所述代理服务器通信连接,所述运营商用于接收所述代理服务器发送的运营商请求,并根据所述运营商请求生成运营商响应返回给所述代理服务器;所述代理服务器还用于根据所述运营商响应生成调度响应,返回给所述消息中间件,所述消息中间件还用于将所述调度响应返回给所述卡片管理平台。
22.根据本技术实施例的任务调度系统,至少具有如下有益效果:卡片管理平台获取任务调度中心下发的调度指令,对调度指令进行解析处理,生成调度请求,将调度请求发送给消息中间件,消息中间件转发至代理服务器,代理服务器根据调度请求生成运营商请求后转发给运营商,运营商会根据运营商请求生成对应的运营商响应,并返回给代理服务器,代理服务器根据运营商响应生成调度响应并转发给消息中间件,消息中间件将调度响应转发给卡片管理平台,从而使用户能够灵活地通过可视化操作的方式,对卡片管理平台下发对应的调度任务,以向运营商获取相应的响应数据。
23.根据本技术的第五方面实施例的电子设备,包括:至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现如第一方面或第二方面或第三方面实施例所述的任务调度方法。
24.根据本技术的电子设备,至少具有如下有益效果:通过执行第一方面或第二方面或第三方面实施例所述的任务调度方法,从而使用户能够灵活地通过可视化操作的方式,对卡片管理平台下发对应的调度任务,以向运营商获取相应的响应数据。
25.根据本技术的第六方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面或第二方面或第三方面实施例所述的任务调度方法。
26.根据本技术的计算机可读存储介质,至少具有如下有益效果:通过执行第一方面或第二方面或第三方面实施例所述的任务调度方法,从而使用户能够灵活地通过可视化操作的方式,对卡片管理平台下发对应的调度任务,以向运营商获取相应的响应数据。
27.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
28.图1为现有技术中的任务调度系统的模块示意图;
29.图2为本技术实施例的任务调度系统的模块示意图;
30.图3为本技术实施例的应用于卡片管理平台的任务调度方法中的一流程示意图;
31.图4为本技术实施例的应用于消息中间件的任务调度方法中的一流程示意图;
32.图5为本技术实施例的应用于代理服务器的任务调度方法中的一流程示意图。
具体实施方式
33.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。
34.需要说明的是,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同流程图中的顺序执行所示出或描述的步骤。如果涉及到“若干”,其含义是一个以上,如果涉及到“多个”,其含义是两个以上,如果涉及到“以下”,均应理解为包括本数。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本技术的实施例,并且除非另外要求,否则不会对本技术的范围施加限制。
35.需要说明的是,如无特殊说明,在实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本技术。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
36.随着物联网兴起,大量物联网设备直接暴露于互联网,大量信息通过网络快速传输,信息设备紧密互联,而物联网设备插入运营商所提供的物联网卡片后即可正常使用。另一方面,在对物联网卡片进行管理的过程中,可以通过配置相应的卡片管理平台后,即可实现对物联网卡片的信息管理及相关任务调度,例如流量使用情况、短信使用情况、语音使用情况、物联网卡片当前状态、物联网卡片实名状态等查询。
37.但是现有的卡片管理平台需要在设置好的生产环境下对物联网卡片进行调度,存在一定的拘束性,无法根据实际需求手动进行配置管理以获取用户实际上所需要的任务调度,从而无法从运营商处获取相应的数据响应,缺乏一定的灵活性。
38.需要说明的是,如图1所示,现有的卡片管理平台200’与代理服务器400’通信连接,代理服务器400’与运营商500’通信连接,通过运营商500’的接口进行数据传输,且卡片管理平台200’是基于spinrg框架对调度任务进行定时发送的,以筛选符合条件的物联网设备,通过卡片管理平台200’发起相应的调度请求至代理服务器400’,代理服务器400’根据该调度请求向对应的运营商500’进行数据请求,等待运营商500’返回相应的数据后,再由代理服务器400’返回至卡片管理平台200’,但是这种系统架构下的任务调度不可视,后期的排查维护存在困难,且在生产环境下无法由用户根据实际需求自由地进行手动调度。
39.基于此,本技术实施例中提供了一种任务调度方法、系统、电子设备及计算机可读存储介质,能够使用户灵活地通过可视化操作的方式,对卡片管理平台下发对应的调度任务,以向运营商获取相应的响应数据。
40.需要说明的是,本技术实施例中所提到的调度任务,是指向运营商请求获取物联网卡片的相关信息的任务,其中相关信息(即后文所提到的请求类型)是指可以在运营商处所查询到的物联网的信息,例如流量使用情况、短信使用情况、语音使用情况、物联网卡片当前状态、物联网卡片的实名状态等。本技术实施例中主要针对物联网卡片的流量情况、短信使用情况、语音使用情况、物联网卡片当前状态、物联网卡片的实名状态这五种请求类型的调度任务进行说明。
41.第一方面,本技术实施例中提供了一种任务调度系统。
42.在本技术实施中所提到的任务调度系统中,参考图2,包括任务调度中心100、卡片管理平台200、消息中间件300、代理服务器400及运营商500;其中任务调度中心100与卡片管理平台200通信连接,卡片管理平台200与消息中间件300通信连接,消息中间件300与代理服务器400通信连接,代理服务器400与运营商500通信连接。
43.用户可以在任务调度中心100中根据实际需求生成对应的调度指令,该调度指令为任务调度中心100所生成的相关指令,代表用户所需要进行调度的任务。其中任务调度中心100是基于xxl-job分布式任务调度框架所实现的任务调度中心100,将该任务调度中心100与卡片管理平台200通信连接在一起,可以使用户在任务调度中心100上进行可视化操作,以生成对应的指令,从而通过该调度指令对卡片管理平台200进行相关的调度任务。其中,xxl-job是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。
44.在可能实施的应用实例中,用户可以在基于xxl-job所实现的任务调度中心100中,对需要进行调度的任务进行可视化操作,例如当用户需要向运营商a请求一物联网卡片a的流量使用情况,可以在任务调度中心100中选取对应的物联网卡片a的标识id,通过该物联网卡片a可以确定所对应的若干个运营商500,其中选择运营商a,向其发起查询物联网卡片a的流量使用情况的调度指令。在这种可视化的操作环境下,用户可以灵活且便捷地实现所需要的任务调度,提升任务调度的灵活性。
45.本技术实施例中所提到的卡片管理平台200,能够对千万级的物联网卡片的进行精准管理,以及相关的任务调度,以数据库存储物联网卡片的相关信息的形式进行呈现,具体地说,以数据库的形式存储各个物联网卡片与运营商500等相关关联信息。当卡片管理平台200获取到任务调度中心100所下发的调度指令后,会对调度指令进行分析处理,以获取调度指令中所指向的物联网卡片及相关运营商500,从而筛选出符合该调度指令的物联网卡片及相关信息,进行请求封装,生成具体的调度请求,以用于向运营商500进行请求相应的响应数据。例如,当卡片管理平台200所获取到的调度指令代表的是物联网卡片a需要向运营商a查询流量使用情况的调度任务时,会通过数据库筛选的形式,找出该物联网卡片a及所对应的运营商a的相关关联信息,进行封装,以生成一个用于向运营商a请求物联网卡片a的流量使用情况的调度请求。
46.本技术实施例中所提到的消息中间件300,被设置在卡片管理平台200与代理服务器400中间,起到中转请求的作用,其中消息中间件300是采用rabbitmq中间件,rabbitmq是实现了高级消息队列协议(amqp)的开源消息代理软件(亦称面向消息的中间件),具有消息队列及回调队列等队列能力,通过使用rabbitmq所提供的消息队列的解耦能力,能够有效地解耦调度过程和实际请求,避免运营商500的接口状态对调度任务的影响。卡片管理平台
200可以将调度请求转发至消息中间件300中,进入消息中间件300的消息队列,从而使代理服务器400从消息队列中逐一获取调度请求,避免因高峰时段的请求过多,导致出现过载,造成应用崩溃或请求出现异常的问题。
47.本技术实施例中所提到的代理服务器400,与消息中间件300通信连接且与运营商500通信连接,具体地说,代理服务器400与运营商500的接口进行对接,通过该接口实现调度任务的请求及响应的传输。代理服务器400会将调度请求转发至该调度请求所指向的运营商500,在实际应用中,代理服务器400会对调度请求进行相应的解析,以确定该调度请求所指向的运营商500和所需要查询的信息(例如流量使用情况)等,后续会对其进行相应的封装,封装成所指向的运营商500所能接收的封装请求(即运营商请求),将封装好的请求通过运营商500的接口转发至对应的运营商500处,在运营商500内部进行相应的查询等操作。
48.本技术实施例中所提到的运营商500,是指发行及管理物联网卡片的一方,可对物联网卡片的各类信息进行统计及存储,例如统计物联网卡片的流量使用情况、短信使用情况、语音使用情况、物联网卡片的当前状态、物联网卡片的实名状态等。当运营商500接收到相关的请求时,会基于该请求进行相应的数据反馈,例如该请求代表物联网卡片a所需要请求查询的流量使用情况时,则运营商500会根据该请求进行内部处理,以得到该物联网卡片a的流量使用情况,并将其进行数据封装,以生成相应的响应数据,返回给代理服务器400,代理服务器400进行相应的解析和重新封装生成调度响应后,转发至消息中间件300的回调队列中,此时卡片管理平台200通过监听消息中间件300的回调队列,可以第一时间获取到反馈回来的调度响应,从而得知该物联网卡片a当前的流量使用情况,至此完成整个任务调度。
49.第二方面,本技术实施例提供了一种应用于卡片管理平台200的任务调度方法。
50.在一些实施例中,参照图3,示出了本技术实施例中一种应用于卡片管理平台200的任务调度方法的流程示意图。其具体包括步骤:
51.s110,获取任务调度中心下发的调度指令;
52.s120,对调度指令进行处理,生成调度请求;
53.s130,将调度请求发送给消息中间件,调度请求由消息中间件转发至代理服务器,以使代理服务器根据调度请求生成运营商请求并转发至运营商;
54.s140,获取消息中间件中的调度响应,调度响应由代理服务器根据运营商返回的运营商响应生成并转发至消息中间件,运营商响应由运营商根据调度请求生成并返回至代理服务器。
55.在步骤s110中,卡片管理平台200会获取任务调度中心100所下发的调度指令,该调度指令由用户通过可视化操作后生成,标识用户所需要调度的物联网卡片的相关信息的调度任务,例如用户需要向某一运营商500查询某一物联网卡片当前的流量使用情况时,通过任务调度中心100进行可视化操作,以生成指向对应某一运营商500、某一物联网卡片及当前流量使用情况的调度指令。在实际应用中,调度指令为任务调度中心100与卡片管理平台200之间可识别的特定的封装指令,能够便于卡片管理平台200进行相应识别处理后,以获知该调度指令所指向的调度任务,以便卡片管理平台200在数据库内进行筛选符合条件的物联网卡片,获取与该调度指令相匹配的物联网卡片的关联信息,例如物联网卡片的标识号、运营商500信息及需要查询的与运营商500所对应的信息标识等。
56.在步骤s120中,卡片管理平台200接收到任务调度中心100下发的关于某一物联网卡片的调度指令后,会对该调度指令进行解析识别,以获取该调度指令中所包含的物联网卡片的标识信息、运营商500的标识信息及需要查询的请求类型等,并且通过识别得到的信息在数据库进行筛选,以获取相匹配的预存储好的标识信息,该标识信息是卡片管理平台200所储存的且与运营商500所共通的特定信息,通过该标识信息,可以生成特定的调度请求,并将该调度请求传输至运营商500处,方便运营商500通过识别调度请求中的特定的标识信息,以获知当前卡片管理平台200中某一物联网卡片所需要请求的数据等。
57.在一些实施例中,步骤s120具体还包括:获取调度指令请求中的若干个调度子指令,调度子指令包括物联网卡片标识、若干个运营商标识和若干个请求类型;根据若干个调度子指令的若干个物联网卡片标识、运营商标识和请求类型的对应关系,生成若干个调度子请求,调度子请求用于转发至对应的运营商500,以获取对应的调度子响应。
58.其中,调度指令包括有若干个调度子指令,每一调度子指令包括对应的物联网卡片标识、运营商标识和请求类型,每一物联网卡片标识用于标识所需要进行任务调度的物联网卡片,每一个运营商标识用于标识对应的运营商500,每一个请求类型用于标识所需要请求的数据类型。卡片管理平台200可以根据获取到的若干个调度子指令中所包含的物联网卡片标识、运营商标识和请求类型的对应关系,在数据库中筛选符合的物联网卡片及相关信息,从而将筛选得到的信息进行封装,以生成对应的若干个调度子请求,每一调度子请求包括所需要转发的运营商500、物联网卡片及需要请求的数据类型等标识信息,通过上述多个标识信息能够转发至对应的运营商500,以获取特定的信息即后续返回得到的调度子响应。
59.针对物联网卡片标识、运营商标识和请求类型进行说明,在任务调度中心100中,会以可视化的形式展现物联网卡片标识、运营商标识和请求类型,这些相关信息会以特定的形式展现给用户,用户可以进行任意地关联选取,并封装成调度指令转发至卡片管理平台200,卡片管理平台200能够解析识别得到物联网卡片标识、运营商标识和请求类型等信息,从而确定用户所需要查询的物联网卡片、运营商500及查询的数据类型。
60.在可能实施的应用实例中,以生成三个调度子指令进行说明,用户在任务调度中心100进行选取,通过可视化的操作分别选取需要进行任务调度的物联网卡片a、物联网卡片b和物联网卡片c,及其对应的运营商a、运营商b和运营商c,并且物联网卡片a的请求类型为查询当前的流量使用情况(标识号定义为1),物联网卡片b的请求类型为查询当前的物联网卡片在线状态(标识号定义为2),物联网卡片c的请求类型为查询物联网卡片的实名状态(标识号定义为3),在任务调度中心100内部进行封装生成可转发至卡片管理平台200的调度子指令a、调度子指令b和调度子指令c,即说明该调度指令包括三个调度子指令。当卡片管理平台200获取到上述调度指令(即三个调度子指令),识别得到调度子指令a、调度子指令b和调度子指令c,分别对三个调度子指令进行解析,得到各个调度子指令中所包含的物联网卡片标识、运营商标识和请求类型,其中调度子指令a的物联网卡片标识为物联网卡片a、运营商a和标识号1,调度子指令b的物联网卡片标识为物联网卡片b、运营商b和标识号2,调度子指令c的物联网卡片标识为物联网卡片c、运营商c和标识号3。卡片管理平台200会基于上述各个调度子指令中的物联网卡片标识、运营商标识和请求类型在数据库筛选符合条件的物联网卡片及对应的运营商500、请求类型等,通过特定的封装形式封装生成对应的调
度子响应,即调度子响应a、调度子响应b和调度子响应c,其中调度子响应中同样包括有能够与运营商500进行相互识别且通信的关于标识物联网卡片、运营商500和请求类型的相关信息,具体标识号可以与调度子指令中所封装的标识信息相同,也可以根据运营商500和卡片管理平台200单独设定的封装方式生成特定信息,只要符合卡片管理平台200与运营商500的通信要求即可,本技术实施例不做具体限定。
61.在步骤s130中,卡片管理平台200将生成的调度请求发送至消息中间件300中,通过消息中间件300将调度请求转发至代理服务器400,使得代理服务器400能够对调度请求进行解析处理并重新封装生成适配运营商500接收的运营商请求,将运营商请求转发至运营商500处。在实际应用中,卡片管理平台200生成的调度请求(包括若干个调度子请求)发送至消息中间件300时,若干个调度子请求以消息队列的形式存在于消息中间件300中,而代理服务器400会实时监听消息中间件300的消息队列,以得知消息中间件300是否接收到新的调度请求(包括若干个调度子请求)。代理服务器400可以逐一获取消息队列中的调度子请求,从而将若干个调度子请求进行解析且重新封装,以生成适配对应运营商500的传输格式的运营商子请求,将其转发至若干个对应的运营商500。
62.需要说明的是,在现有的任务调度系统中,代理服务器400直接与卡片管理平台200通信连接,卡片管理平台200在下发调度任务时,代理服务器400仅能对对一个调度任务进行处理,具体地说,即代理服务器400将某一个调度任务先转发至运营商500,并且在获取到运营商500返回响应后将其转发给卡片管理平台200后;此时卡片管理平台200才能下发新的调度任务给代理服务器400,代理服务器400才能再将新的调度任务转发至运营商500,以此类推。这种情况下,在高峰时段(即需要下发多个调度任务)时,卡片管理平台200、代理服务器400及运营商500之间无法平滑过渡,容易造成整个任务调度系统的负载,从而出现应用崩溃或请求异常的问题。
63.但是在本技术实施例中,通过在卡片管理平台200和代理服务器400之间增设消息中间件300(即rabbitmq中间件),利用消息中间件300的消息队列的解耦能力,解耦任务调度过程和实际请求,避免在高峰时段时段的请求出现阻塞情况,也有效避免了任务调度系统的过载问题,请求出现异常的问题。
64.在一些实施例中,在步骤s130之前,还包括:获取调度子请求的运营商标识,获取运营商500的接口状态;若运营商500的接口状态异常,则根据接口状态和运营商标识移除调度子请求。需要说明的是,运营商500的接口状态处于异常状态时,运营商500无法接收到任意的请求,从而导致卡片管理平台200所转发的调度请求无效,即后文所提到的无效请求。具体地说,卡片管理平台200在将调度子请求转发至消息中间件300之前,会根据调度子请求中的运营商标识,确定该调度子请求所对应的运营商500,并且会获取运营商500的接口状态,若监控到运营商500的接口状态为异常状态时,则会移除该运营商500所对应的调度子请求,使得该调度子请求无法进行后续的转发处理,从而避免因运营商500的接口出现异常,而导致无效请求占用任务调度系统的资源的问题。在实际应用中,卡片管理平台200使用sentinel框架实现对若干个运营商500的接口的可视化监控,包括但不限于当前的接口状态、当前接口限流情况等,并且卡片管理平台200会对无效请求进行熔断处理,不再进行后续的转发处理,避免了系统资源的浪费,降低高峰时段的系统负载,也避免了因出现无效请求无法得到反馈而造成系统调度任务的阻塞的问题。需要说明的是,卡片管理平台200
可以根据需要转发的调度子请求中的运营商标识确定对应的运营商500,在转发调度子请求之前预先对该运营商500的接口状态进行监控,以判断运营商500当前的接口状态是否异常;也可以对若干个运营商500的接口状态进行实时监控,在需要转发调度子请求之前,基于调度子请求中的运营商标识,从实时监控中的若干个运营商500中获取所对应的运营商500,从而判断对应的运营商500的接口状态是否异常,基于运营商500的接口状态进行后续的处理,即继续转发调度子请求或对调度子请求进行熔断处理,本技术不对卡片管理平台200对运营商500的接口状态的监控方式做具体限定,可以根据实际需求将调度子请求的转发与运营商500的接口状态监控进行配合,以移除需要转发至接口状态异常的运营商500的调度子请求。
65.在可能实施的应用实例中,以卡片管理平台200需要转发的两个调度子请求(调度子请求a和调度子请求b)为例进行说明,卡片管理平台200会分别根据调度子请求a的运营商标识a和调度子请求b的运营商标识b确定分别对应的运营商a和运营商b,并且卡片管理平台200会对运营商a和运营商b的接口状态进行监控,此时运营商a的接口状态正常,则卡片管理平台200确定调度子请求a为有效请求,会将调度子请求a转发至消息中间件300中;运营商b的接口状态异常,则卡片管理平台200确定调度子请求b为无效请求,对调度子请求b进行熔断处理,不将其转发给消息中间件300。
66.在一些实施例中,本技术实施例中所提到的任务调度中心100,还可以通过定时设置的方式对调度任务进行定时生成,也可以对调度任务进行相应的预警处理;另一方面,当调度任务的请求定义为无效请求后,可以在任务调度中心100处手动重试,即重新生成相应的调度任务进行请求。
67.在步骤s140中,卡片管理平台200会获取到消息中间件300中的调度响应,调度响应由代理服务器400根据运营商500返回的运营商响应生成并转发至消息中间件300,运营商响应由运营商500根据调度请求生成并返回至代理服务器400。具体地说,运营商500在接收到代理服务器400转发的运营商请求时,会对运营商请求进行相应的解析处理,得到该物联网卡片所要请求的数据,例如所要请求的流量使用情况、短信使用情况等。将得到的数据与物联网卡片、运营商500等表示信息进行封装处理后生成运营商响应,并将其转发至代理服务器400,代理服务器400在接收到运营商响应后,会对该运营商响应进行解析和重新封装,生成可转发至消息中间件300的调度响应,消息中间件300在获取到调度响应后,会转发给卡片管理平台200。
68.在一些实施例中,调度响应包括若干个调度子响应,对应的,步骤s140具体还包括:当监听到消息中间件300的回调队列接收到代理服务器400返回的若干个调度子响应时,获取回调队列中的若干个调度子响应。具体地说,卡片管理平台200会监控消息中间件300的回调队列,代理服务器400在生成调度响应后,会将调度响应转发至消息中间件300,调度响应根据实际情况包括有若干个调度子响应,若干个调度子响应进入消息中间件300的回调队列中,此时卡片管理平台200会获取消息中间件300的回调队列中的若干个调度子响应,对其进行解析处理后,得到所请求的具体数据,并且将其进行结果显示,从而完成整个任务调度过程。卡片管理平台200通过对消息中间件300的回调队列进行实时监控,能够第一时间获取到消息中间件300所接收到的调度子响应,从而加快整个任务调度过程的进行,提高任务调度的效率。
69.在可能实施的应用实例中,卡片管理平台200接收到通过消息中间件300返回的调度相应后,会根据预设好的显示规则,将调度相应进行可视化展现,使得用户能够更清晰直观地了解到物联网卡片的当前情况,例如当前的流量使用情况、短信使用情况、语音使用情况、物联网在线状态、物联网实名状态等。具体地说卡片管理平台200在接收到调度响应后,会对其进行解析,以获取到调度响应中的物联网卡片、运营商500及请求类型等具体的数据情况,例如运营商a反馈回来的关于物联网卡片a当前的流量使用情况,根据预设好的解析及封装规则,以可视化的形式进行展示,用户可以清楚直观地获知运营商a反馈回来的物联网卡片a当前的流量使用情况,针对其他请求类型的不同,所要展现的结果也会不同,本技术实施例不做具体限定。
70.在本技术实施例中,卡片管理平台200获取任务调度中心100下发的调度指令,对调度指令进行解析处理,生成调度请求,将调度请求发送给消息中间件300,消息中间件300转发至代理服务器400,代理服务器400根据调度请求生成运营商请求后转发给运营商500,运营商500会根据运营商请求生成对应的运营商响应,并返回给代理服务器400,代理服务器400根据运营商响应生成调度响应并转发给消息中间件300,消息中间件300将调度响应转发给卡片管理平台200,从而使用户能够灵活地通过可视化操作的方式,对卡片管理平台200下发对应的调度任务,以向运营商500获取相应的响应数据。
71.第三方面,本技术实施例还提供了一种应用于消息中间件300的任务调度方法。
72.在一些实施例中,参照图4,示出了本技术实施例中一种应用于消息中间件300的任务调度方法的流程示意图。其具体包括步骤:
73.s210,获取卡片管理平台发送的调度请求,调度请求由卡片管理平台根据任务调度中心下发的调度指令生成;
74.s220,将调度请求转发至代理服务器,由代理服务器根据调度请求生成运营商请求并转发至运营商;
75.s230,获取代理服务器返回的调度响应并转发至卡片管理平台,调度响应由代理服务器根据运营商返回的运营商响应生成,运营商响应由运营商根据运营商请求生成。
76.在步骤s210中,消息中间件300获取卡片管理平台200发送的调度请求,其中调度请求是由卡片管理平台200根据任务调度中心100下发的调度指令生成,具体地说,卡片管理平台200接收到任务调度中心100下发的关于某一物联网卡片的调度指令后,会对该调度指令进行解析识别,以获取该调度指令中所包含的物联网卡片的标识信息、运营商500的标识信息及需要查询的请求类型等,并且通过识别得到的信息在数据库进行筛选,以获取相匹配的预存储好的标识信息,该标识信息是卡片管理平台200所储存的且与运营商500所共通的特定信息,通过该标识信息,可以生成特定的调度请求,后续卡片管理平台200则将调度请求转发至消息中间件300中,进入消息中间件300的消息队列中。
77.在步骤s220中,消息中间件300将调度请求转发至代理服务器400,使得代理服务器400能够对调度请求进行解析处理并重新封装生成适配运营商500接收的运营商请求,将运营商请求转发至运营商500处。
78.在一些实施例中,调度请求包括若干个调度子请求,对应的,步骤s220具体还包括:获取调度请求的若干个调度子请求;根据若干个调度子请求的运营商标识将若干个调度子请求转发至代理服务器400,以使代理服务器400根据若干个调度子请求生成若干个运
营商子请求并逐一转发至对应的运营商500。
79.具体地说,卡片管理平台200生成的调度请求(包括若干个调度子请求)发送至消息中间件300时,若干个调度子请求以消息队列的形式存在于消息中间件300中,而代理服务器400会实时监听消息中间件300的消息队列,以得知消息中间件300是否接收到新的调度请求(包括若干个调度子请求)。代理服务器400可以逐一获取消息队列中的调度子请求,从而将若干个调度子请求进行解析且重新封装,以生成适配对应运营商500的传输格式的运营商子请求,将其转发至若干个对应的运营商500。每一个调度子请求都有各自对应的运营商500,代理服务器400会解析得到调度子请求中所包含的运营商标识等信息,并根据该运营商标识确定对应的运营商500,重新封装成适配传输至对应的运营商500的传输文本格式,形成若干个运营商子请求。
80.在步骤s230中,消息中间件300会获取代理服务器400返回的调度响应,并将该调度响应返回至卡片管理平台200,使得卡片管理平台200根据接收到的调度响应进行结果显示,从而完成整个任务调度过程。具体地说,运营商500在接收到代理服务器400转发的运营商请求时,会对运营商请求进行相应的解析处理,得到该物联网卡片所要请求的数据,例如所要请求的流量使用情况、短信使用情况等。将得到的数据与物联网卡片、运营商500等表示信息进行封装处理后生成运营商响应,并将其转发至代理服务器400,代理服务器400在接收到运营商响应后,会对该运营商响应进行解析和重新封装,生成可转发至消息中间件300的调度响应,消息中间件300在获取到调度响应后,会转发给卡片管理平台200。
81.在一些实施例中,调度响应根据实际情况包括有若干个调度子响应,代理服务器400会将若干个调度子响应转发至消息中间件300,进入消息中间件300的回调队列中,而卡片管理系统则实时监控消息中间件300的回调队列,此时卡片管理平台200会获取消息中间件300的回调队列中的若干个调度子响应,对其进行解析处理后,得到所请求的具体数据,并且将其进行结果显示,从而完成整个任务调度过程。卡片管理平台200通过对消息中间件300的回调队列进行实时监控,能够第一时间获取到消息中间件300所接收到的调度子响应,从而加快整个任务调度过程的进行,提高任务调度的效率。
82.在本技术实施例中,消息中间件300获取卡片管理平台200根据任务调度中心100下发的调度指令所生成的调度请求,将调度请求转发至代理服务器400,代理服务器400根据调度请求生成运营商请求并转发至运营商500,后续获取代理服务器400根据运营商500返回的运营商响应生成的调度响应,将调度响应返回至卡片管理平台200,从而使用户能够灵活地通过可视化操作的方式,对卡片管理平台200下发对应的调度任务,以向运营商500获取相应的响应数据。
83.第四方面,本技术实施例还提供了一种应用于代理服务器400的任务调度方法。
84.在一些实施例中,参照图5,示出了本技术实施例中一种应用于代理服务器400的任务调度方法的流程示意图。其具体包括步骤:
85.s310,获取消息中间件转发的调度请求,调度请求由卡片管理平台根据任务调度中心的调度指令生成并转发至消息中间件;
86.s320,根据调度请求生成运营商请求,并转发至运营商;
87.s330,获取运营商根据运营商请求生成的运营商响应;
88.s340,根据运营商响应生成调度响应,并转发至消息中间件,以使消息中间件将调
度响应转发至卡片管理平台。
89.在步骤s310和s320中,代理服务器400获取消息中间件300转发的调度请求,其中调度请求是由卡片管理平台200获取任务调度中心100所下发的调度指令生成,并转发至消息中间件300,代理服务器400能够对调度请求进行解析处理并重新封装生成适配运营商500接收的运营商请求,将运营商请求转发至运营商500处。
90.在一些实施例中,调度请求包括若干个调度子请求,对应的,步骤s310具体还包括:监听消息中间件300的消息队列;当监听到消息中间件300的消息队列接收到若干个调度子请求时,则获取消息队列中的若干个调度子请求。
91.具体地说,代理服务器400会实时监听消息中间件300的消息队列,以得知消息中间件300是否接收到新的调度请求(包括若干个调度子请求),代理服务器400可以逐一获取消息队列中的调度子请求,从而将若干个调度子请求进行解析且重新封装,以生成适配对应运营商500的传输格式的运营商子请求,将其转发至若干个对应的运营商500。每一个调度子请求都有各自对应的运营商500,代理服务器400会解析得到调度子请求中所包含的运营商标识等信息,并根据该运营商标识确定对应的运营商500,重新封装成适配传输至对应的运营商500的传输文本格式,形成若干个运营商子请求。
92.在本技术实施例中,通过代理服务器400对消息中间件300的消息队列的实时监控,能够第一时间获取到消息中间件300所接到的调度请求,并且利用消息中间件300的消息队列的解耦能力,解耦任务调度过程和实际请求,避免在高峰时段时段的请求出现阻塞情况,也有效避免了任务调度系统的过载问题,请求出现异常的问题。
93.在步骤s330和s340中,运营商500根据调度请求生成并返回至代理服务器400,代理服务器400根据运营商500返回的运营商响应生成调度响应,并转发至消息中间件300,卡片管理平台200会获取到消息中间件300中的调度响应。具体地说,运营商500在接收到代理服务器400转发的运营商请求时,会对运营商请求进行相应的解析处理,得到该物联网卡片所要请求的数据,例如所要请求的流量使用情况、短信使用情况等。将得到的数据与物联网卡片、运营商500等表示信息进行封装处理后生成运营商响应,并将其转发至代理服务器400,代理服务器400在接收到运营商响应后,会对该运营商响应进行解析和重新封装,生成可转发至消息中间件300的调度响应,消息中间件300在获取到调度响应后,将调度响应转发给卡片管理平台200,此时卡片管理平台200对其进行解析处理后,得到所请求的具体数据,并且将其进行结果显示,从而完成整个任务调度过程。
94.在本技术实施例中,代理服务器400获取消息中间件300转发的调度请求,该调度请求由卡片管理平台200根据任务调度中心100下发的调度指令所生成;代理服务器400根据调度请求生成运营商请求并转发至运营商500,后续获取运营商500根据运营商请求返回的运营商响应,并根据运营商响应生成调度响应,返回给消息中间件300,以使消息中间件300将调度响应返回给卡片管理平台200,从而使用户能够灵活地通过可视化操作的方式,对卡片管理平台200下发对应的调度任务,以向运营商500获取相应的响应数据。
95.在可能实施的应用示例中,针对需要向运营商a请求物联网卡片a当前的流量使用情况,以及需要向运营商b请求物联网卡片b的物联网卡片在线状态,以及需要向运营商c请求物联网卡片c的实名状态,此时用户在任务调度中心100处通过可视化操作生成调度指令,包括两个调度子指令,分别为调度子指令a、调度子指令b和调度子指令c,调度子指令a
表示向运营商a请求物联网卡片a当前的流量使用情况,调度子指令b表示向运营商b请求物联网卡片b的物联网卡片在线状态,调度子指令c表示向运营商c请求物联网卡片c的实名状态。任务调度中心100将调度子指令a、调度子指令b和调度子指令c转发至卡片管理平台200,卡片管理平台200进行解析、筛选及重新封装等处理后,生成对应的调度子请求a、调度子请求b和调度子请求c;此时基于调度子请求a、调度子请求b和调度子请求c,会获取当前运营商a、运营商b和运营商c的接口状态,判定运营商a的接口状态为正常状态,运营商b的接口状态为异常状态,运营商c的接口状态为正常状态,此时会对调度子请求b进行熔断处理,不将其转发至消息中间件300,将调度子请求a和调度子请求c转发至消息中间件300中的消息队列中。代理服务器400会监听消息中间件300的消息队列,并同步对调度子请求a和调度子请求c进行解析和封装,生成运营商子请求a和运营商子请求c,并分别转发给对应的运营商a和运营商c,无需依次进行处理和等待。运营商a接收到运营商子请求a时,会对其进行识别解析,生成运营商响应a,运营商响应a表示物联网卡片a当前的流量使用情况,运营商c接收到运营商子请求c时,会对其进行识别解析,生成运营商响应c,运营商响应c表示物联网卡片c当前的实名状态;运营商a和运营商c分别将运营商响应a和运营商响应c转发至代理服务器400,代理服务器400分别对其进行解析和重新封装,生成调度子响应a和调度子响应c,并将其转发至消息中间件300;卡片管理平台200会监听消息中间件300的回调队列,当监听到消息中间件300的回调队列中存在调度子响应a和调度子响应c时,则会获取消息中间件300的调度子响应a和调度子响应c,对其进行解析处理后,以可视化地形式进行结果展示,从而完成整个任务调度。
96.第五方面,本技术实施例还提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;
97.其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行第二方面、第三方面和第四方面实施例中的任务调度方法。
98.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本技术中第二方面、第三方面和第四方面实施例中的任务调度方法。处理器通过运行存储在存储器中的非暂态软件程序以及指令,从而实现上述第二方面、第三方面和第四方面实施例中的任务调度方法。
99.存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述第二方面、第三方面和第四方面实施例中的任务调度方法。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
100.实现上述第二方面、第三方面和第四方面实施例中的任务调度方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述第二方面、第三方面和第四方面实施例中的任务调度方法。
101.第六方面,本技术实施例还提供了计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:执行第二方面、第三方面和第四方面实施例中的任务调度
方法;
102.在一些实施例中,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被第二方面实施例的电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述第二方面、第三方面和第四方面实施例中的任务调度方法。
103.以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
104.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
105.在本说明书的描述中,参考术语“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献