微服务的调用方法及装置与流程

文档序号:19155027发布日期:2019-11-16 00:37阅读:287来源:国知局
微服务的调用方法及装置与流程

本公开涉及计算机及通信技术领域,具体而言,涉及一种微服务的调用方法及装置,一种微服务的调用终端及计算机程序介质。



背景技术:

随着互联网服务内容的逐渐增多,前端应用与后端服务平台之间需要进行传输的信息越来越多。

由于互联网页面内容繁多,通常将生成互联网应用的程序代码分割为不同的微服务代码进行存储,因此在根据用户的指令生成前端应用时,需要调取多个微服务代码生成的微服务。在调取多个微服务过程中,需要多次编写调取微服务的请求指令,并将请求指令发送给不同的服务器来调取相应的微服务,进而还需要不同的服务器将调取微服务返回的数据发送给前端,这种方式造成了巨大的网络消耗,使得对网络处理设备的要求变高。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开的实施例提供了一种微服务的调用方法及装置,一种微服务的调用终端及计算机程序介质,进而至少在一定程度上减少前端代码处理量、降低网络消耗、提升互联网业务的处理性能。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

根据本公开实施例的一个方面,提供了一种微服务的调用方法,包括:

接收前端发送的请求指令;

根据所述请求指令调取多个微服务;

把调取所述多个微服务返回的数据进行组装,生成针对所述请求指令的响应数据;

将所述响应数据传输到所述前端。

根据本公开实施例的一个方面,提供了一种微服务的调用装置,包括:

接收模块,用于接收前端发送的请求指令;

调取模块,用于根据所述请求指令调取多个微服务;

组装模块,用于把调取所述多个微服务返回的数据进行组装,生成针对所述请求指令的响应数据;

传输模块,用于将所述响应数据传输到所述前端。

根据本公开实施例的一个方面,提供的一种微服务的调用装置的调取模块,包括:

解析子模块,用于解析所述请求指令,获取所述请求指令所关联的流程编码;

第一调取子模块,用于根据所述流程编码调取与所述流程编码相对应的多个微服务。

根据本公开实施例的一个方面,提供的一种微服务的调用装置,还包括:

配置模块,用于根据接收到的编辑指令,配置至少一个流程编码以及针对各个流程编码的微服务信息;

存储模块,用于将所述至少一个流程编码与针对所述各个流程编码的微服务信息进行对应存储。

根据本公开实施例的一个方面,提供的一种微服务的调用装置,还包括:

更新模块,用于根据接收到针对指定流程编码所对应的微服务信息的修改指令,对所述指定流程编码所对应的微服务信息进行更新。

根据本公开实施例的一个方面,提供的一种微服务的调用装置的调取模块还包括:

获取子模块,用于根据所述请求指令,获取与所述请求指令相关联的调取脚本;

第二调取子模块,用于利用所述调取脚本,调取与所述请求指令对应的多个微服务。

根据本公开实施例的一个方面,提供的一种微服务的调用装置中,所述调取脚本包括可动态解析脚本;

组装模块,用于利用可动态解析脚本,把调取所述多个微服务返回的数据进行组装,生成针对所述请求指令的响应数据。

根据本公开实施例的一个方面,提供的一种微服务的调用装置的组装模块,用于将调取所述多个微服务返回的数据按照前端需要的格式进行组装,生成针对所述请求指令的响应数据。

根据本公开实施例的一个方面,提供的一种微服务的调用装置的组装模块,包括:

解码子模块,用于解码所述调取多个微服务返回的数据;

编码子模块,用于按照目标编码格式和目标编码参数,对解码后的数据进行编码;

组装子模块,用于对编码后的码流按照前端需要的格式进行组装打包,生成针对所述请求指令的响应数据。

根据本公开实施例的一个方面,提供的一种微服务的调用装置的调取模块,用于根据所述请求指令,基于同步调取或异步调取的方式调取所述多个微服务。

根据本公开实施例的一个方面,提供的一种微服务的调用装置中,各个所述微服务对应有应用程序编程接口api;

调取模块,根据所述请求指令调取多个微服务包括:根据所述请求指令确定要调取的多个微服务,并调取所述多个微服务中的每个微服务对应的api。

根据本公开实施例的一个方面,提供的一种微服务的调用装置中,还包括显示模块,用于在将所述响应数据传输到所述前端之后,获取根据所述响应数据生成的前端应用在所述前端的运行状态,并对所述前端应用在所述前端的运行状态进行显示。

根据本公开实施例的一个方面,提供的一种微服务的调用装置中,显示模块显示的所述前端应用在所述前端的运行状态包括:所述前端应用在所述前端的运行时长、当前状态和最后运行时间中的一种或多种。

根据本公开实施例的一方面,公开了一种微服务的调用终端,包括:存储器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令,以执行如上所述的方法。

根据本公开实施例的一方面,公开了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的方法。

根据本公开实施例的一个方面,提供了一种微服务的调用系统,包括:

网关设备,用于接收前端设备发送的请求指令,若所述请求指令用于调取微服务管理服务器,则将所述请求指令发送至所述微服务管理服务器,并用于将所述微服务管理服务器返回的响应数据返回给所述前端设备;

微服务管理服务器,用于接收所述网关设备发送的所述请求指令,根据所述请求指令调取多个微服务,将调取所述多个微服务返回的数据进行组装,生成针对所述请求指令的响应数据,并将所述响应数据返回给所述网关设备。

在本公开的一些实施例所提供的技术方案中,通过调取多个微服务,把调取所述多个微服务返回的数据进行组装,生成针对所述请求指令的响应数据,然后将响应数据发送给前端,不需要从前端多次生成并发送请求指令来多次调取微服务,再将多次调取微服务返回的数据发送到前端,降低了前端的代码处理量,同时减少了请求命令及返回的数据的发送次数,降低了网络消耗,加快了信息处理速度,提升互联网业务的处理性能。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是本公开一实施例提供的一种微服务的调用系统的连接示意图;

图2是图1中微服务管理服务器中包含的微服务的组装管理界面图;

图3是利用图2所示的微服务的组装管理界面添加组装流程,根据组装流程调取多个微服务,并对调取多个微服务返回的数据进行组装的流程图;

图4是本公开一实施例提供的一种微服务的调用方法的流程图;

图5是本公开一实施例提供的一种微服务的调用方法的流程图;

图6是本公开一实施例提供的一种微服务的调用方法的流程图;

图7是本公开一实施例提供的一种微服务的调用方法的流程图;

图8是本公开一实施例提供的一种微服务的调用方法的流程图;

图9是本公开一实施例提供的一种微服务的调用装置的连接示意图;

图10是本公开一实施例提供的一种微服务的调用装置的连接示意图;

图11是本公开一实施例提供的一种微服务的调用装置的连接示意图;

图12是本公开一实施例提供的一种微服务的调用终端的硬件结构图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

由于互联网页面内容繁多,通常将生成互联网应用的程序代码分割为不同的微服务代码进行存储,因此在根据用户的指令生成前端应用时,需要调取根据多个微服务代码生成的多个微服务。在调取多个微服务过程中,需要多次编写调取微服务的请求指令,并将请求指令发送给不同的服务器来调取相应的微服务,进而还需要不同的服务器将调取微服务返回的数据发送给前端,这种方式造成了巨大的网络消耗,使得对网络处理设备的要求变高。

为了解决上述技术问题,在本公开的说明书中,提供了一种微服务的调用方法及装置,一种微服务的调用终端及计算机程序介质,在下面的实施例中逐一进行详细说明。

本公开一实施例提供一种微服务的调用系统,如图1所示,该调用系统包括:前端设备110、网关设备120、微服务管理服务器140和多个后台服务器130。前端设备110中通常安装有前端app(applica-tion,应用程序)111、pc站点112、小程序公众号113等用于处理用户交互过程中交互信息的前端交互平台。后台服务器130中通常存储有生成微服务的微服务代码及调取微服务的应用程序编程接口api(applicationprogrammingint-erface,应用程序编程接口)。通过api能够从后台服务器130中调取运行微服务代码生成的微服务。微服务即为运行微服务代码生成的应用,如前端页面、音频等。系统中能够包括多个后台服务器130,不同的后台服务器130中存储有不同的微服务。该多个后台服务器130可以分别存储微服务a、微服务b、微服务c、微服d等。网关设备120包括网络接入设备。前端设备110通过网关设备120连接网络,通过网络发送调取后台服务器130中微服务的请求指令给微服务管理服务器140。微服务管理服务器140设置在网关设备120和后台服务器130之间,用于根据请求指令在从后台服务器130中调取多个微服务时,对调取多个微服务返回的数据进行组装,生成针对请求指令的响应数据,再将响应数据发送给前端设备110。

微服务管理服务器140能够生成微服务的组装管理界面图。如图2所示,该组装管理界面包含应用名称输入框1、流程编码输入框2、流程编码输入框3、状态输入框4、搜索按钮5、流程详情表6、添加按钮7。应用名称输入框1与接收到的前端的请求指令相对应,根据请求指令能够获取该请求指令对应的前端应用的应用名称。在应用名称输入框1中输入应用名称,能够获得与该应用名称相关联的流程详情表6。由于每个应用可能包含多个流程,根据应用名称获得的流程详情表6可能包括多行组装流程信息,每行组装流程信息即为一个组装流程的详情。在其它实施例中,也可以通过其它方式获取应用名称,如查询应用名称列表等。

流程编码即为组装流程设置的名称。通过在流程编码输入框2中输入流程编码,然后点击搜索按钮5,可以获取流程详情表6,该流程详情表6中包含与输入流程编码对应的组装流程的详情。

流程编码输入框3能够输入流程编码,流程编码为流程的id。通过在流程编码输入框3中输入流程编码,然后点击查询按钮,能够获得流程详情表6。该流程详情表6包含输入流程编码对应的组装流程的流程详情。

状态输入框4能够输入的状态包括“上线”或“下线”。通过在状态输入框4输入状态“上线”,然后点击搜索按钮5,能够获得流程详情表6,该流程详情表6包含正在运行的所有组装流程的流程详情。通过在状态输入框4输入状态“下线”,然后点击搜索按钮5,能够获得流程详情表6,该流程详情表6包含未运行的所有组装流程的流程详情。

当然,也可以选择应用名称输入框1、流程编码输入框2、流程编码输入框3或状态输入框4中多个,在已选择的多个输入框中输入对应的内容,然后点击搜索按钮5,搜索获得包含与输入内容对应的流程详情的流程详情表6。

流程详情表6最上面一行为表头,包含该表显示的流程详情。流程请求列表6显示的流程详情包括:操作、测试、流程编码、流程编码、api调用链、最后执行时间、运行时长、当前状态等。

流程详情表6的每一行显示一个组装流程的流程详情。每一行组装流程的操作栏均包括删除、编辑和修改按钮。点击删除按钮能够删除该组装流程。点击编辑按钮能够获取api调取脚本,根据api调取脚本调取api,编辑该行的组装流程,调取多个微服务的api;对调取api返回的数据进行组装,生成响应数据;并将响应数据传输到前端设备110,由前端设备110根据响应数据渲染生成前端应用。点击修改按钮能够对api调取脚本编辑的内容进行修改。测试框包含对该行组装流程进行测试的按钮,点击测试按钮,能够对该行api调用脚本生成的响应数据进行测试。

流程名称栏中包含该行组装流程及由该行组装流程生成的响应数据的名称,如文中第一行组装流程及由该行组装流程生成的响应数据的流程名称为“支付界面”,如文中第二行组装流程及由该行组装流程生成的响应数据的流程名称为“物流界面”。

流程编码栏包含该组装流程的流程编码,流程编码为该行组装流程及由组装流程生成的响应数据的id,如文中第一行组装流程及由该行组装流程生成的响应数据的流程编码为“qetproddetail”,如文中第二行组装流程及由该行组装流程生成的响应数据的流程编码为“qetorddetail”。

点击api调用链栏中的查看按钮能够获取该组装流程对应的响应数据要调取的多个微服务的微服务信息,要调取的多个微服务的微服务信息包括:要调取的多个微服务中每个微服务的api编码。要调取的多个微服务的微服务信息也可以包括:对多个微服务的调用次序。api调用链可以是在编辑组装流程之前设置的,与流程编码关联。api编码为api的id。

最后执行时间栏显示前端设备110对最近一次调用该行响应数据生成的前端应用的开始运行时间。点击运行时长栏中的查看按钮,能够获取前端设备110根据该行响应数据生成的前端应用的运行时长。当前状态栏显示前端设备110根据该行响应数据生成的前端应用的当前状态,包括上线或下线。

流程详情表6能够根据搜索时,各输入框输入的内容,显示与输入内容对应的流程详情。组装流程即为根据请求指令生成调取多个api,并对调取多个api返回的数据进行组装,生成针对请求指令的响应数据的流程。

该组装管理界面上还设置有添加按钮7。接收到的编辑指令后,点击添加按钮7能够在流程详情表6中增加一行组装流程。该新增的组装流程的操作栏中包含删除、编辑和修改按钮。通过删除按钮可删除该行组装流程,通过编辑按钮,能够调取api调取脚本。通过修改按钮,能够修改api调取脚本中的内容,从而对该组装流程行的流程进行优化。在流程名称栏输入该行组装流程的流程名称。在流程编码栏输入该行组装流程的流程编码。流程编码为根据该行的信息要编辑生成的组装流程及由组装流程生成的响应数据的id。点击api调用链栏的查看按钮,能够获取空白的api调用链,利用空白的api调用链,能够根据应用需求设置该行组装流程要调取多个api的api编码及对该多个api的调取次序,以便后续接收到请求指令后,查询api调用链,调取api。该多个api为后台服务器130中包含的微服务的api。每个api对应一个微服务,api的调取次序即为api对应的微服务的调用次序。

设置完以上内容以后,即可将该行组装流程的流程编码发送到前端,前端生成调取该行组装流程的请求指令时,将该行组装流程的流程编码加载在请求指令中,以便根据前端的请求指令,查询获取包含该行组装流程的流程详情的流程详情表6,获取该行组装流程的api调用链,使用编辑按钮调取api调取脚本,利用api调取脚本,调取多个api,并对调取多个api返回的数据进行组装,生成针对请求指令的响应数据。每个api对应一个微服务,api调用链中包含的该行流程要调取的多个微服务的api编码及对该多个微服务的调用次序即为该行组装流程需要调取的微服务的微服务信息。

图3为利用图2所示的微服务的组装管理界面添加组装流程,根据组装流程调取多个微服务,并对调取多个微服务返回的数据进行组装的流程图。包括:

步骤310:新增api的组装流程,输入流程编码。

步骤320:根据流程编码调取多个api。

步骤330:对调取多个api返回的数据进行组装,生成响应数据。

步骤340:返回响应数据给前端设备110。

步骤310包括:利用图2所示的添加按钮7,在流程详情表6中添加组装流程行,在组装流程行的流程名称栏为该行组装流程输入流程名称,在流程编码栏为该行组装流程输入流程编码,流程编码是该行组装流程的唯一id,点击api调用链栏的查看按钮,获取的空白的api调用链,利用空白的api调用链,能够根据应用需求设置该行组装流程要调取多个api的api编码及多个api的调取次序,以便后续接收到请求指令后,查询api调用链,调取api。然后,将流程编码发送给前端设备110。

用户点击操作前端app(application,应用程序)111、pc站点112或小程序公众号113等前端设备110中包含的前端页面,会生成用户指令。前端设备110接收用户指令,并根据用户指令生成请求指令。如前端设备110根据用户指令判断用户点击要调取的内容由新增的组装流程生成,前端设备110在生成调取该组装流程的请求指令时,会将流程编码加载在请求指令中。前端设备110生成请求指令后,将请求指令发送给网关设备120。网关设备120接收前端设备110发送的请求指令,并根据请求指令判断接收到的请求指令是否要通过调取多个api,然后将调取多个api返回的数据进行组装来实现。如网关设备120判断需要调取多个api,则调取微服务管理服务器140,将请求指令发送给微服务管理服务器140。

在步骤320中,微服务管理服务器140接收网关设备120发送的请求指令,解析请求指令,获取流程编码,将流程编码输入图2中组装管理界面的流程编码输入框3,获取流程编码所在的组装流程行,从而获取该行中的api调用链,根据api调用链获取其中的微服务信息,根据微服务信息从后台服务器130中调取多个微服务。

然后由微服务管理服务器140执行步骤330,对调取多个微服务返回的数据进行组装,生成针对请求指令的响应数据。

再由微服务管理服务器140通过执行步骤340,将响应数据通过网关设备120返回给前端设备110。前端设备110接收所述网关设备120返回的所述响应数据,并根据响应数据生成前端应用。调取微服务返回的数据包括用于生成微服务的数据,该数据通过运行生成微服务程序代码生成。通过与微服务程序代码的api,能够调取运行微服务程序代码生成的数据,该数据即为调取微服务返回的数据。

图3中步骤320的程序代码即为根据流程编码调取多个api的程序代码,其中retval和retval2为调取api返回的数据。

响应数据包括将调取api返回的数据进行组装,生成的组装数据。

将响应数据传输给前端后,流程详情表6根据前端设备110的对根据该响应数据生成的前端应用的运行状况,显示该前端应用的运行时长、当前状态和最后执行时间。当前状态包括上线或下线,如前端设备110正在运行该前端应用,则当前状态为上线,否则为下线。点击运行时长框的查看按钮能够获得前端设备110对根据该响应数据生成的前端应用的每次运行的运行时长、总运行时长、每次运行时间等信息。最后执行时间为前端设备110对根据最近一次调用该响应数据生成的前端应用的开始运行时间。

通过设置微服务管理服务器140,能够将调取多个微服务返回的数据进行组装,不需要前端设备110多次发送请求指令来调取多个微服务,将调取多个微服务返回的数据分别发送到前端设备110后,再由前端设备110对返回的数据进行组装。减少了信息的发送次数和前端的代码处理量,减少了网络消耗。

本公开一实施例提供一种计算设备。该计算设备可以是上述调用系统包含的微服务管理服务器140。该计算设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,处理器读取存储器存储的计算机可读指令,以执行如图4所示的微服务的调用方法。图4示出了根据本公开一实施例的一种微服务的调用方法的示意性流程图,包括步骤510至步骤540。

步骤510:接收前端发送的请求指令。

在本公开提供的一种或多种实施例中,这里的前端可以是前端交互平台,前端交互平台用于处理与用户的交互信息,包括接收用户的指令,并根据用户的指令调取或生成用户需要前端应用等。前端交互平台包括安装在前端服务器中供用户操作的pc站点、app和小程序公众号等。用户通过点击前端交互平台中交互界面的按钮、字符等形成用户指令,前端交互平台接收用户指令,并根据用户指令生成请求调取后端服务信息的请求指令,并将请求指令发送给微服务管理服务器,用于调取微服务,生成与按钮、界面相关的前端应用。前端交互平台所在的服务器和微服务管理服务器通常是不同的服务器中,以实现最优分工。

现有的网络页面处理内容繁杂,实现网络处理的程序代码数量繁多且庞大,通常将程序代码划分为不同的生成微程序的程序代码,并为每个程序代码设置对应的应用程序接口api,通过api可调取由生成微服务的程序代码所生成的微服务,不同微服务之间通过相互调取,形成功能强大、内容繁多的处理程序,完成对繁杂网络内容的处理和生成。

步骤520:根据请求指令调取多个微服务。

在本公开提供的一种或多种实施例中,由于微服务通常设置在不同的服务器中,前端需要发送请求指令给后端的处理器,以使微服务管理服务器从多个服务器中调取微服务,并根据微服务生成与被点击的按钮、字符相关联的网络内容。微服务包括通过api能够调取的生成微服务的程序代码所能够生成的应用。

为了减少请求指令的发送次数,及要多个调取微服务返回的数据的发送次数,减少对网络的消耗,通常将多个微服务的调用指令进行组合,生成请求指令,因此请求指令对应的内容,通常需要调取多个微服务,并根据调取多个微服务返回的数据生成,需要根据请求指令调取多个微服务。调取微服务返回的数据包括用于生成微服务的数据,该数据通过运行生成微服务的程序代码生成。

步骤530:把调取多个微服务返回的数据进行组装,生成针对请求指令的响应数据。

在本公开提供的一种或多种实施例中,调取多个微服务以后,需要对调取多个微服务返回的数据进行组装,生成针对请求指令的响应数据。对调取多个微服务返回的数据进行组装包括:解码调取多个微服务返回的数据;按照目标编码格式和目标编码参数,对解码后的数据进行编码;根据设置设定的目标组装格式和目标组装参数对编码后的码流进行组装打包,生成针对请求指令的响应数据。

步骤540:将响应数据传输到所述前端。

在本公开提供的一种或多种实施例中,将调取多个微服务返回的数据进行组装打包,生成针对请求指令的响应数据后。将生成的响应数据发给前端,由前端根据响应数据渲染生成前端应用。

本公开一实施例还提供一种微服务的调用方法,如图5所示,包括步骤610至步骤690。

步骤610:根据接收到的编辑指令,配置至少一个流程编码以及针对各个流程编码的微服务信息。

在本公开提供的一种或多种实施例中,根据接收到的编辑指令,配置至少一个流程编码以及针对各个流程编码的微服务信息,从而根据应用需求,增加新的流程编码,为各个流程关联微服务,将新的流程编码与微服务信息相关联,从而获得针对新的流程编码的微服务信息。

针对各个流程编码的微服务信息包括根据该流程编码需要调取的多个微服务中每个微服务的api编码或/和多个微服务的调用次序。流程编码为流程的id。api编码为调取微服务所用的api的id。

步骤620:将至少一个流程编码与针对各个流程编码的微服务信息进行对应存储。

在本公开提供的一种或多种实施例中,将至少一个流程编码与针对各个流程编码的微服务信息进行对应存储。流程编码与前端的应用相对应,配置至少一个流程编码,即根据前端的需要,为前端配置了新的应用。该新的应用可以通过根据针对各个流程编码的微服务信息,调取与新配置的流程编码相对应的微服务来实现。

步骤630:接收前端发送的请求指令。

步骤640:解析请求指令,获取请求指令所关联的流程编码。

在本公开提供的一种或多种实施例中,将新配置的流程编码发送给前端,前端在接收到用户调取该新应用的指令后,生成与该新配置的流程编码有关的请求指令时,会将该新配置的流程编码加载在请求指令中,从而将新配置流程编码与请求指令相关联。接收到前端发送的请求指令后,解析请求指令,获取与请求指令所关联的流程编码。

步骤650:根据所述流程编码调取与所述流程编码相对应的多个微服务。

在本公开提供的一种或多种实施例中,流程编码对应请求指令的相关流程,每个流程中可以包含多个操作过程,这多个操作流程可以通过调取多个微服务,获得调取多个微服务返回的数据来实现。根据流程编码能够获取与流程编码相关联的微服务信息,根据微服务信息可以调取实现该流程编码对应流程的多个微服务。流程即为实现请求指令要获取的响应数据的流程。

根据流程编码还能够对流程编码相关联的微服务进行调整包括:对流程编码相关联的微服务进行上下线管理。根据流程编码能够获取调取多个微服务的api调用链,根据api调用链能够获取微服务的调用次序,从而在组装过程快速找到调取的api,对api进行上下线操作。对流程编码相关联的微服务进行调整,能够实现对根据请求指令能够调取的微服务进行调整,达到对流程编码所对应的流程步骤进行优化的目的。

步骤660:把调取多个微服务返回的数据按照前端需要的格式进行组装,生成针对请求指令的响应数据。

在本公开提供的一种或多种实施例中,把调取多个微服务返回的数据按照前端需要的格式进行组装,生成针对上述请求指令的响应数据。解码调取多个微服务返回的数据;按照目标编码格式和目标编码参数,对解码后的数据进行编码;对编码后的码流按照前端需要的格式进行组装打包,生成针对请求指令的响应数据。对编码后的码流按照前端需要的格式和已设定的目标组装参数进行组装打包,生成响应数据。目标编码格式、目标编码参数和目标组装参数均根据前端需要设置。

步骤670:将响应数据传输到所述前端。

在本公开提供的一种或多种实施例中,对把调取多个微服务返回的数据按照前端需要的格式进行组装,生成针对请求指令的响应数据后,将响应数据传输到前端。前端接收按照前端需要的格式生成的响应数据后,可直接根据响应数据渲染生成前端应用,前端也可以对接收到的响应数据进行简单编解码处理后,根据响应数据渲染生成前端应用。

步骤680:根据接收到针对指定流程编码所对应的微服务信息的修改指令,对指定流程编码所对应的微服务信息进行更新。

在本公开提供的一种或多种实施例中,根据响应数据的使用状况,可以生成针对指定流程编码所对应的微服务信息的修改指令。生成的修改指令包括针对指定流程编码所对应的微服务信息的修改指令。根据接收到针对指定流程编码所对应的微服务信息的修改指令,对指定流程编码所对应的微服务信息进行更新,从而能够根据对前端的应用进行优化。对指定流程编码所对应的微服务信息的更新包括:在流程编码对应的微服务信息中添加或删除一个或多个微服务的相关信息。

步骤690:获取根据所述响应数据生成的前端应用在所述前端的运行状态,并对所述前端应用在所述前端的运行状态进行显示。

在本公开提供的一种或多种实施例中,前端根据响应数据能够生成前端应用。对根据响应数据生成的前端应用在前端的运作状态进行监控,获取前端应用在前端的运作状态。前端应用在前端的运行状态包括:前端应用在前端的运行时长、当前状态和最后运行时间中的一种或多种。对前端应用在前端的运行状态进行显示包括:对前端应用在前端的运行时长、当前状态和最后运行时间中的一种或多种进行动态显示。

前端应用在前端的运行时长包括:前端应用在前端的总运行时长;对于响应数据的每次调用,根据该次调用生成的前端应用在前端的单次运行时长;对于响应数据的每次调用,根据该次调用生成的前端应用在前端的单次运行的开始时间等。动态显示根据响应数据生成的前端应用在前端的总运行时长;对于响应数据的每次调用,根据该次调用生成的前端应用在前端的单次运行时长等前端应用在前端的运行时长;对于响应数据的每次调用,根据该次调用生成的前端应用在前端的单次运行的开始时间等。

根据响应数据生成的前端应用在前端的运行状态包括上线和下线。上线是指根据该响应数据生成的前端应用正在前端运行,此时对前端应用在前端的运行状态动态显示为:上线。下线是指没有根据该响应数据生成的前端应用正在前端运行,此时对根据该响应数据生成的前端应用在前端的运行状态动态显示为:下线。

前端应用在前端的最后运行时间是指,前端最近一次调用响应数据时,并根据该次调用生成的前端应用在前端最近一次运行的开始时间,如该次调用生成的前端应用在前端最近一次运行的开始时间为:2017/12/1212:31:12,则动态显示该最后运行时间:2017/12/1212:31:12。

本公开一实施例还提供一种微服务的调用方法,如图6所示,包括步骤710至步骤750。

步骤710:接收前端发送的请求指令。

步骤720:根据请求指令,获取与请求指令相关联的调取脚本。

在本公开提供的一种或多种实施例中,根据请求指令能够获取与请求指令相关联的流程编码,获取流程编码后,查询数据库,解析出与流程编码相关联的调取脚本。也可以根据设置,利用请求指令直接查询数据库,解析出与流程编码相关联的调取脚本。

步骤730:利用调取脚本,调取与请求指令对应的多个微服务。

在本公开提供的一种或多种实施例中,根据流程编码能够获取针对所述各个流程编码的微服务信息。利用调取脚本及微服务信息,可以编辑调取多个微服务的流程逻辑,调取与请求指令对应的多个微服务。微服务信息包括要调取的多个微服务的api编码。

步骤740:调取脚本包括可动态解析脚本,利用可动态解析脚本,把调取多个微服务返回的数据进行组装,生成针对请求指令的响应数据。

在本公开提供的一种或多种实施例中,调取脚本包括可动态解析脚本,可动态解析脚本包括可进行动态编辑以实现对微服务进行动态调取及组装的脚本。groovy脚本为可动态解析脚本的一种,利用groovy动态语言的特性进行动态编辑,通过groovy语言编写调取微服务、并对调取多个微服务返回的数据进行组装的逻辑,可实现对多个微服务的快速调取和对调取多个微服务返回的数据的快速组装。

步骤750:将响应数据传输到所述前端。

在本公开提供的一种或多种实施例中,将响应数据传输到前端。前端接收到响应数据之后,可以直接根据响应数据,生成前端应用;也可以对接收到的响应数据进行简单的处理,然后直接根据响应数据渲染生成前端应用。

本发明一实施例还提供一种微服务的调用方法,如图7所示,包括步骤810至步骤840。

步骤810:接收前端发送的请求指令。

步骤820:各个微服务对应有应用程序编程接口api;根据请求指令确定要调取的多个微服务,调取多个微服务中的每个微服务对应的api。

在本公开提供的一种或多种实施例中,各个微服务对应有应用程序编程接口api;接收前端发送的请求指令,根据请求指令确定要调取的多个微服务,调取要调取的微服务中的每个微服务对应的api。生成前端应用的程序通常可拆分为多个生成微服务的程序进行储存,并为每个生成微服务的程序设定对应的api。在根据请求指令生成响应数据过程中,可通过调取每个微服务对应的api,调取微服务。对多个api的调取可以同步也可以异步进行。

步骤830:将调取多个api返回的数据进行组装,生成针对请求指令的响应数据。

在本公开提供的一种或多种实施例中,如对多个api的调取为异步调取,则可以在将调取多个api返回的数据进行拼接过程中,按照api的调取顺序对调取api返回的数据进行依次处理,生成响应数据。

步骤840:将响应数据传输到所述前端。

将响应数据传输到前端,前端将根据响应数据渲染生成前端应用。

本发明一实施例还提供一种微服务的调用方法,如图8所示,包括步骤910至步骤940。

步骤910:接收前端发送的请求指令。

步骤920:根据所述请求指令调取多个微服务。

步骤930:将调取多个微服务返回的数据按照多个微服务的调用顺序进行组装,生成针对请求指令的响应数据。

步骤940:将响应数据传输到所述前端。

在本公开提供的一种或多种实施例中,接收前端发送的请求指令后,根据请求指令,可以基于同步调取或异步调取的方式调取多个微服务。

可以在调取多个微服务之前,编辑生成微服务的调用逻辑。利用调取逻辑同步调取多个微服务,再将调取多个微服务返回的数据按照前端需要的进行快速组装,生成针对请求指令的响应数据。

也可以根据请求指令,异步调取多个微服务,再将调取多个微服务返回的数据按照多个微服务的调用顺序进行组装生成针对请求指令的响应数据。采用该方式,可以边调取微服务,边对调取的微服务进行组装,从而根据微服务的调用及组装情况,及时发现并处理出现问题的微服务。

将响应数据传输到前端,由前端根据响应数据渲染生成展示页面。

上述方法中,不需要多次发送请求指令,以调取多个微服务,再将调取多个微服务返回的数据分别发送给前端,由前端对返回的数据进行组装,减少了请求指令和微服务的发送次数,及在前端对返回的数据进行组装的逻辑代码生成量,降低了对网络及支持网络的硬件设备的消耗,加快了前端应用的生成速度。

本公开一实施例还提供一种微服务的调用装置,如图9所示,包括:

配置模块1010,用于根据接收到的编辑指令,配置至少一个流程编码以及针对各个流程编码的微服务信息。

存储模块1020,用于将至少一个流程编码与针对各个流程编码的微服务信息进行对应存储。

接收模块1030,用于接收前端发送的请求指令。

调取模块1040,用于根据请求指令调取多个微服务。

组装模块1050,用于把调取多个微服务返回的数据进行组装,生成针对请求指令的响应数据。

传输模块1060,用于将响应数据传输到所述前端。

更新模块1070,用于根据接收到针对指定流程编码所对应的微服务信息的修改指令,对指定流程编码所对应的微服务信息进行更新。

显示模块1080,用于获取根据所述响应数据生成的前端应用在所述前端的运行状态,并对所述前端应用在所述前端的运行状态进行显示。

配置模块1010根据接收到的编辑指令,配置至少一个流程编码以及针对各个流程编码的微服务信息。微服务信息包括要调取的多个微服务的api编码。存储模块1020将至少一个流程编码与针对各个流程编码的微服务信息进行对应存储。从而根据前端需要的新应用配置对应的流程编码及与流程编码相关联的服务信息,并将新配置的流程编码发送给前端。前端在生成该新应用时,会先生成调取微服务的请求指令,并将新配置的流程编码加载在该请求指令中。接收模块1030接收前端发送的请求指令后,调取模块1040解析请求指令,能够获取该新配置的流程编码。

接收模块1030接收前端发送的请求指令。其中,这里的前端包括前端交互平台,前端交互平台用于处理与用户的交互信息,包括接收用户的指令,并根据用户的指令调取或生成用户需要前端应用等。

调取模块1040可以在调取多个微服务之前,编辑生成微服务的调用逻辑。利用调取逻辑同步调取多个微服务,再由组装模块1050将调取多个微服务返回的数据按照前端需要的进行快速组装,生成针对请求指令的响应数据。

在本公开提供的一种或多种实施例中,调取模块1040可以根据请求指令,可以基于同步调取或异步调取的方式调取多个微服务。调取模块1040也可以根据请求指令,异步调取多个微服务,再由组装模块1050将调取多个微服务返回的数据按照多个微服务的调用顺序进行组装,生成针对请求指令的响应数据。

在本公开提供的一种或多种实施例中,调取模块1040还可以包括获取子模块1041和第二调取子模块1042。

调取子模块1041,用于根据请求指令,获取与请求指令相关联的调取脚本。调取子模块1041接收到前端发送的请求指令后,根据请求指令获取与请求指令相关联的流程编码,调取子模块1041解析请求指令可以获取流程编码。这里的流程编码包括与请求指令对应的流程的id,通过获取流程编码能够获取生成与请求指令对应的响应数据需要的微服务信息。调取子模块1041获取流程编码后,查询数据库,解析出与流程编码相关联的调取脚本。调取子模块1041将调取脚本发送给第二调取子模块1042。第二调取子模块1042利用调取脚本及已获取的微服务信息,调取与请求指令对应的多个微服务。

调取脚本包括可动态解析脚本,可动态解析脚本为可进行动态编辑以实现对微服务进行动态调取及组装的脚本,利用可动态解析脚本可以在调取多个微服务之前,编辑调取多个微服务及对调取多个微服务进行组装的逻辑,从而形成第二调取子模块1042和组装模块1050。第二调取子模块1042利用可动态解析脚本中的调取逻辑一次调取多个微服务,然后由组装模块1030根据利用可动态解析脚本根据已设定的目标组装格式和目标组装参数,对调取多个微服务返回的数据进行动态组装,生成针对请求指令的响应数据,缩短生成响应数据的时间。groovy脚本为可动态解析脚本的一种。

已设定的目标组装格式包括前端需要的格式。组装模块1050利用groovy脚本中将已调取的微服务返回的数据按照前端需要的格式进行动态组装,生成响应数据,将响应数据发送到前端后,可由前端直接渲染生成前端应用。

传输模块1060将响应数据传输到前端。传输模块1060将可动态解析脚本动态生成的响应数据实时传输到前端。前端接收到响应数据之后,可以直接根据响应数据渲染生成前端应用,也可以对接收到的响应数据进行简单的解析,然后生成前端应用。

更新模块1070,根据接收到针对指定流程编码所对应的微服务信息的修改指令,对指定流程编码所对应的微服务信息进行更新。对根据响应数据生成的前端应用进行评估,能够生成针对指定流程编码所对应的微服务信息的修改指令。更新模块1070将根据接收到针对指定流程编码所对应的微服务信息的修改指令,对指定流程编码所对应的微服务信息进行更新,更新包括:从流程编码所对应的微服务信息中删除或添加一个或多个微服务的api编码。

在本公开提供的一种或多种实施例中,还包括显示模块1080。显示模块1080,用于获取根据所述响应数据生成的前端应用在所述前端的运行状态,并对所述前端应用在所述前端的运行状态进行显示。

前端根据响应数据能够生成前端应用。显示模块1080对根据响应数据生成的前端应用在前端的运作状态进行监控,获取前端应用在前端的运作状态。显示模块1080能够显示的前端应用在前端的运行状态包括:前端应用在前端的运行时长、当前状态和最后运行时间中的一种或多种。显示模块1080对前端应用在前端的运行状态进行显示包括:对前端应用在前端的运行时长、当前状态和最后运行时间中的一种或多种进行动态显示。

前端应用在前端的运行时长包括:前端应用在前端的总运行时长;对于响应数据的每次调用,根据该次调用生成的前端应用在前端的单次运行时长;对于响应数据的每次调用,根据该次调用生成的前端应用在前端的单次运行的开始时间等。显示模块1080动态显示根据响应数据生成的前端应用在前端的总运行时长;对于响应数据的每次调用,根据该次调用生成的前端应用在前端的单次运行时长等前端应用在前端的运行时长;对于响应数据的每次调用,根据该次调用生成的前端应用在前端的单次运行的开始时间等。

根据响应数据生成的前端应用在前端的运行状态包括上线和下线。上线是指根据该响应数据生成的前端应用正在前端运行,此时显示模块1080对前端应用在前端的运行状态显示为:上线。下线是指没有根据该响应数据生成的前端应用正在前端运行,此时显示模块1080对根据该响应数据生成的前端应用在前端的运行状态显示为:下线。

前端应用在前端的最后运行时间是指:前端最近一次调用响应数据时,并根据该次调用生成的前端应用在前端最近一次运行的开始时间,如该次调用生成的前端应用在前端最近一次运行的开始时间为:2017/12/1212:31:12,则显示模块1080动态显示该最后运行时间:2017/12/1212:31:12。

本公开一实施例还提供一种微服务的调用装置,如图10所示,包括:接收模块1110,用于接收前端发送的请求指令;调取模块1120,用于根据请求指令调取多个微服务;组装模块1130,用于把调取多个微服务返回的数据按照前端需要的格式进行组装,生成针对请求指令的响应数据;传输模块1140,用于将响应数据传输到前端。调取模块1120包括解析子模块1121和第一调取子模块1122。

接收模块1110从前端接收的请求指令中,通常包含有与请求指令相关联的流程编码。解析子模块1121对加载请求指令的url进行解析,获得请求指令中附加的流程编码。

流程编码对应请求指令的相关处理流程,每个处理流程中可以包含多个操作过程,这多个操作过程可以通过利用第一调取子模块1122调取多个微服务,获得调取多个微服务返回的数据来实现,因此根据流程编码可以调取实现该流程编码对应流程的多个微服务,实现对流程编码对应流程的快速处理。

组装模块1130为了满足前端的应用,将调取微服务返回的数据进行编解码后,将调取多个微服务返回的数据按照前端需要的格式进行处理,生成响应数据。组装模块1130首先解码调取多个微服务返回的数据;再按照目标编码格式和目标编码参数,对解码后的数据进行编码;最后对编码后的码流按照前端需要的格式进行组装打包,生成针对请求指令的响应数据。也可以对编码后的码流按照前端需要的格式和已设定的目标组装参数进行组装打包,生成响应数据。

对调取多个微服务返回的数据按照要生成的前端应用的需要进行拼接,生成前端能够直接渲染展示的响应数据。

组装模块1130对调取多个微服务返回的数据按照前端需要的格式进行组装,生成针对请求指令的响应数据后,由传输模块1140将响应数据传输到前端。前端按照前端需要的格式生成的响应数据后,可直接根据响应数据渲染生成前端应用,前端也可以对接收到的响应数据进行简单编解码处理后,根据响应数据渲染生成前端应用。

本公开一实施例还提供一种微服务的调用装置,如图11所示,包括:接收模块1210,用于接收前端发送的请求指令。调取模块1220,用于各个微服务对应有应用程序编程接口api。根据请求指令确定要调取的多个微服务,调取多个微服务中的每个微服务对应的api。组装模块1230,用于将调取多个api返回的数据进行组装,生成针对请求指令的响应数据。传输模块1240,用于将响应数据传输到前端。接收模块1210接收前端的请求指令,将由调取模块1220根据请求指令调取多个微服务。

各个微服务对应有应用程序编程接口api;调取模块1220根据请求指令确定要调取的多个微服务,调取微服务中的每个微服务对应的api。生成前端应用的程序通常可拆分为多个微服务进行储存,在根据请求指令生成前端应用的过程中,需要对已存储的多个微服务对应的api进行调取,对多个api的调取可以同步也可以异步进行。

调取模块1220对多个api的异步调取包括对api进行调取以后,组装模块1230对调取api返回的数据进行组装,生成针对请求指令的响应数据。组装模块1230包括解码子模块、编码子模块和组装子模块。解码子模块解码调取多个微服务返回的数据;再由编码子模块按照目标编码格式和目标编码参数,对解码后的数据进行编码;最后组装子模块对编码后的码流按照前端需要的格式和已设定的目标组装参数进行组装打包,生成响应数据。

传输模块1240将响应数据传输到前端,由前端应用根据响应数据渲染生成前端应用。

上述装置,不需要将调取微服务返回的数据发送到前端再进行组装,降低了前端的代码处理量;减少了请求命令及数据发送的次数,进而降低了网络消耗,加快了信息处理速度;此外,还能够对调取的微服务进行有效监管和控制,提升互联网的处理性能。

本公开实施例的输入纠错方法可以由图12所示的微服务的调用终端13实现。下面参考图12来描述根据本公开实施例的微服务的调用终端13。图12显示的微服务的调用终端13仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图12所示,微服务的调用终端13以通用计算设备的形式表现。微服务的调用终端13的组件可以包括但不限于:上述至少一个处理单元51、上述至少一个存储单元52、连接不同系统组件(包括存储单元52和处理单元51)的总线53。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元51执行,使得所述处理单元51执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元51可以执行如图5中所示的各个步骤。

存储单元52可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)521和/或高速缓存存储单元522,还可以进一步包括只读存储单元(rom)523。

存储单元52还可以包括具有一组(至少一个)程序模块525的程序/实用工具524,这样的程序模块525包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线53可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

微服务的调用终端13也可以与一个或多个外部设备60(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该微服务的调用终端13交互的设备通信,和/或与使得该微服务的调用终端13能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口55进行。并且,微服务的调用终端13还可以通过网络适配器56与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器56通过总线53与微服务的调用终端13的其它模块通信。应当明白,尽管图中未示出,可以微服务的调用终端13使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。

在本公开的示例性实施例中,还提供了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。

根据本公开的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(rgm)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如jgvg、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(kgn)或广域网(wgn),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1