CN112667441A - 基于容错功能的业务模块调度方法、系统及存储介质 - Google Patents
基于容错功能的业务模块调度方法、系统及存储介质 Download PDFInfo
- Publication number
- CN112667441A CN112667441A CN202011594827.1A CN202011594827A CN112667441A CN 112667441 A CN112667441 A CN 112667441A CN 202011594827 A CN202011594827 A CN 202011594827A CN 112667441 A CN112667441 A CN 112667441A
- Authority
- CN
- China
- Prior art keywords
- module
- service module
- information
- container
- scheduling
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 title claims description 46
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 54
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 24
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 abstract description 11
- 238000004891 communication Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 13
- 230000008878 coupling Effects 0.000 description 11
- 238000010168 coupling process Methods 0.000 description 11
- 238000005859 coupling reaction Methods 0.000 description 11
- 238000011161 development Methods 0.000 description 9
- 230000001419 dependent effect Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 6
- 239000000370 acceptor Substances 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及大数据处理技术,揭露了一种基于容错功能的业务模块调度方法,方法包括通过在Web前端增加MC容器,将MC容器作为Web前端容器接口代理,也就是各个业务模块将通信接口暴露给MC容器去做反向代理,从而实现Web前端通过MC容器与各个业务模块进行交互。本发明还涉及区块链技术,数据存储于区块链中,本发明降低了各业务模块的耦合度,从而达到了杜绝因业务逻辑混乱带来的数据传输异常的技术效果。
Description
技术领域
本发明涉及大数据处理技术,尤其涉及一种基于容错功能的业务模块调度方法、系统及存储介质。
背景技术
在WEB应用开发过程中,如果当一个大型模块中有N个独立小型业务模块,且各个业务模块的开发耦合性较高。客户端在初始化数据模块时,按照常规的数据请求和业务独立处理模式,将需要发起超过模块个数的请求数量去加载这些模块的数据信息。在有关联的数据加载过程中,如有数据缺失或程序BUG,会导致页面加载中止,影响用户无法正常操作。
在现有技术中,通过在服务端增加MVC、模块控制器实现对业务模块的统一调用以解决业务模块的耦合性高的问题;但是存在的弊端如下:
1、无法解决WEB前端业务模块与业务模块间的交互过多,代码及业务耦合性过高,导致的生产问题;
2、如果模块控制器加载依赖模块时,中途发生运行异常,导致后续模块不加载或者显示错乱;
3、当前后端在数据接口上存在约定时,会因为特殊场景导致数据未按照约定方式传输,进而导致数据加载异常;
4、在随着版本迭代,各个业务模块的耦合性日益复杂,导致系统的维护成本也会日益剧增。
因此,亟需一种稳定性和灵活性好的web页面的业务模块调度方法。
发明内容
本发明提供一种基于容错功能的业务模块调度方法、系统及计算机可读存储介质,其主要解决业务模块调度稳定性差的问题。
为实现上述目的,本发明提供一种基于容错功能的业务模块调度方法,应用于电子装置,所述方法包括:
解析通过Web前端获取用户发起的所述业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块;
根据所述依赖关系网,获取与所述目的业务模块对应的MC容器与所述目的业务模块之间的存储路径;其中,所述依赖关系网为所述MC容器与作为所述MC容器的依赖模块的业务模块之间的存储路径;
根据所述存储路径,通过所述MC容器的自扩增接口,将所述加载访问数据推送到所述目的业务模块中。
进一步,优选的,所述解析所述业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块步骤中,
当所述加载访问数据为空值时,通过所述MC容器根据预设规则对所述目的模块信息进行内容是否为空对象的判定;
若所述目的模块信息为空对象时,对所述目的模块信息进行默认设定,获得默认设定的目的模块信息;
通过所述默认设定的目的模块信息获取相应的目的业务模块。
进一步,优选的,所述解析所述业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块步骤中,
当所述目的模块信息无法获取相应的目的业务模块时,所述MC容器进行异常提示并将所述异常信息进行日志记录;其中,所述日志记录通过JSON格式存储于所述MC容器中;
继续处理下一个业务模块调度信息。
进一步,优选的,通过所述自扩增接口将所述加载访问数据推送到所述目的业务模块中方法包括:
判断所述业务模块调度信息是否命中与所述业务模块调度信息相对应的自扩增接口;
若命中所述业务模块调度信息相对应的自扩增接口,则依据所述自扩增接口的匹配规则,将所述业务模块调度信息中的加载访问数据推送到所述目的模块信息对应的目的业务模块中。
进一步,优选的,所述MC容器为通过模块控制器设置的具有容错功能的ModuleController的实例,所述容错功能通过Paxos算法的过半依据实现;
所述自扩增接口为根据所述业务模块暴露的数据接口,通过MC容器的反向代理实现。
进一步,优选的,所述业务模块调度信息包括加载访问数据和目的模块信息,所述加载访问数据和所述目的模块信息存储于区块链中。
进一步,优选的,所述MC容器为预先设置在所述Web前端,通过down命令格式关闭并删除所述MC容器;通过ps命令格式查看所述MC容器状态;通过exec命令进入所述MC容器。
为实现上述目的,本发明提供一种基于容错功能的业务模块调度系统,包括调度信息解析单元、调度路径获取单元和调度信息推送单元;其中,
所述调度信息解析单元,用于解析通过Web前端获取用户发起的所述业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块;
所述调度路径获取单元,用于根据所述依赖关系网,获取与所述目的业务模块对应的MC容器与所述目的业务模块之间的存储路径;其中,所述依赖关系网为所述MC容器与作为所述MC容器的依赖模块的业务模块之间的存储路径;
所述调度信息推送单元,根据所述存储路径,通过所述MC容器的自扩增接口,将所述加载访问数据推送到所述目的业务模块中。
为实现上述目的,本发明还提供一种电子装置,该电子装置包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的基于容错功能的业务模块调度方法。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现上述的基于容错功能的业务模块调度方法的步骤。
本发明提出的基于容错功能的业务模块调度方法、系统、电子装置及计算机可读存储介质,通过在WEB前端增加MC容器,将MC容器作为WEB端容器接口代理,也就是各个业务模块将通信接口暴露给MC容器去做反向代理,从而实现Web前端通过MC容器与数据模块进行交互,降低了数据模块的耦合度,从而杜绝了因业务逻辑混乱带来的数据传输异常。有益效果如下:
1)、本发明的基于容错功能的业务模块调度方法通过MC容器实现业务模块的智能调度,实现了调度的稳定高活,从而使web服务更加稳定,运维更加高效;
2)、通过建立MC容器以及自扩增辅助性的接口,并通过MC容器的公共实现逻辑,使每一个业务模块都能共享,对接口和数据的作用域始终保持在整个容器范围中,避免了公共数据和公共接口造成的污染和代码重写,增加了系统对业务模块调用的快捷性和稳定性;
3)、通过MC容器实现依赖模块间的独立运行,避免任何异常给模块之间的加载或者请求带来相互影响,通过MC容器实现对调度信息空值或者调度信息错误的容错性;
4)、通过降低业务模块间的耦合度,让业务上的信息交互变的简单清晰;通过WEB页面多模块统一集中化管理,减少了业务数据交互交叉带来的风险,杜绝了数据安全性问题。
附图说明
图1为本发明的基于容错功能的业务模块调度方法的实施例的流程图;
图2本发明的基于容错功能的业务模块调度系统的逻辑结构示意图;
图3为本发明的电子装置的实施例的结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了提高用户开发效率,本发明提供一种基于容错功能的业务模块调度方法。图1示出了本发明基于容错功能的业务模块调度方法的实施例的流程。参照图1所示,该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
现在Web应用发开中,当一个大型模块中有N个独立小型业务模块,且模块之间又存在一定的交互性时,按照常规的数据请求和业务独立处理模式,客户端在初始化数据模块时,将需要发起超过模块个数的请求数量去加载这些模块的数据信息。而客户端并发请求数量是具有一定上限的,当超过上限数时,后发起的请求将进行阻塞。这样不仅影响其他请求的响应,还会引起渲染引擎的等待,造成客户端的卡顿,让体验感直线下降。
以审批系统加载信用加油站信息为例,模块多达29个,页面加载速度慢,影响业务操作与体验。模块加载、管理、交互存在风险,随着后续模块越来越多,系统的风险会越来越大。
本发明通过在Web前端增加MC容器,将MC容器作为Web前端容器接口代理,也就是各个业务模块将通信接口暴露给MC容器去做反向代理,从而实现Web前端通过MC容器与数据模块进行交互,降低了数据模块的耦合度,从而杜绝了因业务逻辑混乱带来的数据传输异常。
基于容错功能的业务模块调度方法包括:步骤S110-步骤S130。
S110、解析通过Web前端获取用户发起的所述业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块。
当用户操作客户端对模块加载发起的访问时,通过Web前端的登录页面获取用户发起的访问所包含的业务模块调度信息。
具体地说,所述加载访问信息中包括的加载访问数据和目的模块信息中,通过MC容器解析获取此次访问的目的模块,并根据所述加载访问信息向目的模块发起数据请求。需要说明的是,此次解析仅仅获取并存储目的模块信息,而对于加载访问信息中的加载访问数据并不获取。
需要强调的是,为进一步保证加载访问数据和目的模块信息的私密性和安全性,上述加载访问数据和目的模块信息还可以存储于一区块链的节点中。
在一个具体的实施例中,所述解析所述业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块步骤中,
当所述加载访问数据为空值时,通过所述MC容器根据预设规则对所述目的模块信息进行内容是否为空对象的判定;
若所述目的模块信息为空对象时,对所述目的模块信息进行默认设定,获得默认设定的目的模块信息;
通过所述默认设定的目的模块信息获取相应的目的业务模块。
以数据加载的场景为例,在数据请求过程中,因为应用场景太多,数据会有空值与空对象的问题。正常情况下没有数据,应该交互值应为空值(保留其类型结构,只是没有数据),但有时候会因为给的是空对象(对象与数据都不存在),导致页面数据使用过程中,出现类似空指针的异常,会阻塞后续进程的执行。在这类数据场景中,而增加了具有容错功能的MC容器后,通过具有容错功能的MC容器,预先进行数据空对象的判断,如果为空对象,则对其赋予默认类型,来避免后续因为空对象使用导致的异常。
在一个具体的实施例中,当所述目的模块信息无法获取相应的目的业务模块时,所述MC容器进行异常提示并将所述异常信息进行日志记录;其中,所述日志记录通过JSON格式存储于所述MC容器中;继续处理下一个业务模块调度信息。
以模块控制器加载依赖模块的场景为例,如果中途发生运行异常,会导致后续模块不加载或者显示错乱;而增加了具有容错功能的MC容器后,在控制加载过程中加入异常场景捕获处理,在获取当前加载模板内部发生异常时,输出系统提示日志进行记录,并继续执行后续流程,隔离每个依赖模块的加载中所抛出的异常,从而避免一个异常导致后续应用都无法加载的问题。
S120、根据依赖关系网,获取与所述目的业务模块对应的MC容器与所述目的业务模块之间的存储路径;其中,所述依赖关系网为所述MC容器与作为所述MC容器的依赖模块的业务模块之间的存储路径。
需要说明的是,容器技术是一种虚拟化技术,采用沙盒机制运行,可实现的功能和运行机制与虚拟机类似,但相比较虚拟机更轻量化,并且资源利用更高效。通过在系统中部署容器,将应用以及应用的依赖包打包成一个可移植的容器镜像,通过该容器镜像提供的隔离环境,实现该应用所提供的功能。容器将离散的模块关联起来,将庞大的业务进行代码层次的归类处理和管理,拥有公共实现逻辑,同时也是为了多模块间的请求合并模式建立的中间件。通过预先设置MC容器,建立前Web前端与Server端之间的通信桥梁,在开发前端页面时,Web前端不需要与Server端直接联系,只需要根据预先定义好的数据访问接口从数据容器中获取需要的目标数据即可,从而实现了Web前端的独立开发,使得Web前端的开发进度不受Server端开发进度的影响。
MC容器接收业务模块调度信息,具体地说,MC容器通过Watcher机制接收业务模块调度信息;所述MC容器为通过模块控制器设置的具有容错功能的ModuleController的实例,所述容错功能通过Paxos算法的过半依据实现。
Paxos算法包括下述步骤:1、Prepare阶段:Proposer向Acceptors发出Prepare请求,Acceptors针对收到的Prepare请求进行Promise承诺;2、Accept阶段:Proposer收到多数Acceptors承诺的Promise后,向Acceptors发出Propose请求,Acceptors针对收到的Propose请求进行Accept处理;3、第三阶段:Learn阶段。Proposer在收到多数Acceptors的Accept之后,标志着本次Accept成功,决议形成,将形成的决议发送给所有Learners。
Paxos算法运行在允许宕机故障的异步环境中,不要求可靠的消息传递,可容忍消息丢失、延迟、乱序以及重复。而且Paxos算法只能对一个值形成决议,决议的形成至少需要两次网络来回,在高并发情况下可能需要更多的网络来回。
在具体的实施过程中,所述MC容器为预先设置在所述Web前端,通过down命令格式关闭并删除所述MC容器;通过ps命令格式查看所述MC容器状态;通过exec命令进入所述MC容器。其中,命令格式即docker-compose。具体地说,通过docker-compose down关闭并删除MC容器;通过docker-compose ps查看MC容器状态;通过docker-compose exec进入所述MC容器。其中,命令格式docker-compose exec具体为docker-compose exec SERVICECOMMAND。通过docker-compose exec SERVICE COMMAND用来进入容器内部进行一些操作;比如docker-compose exec nginx bash。
MC容器具体可以包括用于存储各业务模块与MC容器间的依赖关系结构网的存储区域。这里所述的依赖关系结构网就是,在通过控制器去创建MC容器的实例化时,依赖该实例的所有业务模块的信息将会进行记录绑定,形成一个依赖关系结构网,即所述MC容器与所述目的业务模块之间的存储路径,就是通过预先构建依赖模块的类型和依赖模块在的存储路径之间的对应关系。
具体的说,依赖加载器去创建依赖模块信息的依赖关系网,依赖关系网数据通过json格式存储,MC容器根据赖关系结构网来调用存在依赖关系的业务模块。
根据所述依赖关系网和步骤S110获得的目的业务模块,获取与步骤S110获得的目的业务模块对应的所述MC容器与所述目的业务模块之间的存储路径。
S130、根据所述存储路径,通过所述MC容器的自扩增接口,将所述加载访问数据推送到所述目的业务模块中。
所述自扩增接口为根据所述业务模块暴露的数据接口,通过MC容器的反向代理实现。
具体地说,具体地说,ModuleController(容器的自定义对象)的实例作为一个主容器,控制着多个子模块,为它们提供了数据来源和数据交互。公共实现逻辑,被抽离到了容器中,让每一个依赖模块都能共享,对接口和数据的作用域始终保持在整个容器范围中,避免了公共数据和公共接口造成的污染和重写。
而作为依赖模块的业务模块对其他容器层的访问也不再是直接交互方式,而是通过当前容器去交互,让MC容器以代理模式作为中间件去和外界通信,将依赖模块对其他容器的依赖性达到完全解耦。
预先设置的自扩增接口,是通过所有的业务模块将数据接口暴露给MC容器去做反向代理而实现的。通过配置文件,实现MC容器对预先设置的依赖关系网和数据分发接口进行管理。
在一个具体的实施例中,通过所述自扩增接口将所述加载访问数据推送到所述目的业务模块中方法包括:
判断所述业务模块调度信息是否命中与所述业务模块调度信息相对应的自扩增接口;
若命中所述业务模块调度信息相对应的自扩增接口,则依据所述自扩增接口的匹配规则,将所述业务模块调度信息中的加载访问数据推送到所述目的模块信息对应的目的业务模块中。
以业务模块A要获取其他业务模块的数据的场景为例,若通过业务模块间的交互形式获取,就会造成业务逻辑混乱问题,即使调用每个数据模块提供的数据接口去获取,也会增加模块之间的耦合度;通过建立MC容器,多业务模块将数据接口暴露给MC容器去做反向代理,当业务模块A再获取其他业务模块数据时,不在交互其他模块,而是调用MC容器的其对应的自扩增数据接口获取数据。从而杜绝了业务逻辑混乱问题,也降低了模块间的耦合度。
总之,客户端对模块加载发起的访问会先通过控制器去创建ModuleController的实例;由ModuleController实例去适配和解析作为代理去发起数据请求;然后通过依赖加载器去创建依赖模块信息的依赖关系网,并通过数据分发接口,将数据推送到作为依赖模块的目的业务模块中;从而完成通过ModuleController容器对业务模块的业务模块调度过程。
本发明通过MC容器实现各个业务模块的调度,每个业务模块通过MC容器进行交互,从而使得各个业务模块相互独立,实现各个业务模块的独立开发与部署,有利于达到提高各个业务模块的并行开发和测试部署效率的技术效果。
图2为本发明的基于容错功能的业务模块调度系统的逻辑结构示意图;参照图2所示。
为实现上述目的,本发明提供一种基于容错功能的业务模块调度系统200,包括调度信息解析单元210、调度路径获取单元220和调度信息推送单元230;其中,
所述调度信息解析单元210,用于解析通过Web前端获取用户发起的所述业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块;
所述调度路径获取单元220,用于根据所述依赖关系网,获取与所述目的业务模块对应的MC容器与所述目的业务模块之间的存储路径;其中,所述依赖关系网为所述MC容器与作为所述MC容器的依赖模块的业务模块之间的存储路径;
所述调度信息推送单元230,根据所述存储路径,通过所述MC容器的自扩增接口,将所述加载访问数据推送到所述目的业务模块中。
进一步,优选的,所述调度信息解析单元210包括解析子单元211、空值判定子单元212和目的模块获取子单元213;
所述解析子单元211,用于解析所述业务模块调度信息,获取加载访问数据和目的模块信息;
所述空值判定子单元212,用于通过所述MC容器根据预设规则对所述目的模块信息进行内容是否为空对象的判定;
所述目的模块获取子单元213,用于,通过所述目的模块信息获取相应的目的业务模块。
本发明的基于容错功能的业务模块调度系统通过MC容器实现依赖模块间的独立运行,避免任何异常给模块之间的加载或者请求带来相互影响,通过MC容器实现对调度信息空值或者调度信息错误的容错性;通过降低业务模块间的耦合度,让业务上的信息交互变的简单清晰;通过WEB页面多模块统一集中化管理,减少了业务数据交互交叉带来的风险,杜绝了数据安全性问题。
本发明提供一种基于容错功能的业务模块调度方法,应用于一种电子装置3。
图3示出了根据本发明基于容错功能的业务模块调度方法较佳实施例的应用环境。
参照图3所示,在本实施例中,电子装置3可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置3包括:处理器32、存储器31、通信总线33及网络接口35。
存储器31包括至少一种类型的可读存储介质。所述可读存储介质可以是非易失性的,也可以是易失性的。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器31等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置3的内部存储单元,例如该电子装置3的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置3的外部存储器31,例如所述电子装置3上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器31的可读存储介质通常用于存储安装于所述电子装置3的基于容错功能的业务模块调度程序30等。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
处理器32在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器31中存储的程序代码或处理数据,例如执行基于容错功能的业务模块调度程序30等。
通信总线33用于实现这些组件之间的连接通信。
网络接口34可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置3与其他电子设备之间建立通信连接。
图3仅示出了具有组件31-34的电子装置3,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置3还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置3还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置3中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置3还可以包括射频(Radio Frequency,RF)电路,传感器、音频电路等等,在此不再赘述。
在图3所示的装置实施例中,作为一种计算机存储介质的存储器31中可以包括操作系统、以及基于容错功能的业务模块调度程序30;处理器32执行存储器31中存储的基于容错功能的业务模块调度程序30时实现如下步骤:解析通过Web前端获取用户发起的所述业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块;根据所述依赖关系网,获取与所述目的业务模块对应的MC容器与所述目的业务模块之间的存储路径;其中,所述依赖关系网为所述MC容器与作为所述MC容器的依赖模块的业务模块之间的存储路径;根据所述存储路径,通过所述MC容器的自扩增接口,将所述加载访问数据推送到所述目的业务模块中。
在其他实施例中,基于容错功能的业务模块调度程序30还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器31中,并由处理器32执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序程序段。基于容错功能的业务模块调度程序30可以分为包括调度信息解析单元210、调度路径获取单元220和调度信息推送单元230。
此外,本发明还提出一种计算机可读存储介质,主要包括存储数据区和存储程序区,其中,存储数据区可存储根据区块链节点的使用所创建的数据等,存储程序区可存储操作系统、至少一个功能所需的应用程序,所述计算机可读存储介质中包括基于容错功能的业务模块调度程序,所述基于容错功能的业务模块调度程序被处理器执行时实现如基于容错功能的业务模块调度方法的操作。
本发明之计算机可读存储介质的具体实施方式与上述基于容错功能的业务模块调度方法、系统、电子装置的具体实施方式大致相同,在此不再赘述。
总的来说,本发明基于容错功能的业务模块调度方法、系统、电子装置及计算机可读存储介质,通过MC容器实现依赖模块间的独立运行,避免任何异常给模块之间的加载或者请求带来相互影响,通过MC容器实现对调度信息空值或者调度信息错误的容错性;通过降低业务模块间的耦合度,让业务上的信息交互变的简单清晰;通过WEB页面多模块统一集中化管理,达到减少了业务数据交互交叉带来的风险的技术效果。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干程序用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于容错功能的业务模块调度方法,应用于电子装置,其特征在于,所述方法包括:
解析通过Web前端获取用户发起的业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块;
根据所述依赖关系网,获取与所述目的业务模块对应的所述MC容器与所述目的业务模块之间的存储路径;其中,所述依赖关系网为所述MC容器与作为所述MC容器的依赖模块的业务模块之间的存储路径;
根据所述存储路径,通过所述MC容器的自扩增接口,将所述加载访问数据推送到所述目的业务模块中。
2.根据权利要求1所述的基于容错功能的业务模块调度方法,其特征在于,所述解析通过Web前端获取用户发起的所述业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块步骤中,
当所述加载访问数据为空值时,通过所述MC容器根据预设规则对所述目的模块信息进行内容是否为空对象的判定;
若所述目的模块信息为空对象时,对所述目的模块信息进行默认设定,获得默认设定的目的模块信息;
通过所述默认设定的目的模块信息获取相应的目的业务模块。
3.根据权利要求1所述的基于容错功能的业务模块调度方法,其特征在于,所述解析通过Web前端获取用户发起的所述业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块步骤中,
当所述目的模块信息无法获取相应的目的业务模块时,所述MC容器进行异常提示并将所述异常信息进行日志记录;其中,所述日志记录通过JSON格式存储于所述MC容器中;
继续处理下一个业务模块调度信息。
4.根据权利要求1所述的基于容错功能的业务模块调度方法,其特征在于,通过所述自扩增接口将所述加载访问数据推送到所述目的业务模块中方法包括:
判断所述业务模块调度信息是否命中与所述业务模块调度信息相对应的自扩增接口;
若命中所述业务模块调度信息相对应的自扩增接口,则依据所述自扩增接口的匹配规则,将所述业务模块调度信息中的加载访问数据推送到所述目的模块信息对应的目的业务模块中。
5.根据权利要求1所述的基于容错功能的业务模块调度方法,其特征在于,所述MC容器为通过模块控制器设置的具有容错功能的ModuleController的实例,所述容错功能通过Paxos算法的过半依据实现;
所述自扩增接口为根据所述业务模块暴露的数据接口,通过MC容器的反向代理实现。
6.根据权利要求1所述的基于容错功能的业务模块调度方法,其特征在于,
所述业务模块调度信息包括加载访问数据和目的模块信息,所述加载访问数据和所述目的模块信息存储于区块链中。
7.根据权利要求1所述的基于容错功能的业务模块调度方法,其特征在于,
所述MC容器为预先设置在所述Web前端,通过down命令格式关闭并删除所述MC容器;通过ps命令格式查看所述MC容器状态;通过exec命令进入所述MC容器。
8.一种基于容错功能的业务模块调度系统,其特征在于,包括调度信息解析单元、调度路径获取单元和调度信息推送单元;其中,
所述调度信息解析单元,用于解析通过Web前端获取用户发起的所述业务模块调度信息,获取加载访问数据和目的模块信息,通过所述目的模块信息获取相应的目的业务模块;
所述调度路径获取单元,用于根据所述依赖关系网,获取与所述目的业务模块对应的MC容器与所述目的业务模块之间的存储路径;其中,所述依赖关系网为所述MC容器与作为所述MC容器的依赖模块的业务模块之间的存储路径;
所述调度信息推送单元,根据所述存储路径,通过所述MC容器的自扩增接口,将所述加载访问数据推送到所述目的业务模块中。
9.一种电子装置,其特征在于,该电子装置包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的基于容错功能的业务模块调度方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的基于容错功能的业务模块调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011594827.1A CN112667441A (zh) | 2020-12-29 | 2020-12-29 | 基于容错功能的业务模块调度方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011594827.1A CN112667441A (zh) | 2020-12-29 | 2020-12-29 | 基于容错功能的业务模块调度方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112667441A true CN112667441A (zh) | 2021-04-16 |
Family
ID=75411990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011594827.1A Pending CN112667441A (zh) | 2020-12-29 | 2020-12-29 | 基于容错功能的业务模块调度方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667441A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116009831A (zh) * | 2022-12-29 | 2023-04-25 | 北京航星永志科技有限公司 | 移动应用程序开发方法、装置和设备 |
-
2020
- 2020-12-29 CN CN202011594827.1A patent/CN112667441A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116009831A (zh) * | 2022-12-29 | 2023-04-25 | 北京航星永志科技有限公司 | 移动应用程序开发方法、装置和设备 |
CN116009831B (zh) * | 2022-12-29 | 2023-08-08 | 北京航星永志科技有限公司 | 移动应用程序开发方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111279320B (zh) | 实现微服务配置和管理的api储存库 | |
US11093232B2 (en) | Microservice update system | |
CN109074265B (zh) | 移动云服务的预先形成的指令 | |
US10996997B2 (en) | API-based service command invocation | |
US20120016999A1 (en) | Context for Sharing Data Objects | |
CN110601896B (zh) | 一种基于区块链节点的数据处理方法以及设备 | |
US10891569B1 (en) | Dynamic task discovery for workflow tasks | |
US20200326931A1 (en) | Federated Framework for Container Management | |
CN107707622A (zh) | 一种访问桌面云虚拟机的方法、装置及桌面云控制器 | |
CN111858727B (zh) | 一种基于模板配置的多数据源数据导出系统及方法 | |
US12014216B2 (en) | Method for platform-based scheduling of job flow | |
US20210226929A1 (en) | Techniques for transferring data across air gaps | |
JP2022542203A (ja) | ミニプログラムのバッチ処理方法、装置、電子機器及び可読記憶媒体 | |
CN114222256A (zh) | 消息发送方法、装置及电子设备 | |
CN109218393A (zh) | 一种推送的实现方法、装置、设备和计算机存储介质 | |
CN114816361A (zh) | 拼搭工程生成方法、装置、设备、介质和程序产品 | |
CN112667441A (zh) | 基于容错功能的业务模块调度方法、系统及存储介质 | |
CN113590243A (zh) | 能源企业项目创建方法、装置、计算机设备及介质 | |
CN117950628A (zh) | 一种基于grpc的插件构建方法及系统 | |
CN112506590A (zh) | 接口调用方法、装置及电子设备 | |
CN111722994A (zh) | 一种任务请求的响应方法及设备 | |
CN111488286A (zh) | 一种Android模块独立开发的方法及装置 | |
CN106778193B (zh) | 一种客户端和ui交互方法 | |
CN112350856B (zh) | 分布式服务签退方法及设备 | |
CN115113898A (zh) | 微应用的动态更新方法、装置、计算机设备和存储介质 |
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 |