资源调度方法、系统及电子设备和存储介质与流程

文档序号:16735558发布日期:2019-01-28 12:36阅读:145来源:国知局
资源调度方法、系统及电子设备和存储介质与流程
本申请涉及区块链
技术领域
,更具体地说,涉及一种资源调度方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
:应用区块链技术的软件平台方案,可将业务功能封装在智能合约中,实现一些自动化的业务操作。但现有技术中的区块链平台中,当智能合约需要调用外部各种资源以完成一个工作时,则无法实现,使得现有技术中的区块链平台的适用性较低。因此,如何实现智能合约调用外部资源,进而提高区块链的适用性是本领域技术人员需要解决的问题。技术实现要素:本申请的目的在于提供一种资源调度方法、系统及一种电子设备和一种计算机可读存储介质,实现了智能合约调用外部资源,进而提高了区块链的适用性。为实现上述目的,本申请提供了一种资源调度方法,包括:接收到目标智能合约的执行请求时,获取所述目标智能合约的资源调度文件;根据所述资源调度文件确定所述目标智能合约执行时所需的目标资源的目标地址;从所述目标地址中下载所述目标资源,并利用所述目标资源执行所述目标智能合约。其中,所述资源调度文件包括资源信息列表;相应的,根据所述资源调度文件确定所述目标智能合约执行时所需的目标资源的目标地址,包括:根据所述资源信息列表中存储的资源与资源地址的对应关系确定所述目标智能合约执行时所需的目标资源的目标地址。其中,还包括:接收待更新资源的更新命令,并根据所述更新命令确定所述更新资源的资源地址;根据所述更新命令更新所述资源地址中的所述待更新资源。其中,所述接收到目标智能合约的执行请求时,获取所述目标智能合约的资源调度文件之前,还包括:根据所述目标智能合约的资源调度需求生成相应的资源调度文件。其中,利用所述目标资源执行所述目标智能合约之后,还包括:判断所述目标智能合约的执行结果是否发生异常;若是,则根据所述执行结果向管理终端发送告警信息。为实现上述目的,本申请提供了一种基于区块链资源调度系统,包括:获取模块,用于接收到目标智能合约的执行请求时,获取所述目标智能合约的资源调度文件;确定模块,用于根据所述资源调度文件确定所述目标智能合约执行时所需的目标资源的目标地址;下载模块,用于从所述目标地址中下载所述目标资源,并利用所述目标资源执行所述目标智能合约。其中,所述资源调度文件包括资源信息列表;相应的,所述确定模块具体为根据所述资源信息列表中存储的资源与资源地址的对应关系确定所述目标智能合约执行时所需的目标资源的目标地址的模块。其中,还包括:接收模块,用于接收待更新资源的更新命令,并根据所述更新命令确定所述更新资源的资源地址;更新模块,用于根据所述更新命令更新所述资源地址中的所述待更新资源。其中,还包括:生成模块,用于根据所述目标智能合约的资源调度需求生成相应的资源调度文件。其中,还包括:告警模块,用于判断所述目标智能合约的执行结果是否发生异常;若是,则根据所述执行结果向管理终端发送告警信息。为实现上述目的,本申请提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述资源调度方法的步骤。为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述资源调度方法的步骤。通过以上方案可知,本申请提供的一种资源调度方法,包括:接收到目标智能合约的执行请求时,获取所述目标智能合约的资源调度文件;根据所述资源调度文件确定所述目标智能合约执行时所需的目标资源的目标地址;从所述目标地址中下载所述目标资源,并利用所述目标资源执行所述目标智能合约。本申请提供的资源调度方法为每个智能合约设置资源调度文件,其中存储了该智能合约需要的资源的资源地址。当执行该智能合约需要使用外部资源时,可根据资源调度文件存储的资源地址下载资源以执行智能合约。由此可见,本申请提供的资源调度方法实现了智能合约调用外部资源,进而提高区块链的适用性。本申请还公开了一种基于区块链资源调度系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的一种资源调度方法的流程图;图2为本申请实施例公开的另一种资源调度方法的流程图;图3为本申请实施例公开的又一种资源调度方法的流程图;图4为本申请实施例公开的一种基于区块链资源调度系统的结构图;图5为本申请实施例公开的一种电子设备的结构图;图6为本申请实施例公开的另一种电子设备的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在现有技术中,区块链平台的智能合约执行时无法调用外部资源。因此,本申请为每个智能合约设置资源调度文件,其中存储了该智能合约需要的资源的资源地址。当执行该智能合约需要使用外部资源时,可根据资源调度文件存储的资源地址下载资源以执行智能合约。本申请涉及区块链技术,为了便于理解,下面将对在本申请实施例中的区块链(blockchain)进行简单的介绍,区块链是对接入服务器的所有区块链节点公开的分布式存储的数据结构,包含着若干的区块(block)。包含客户端的用户终端可以注册成为一个区块链节点,与接入区块链服务器的其他区块链节点组成p2p网络,区块链数据可以存放在p2p网络,p2p网络任何一个或多个区块链节点瘫痪,都不会导致区块链数据的丢失,这样区块链数据就具有很强的安全性,确保数据的永久保存和不可篡改。当一个区块持久化到区块链数据中时,接入服务器的区块链节点都可以添加该区块;区块是按照持久化时间顺序一个一个地添加到区块链数据中的,除了区块链数据中第一个区块外的每一个区块都要链接到其前一个区块,这样区块链数据就形成一个区块链接这一个区块了,就像一个链条一样,当一个区块被持久化到区块链数据后,该区块就无法被修改了。本申请实施例公开了一种资源调度方法,实现了智能合约调用外部资源,进而提高了区块链的适用性。参见图1,本申请实施例公开的一种资源调度方法的流程图,如图1所示,包括:s101:接收到目标智能合约的执行请求时,获取所述目标智能合约的资源调度文件;在具体实施中,每个需要使用外部资源的智能合约都存在其对应的资源调度文件,此处的外部资源包括但不限于图片、文本、表格等。资源调度文件中记录了存储该智能合约需要的外部资源的资源地址,各资源与其资源地址的对应的关系可以以表格的形式存储于资源调度文件中,也可以以其他方式进行存储,在此不作具体限定。当然,资源调度文件中还包括了调度外部资源必要的算法等。可以理解的是,在本步骤中,接收到目标智能合约的执行请求时,获取所述目标智能合约的资源调度文件之前,还包括根据所述目标智能合约的资源调度需求生成相应的资源调度文件的步骤。s102:根据所述资源调度文件确定所述目标智能合约执行时所需的目标资源的目标地址;在目标智能合约的执行过程中,区块链通过资源调度文件确定存储目标资源的目标地址,并从该目标地址中下载该目标资源,以执行目标智能合约。可以理解的是,当各资源与其地址的对应的关系存储于资源调度文件中的资源信息列表时,则根据该资源信息列表中存储的资源与资源地址的对应关系确定目标智能合约执行时所需的目标资源的目标地址。其中,所述目标资源的目标地址包括目标资源的网络地址或者目标资源的本地储存地址,本申请对此不作具体的限定。s103:从所述目标地址中下载所述目标资源,并利用所述目标资源执行所述目标智能合约。在具体实施中,重复s102和s103的步骤,以获取目标智能合约在执行时所需的全部资源,以完成目标智能合约的功能。本申请实施例提供的资源调度方法为每个智能合约设置资源调度文件,其中存储了该智能合约需要的资源的资源地址。当执行该智能合约需要使用外部资源时,可根据资源调度文件存储的资源地址下载资源以执行智能合约。由此可见,本申请实施例提供的资源调度方法实现了智能合约调用外部资源,进而提高区块链的适用性。可以理解的是,当资源需要更新修改时,只需将修改后的资源在相应的资源地址中更新即可,资源地址保持不变,具体的:参见图2,本申请实施例公开的另一种资源调度方法的流程图,如图2所示,包括:s201:接收待更新资源的更新命令,并根据所述更新命令确定所述更新资源的资源地址;s202:根据所述更新命令更新所述资源地址中的所述待更新资源。本实施例中的更新命令至少包括待更新资源的资源地址和更新之后的资源。当接收到更新命令时,只需确定其资源地址,并将该资源地址中的资源修改为更新之后的资源即可,不需要改变资源调度文件中的资源地址,不涉及区块链中存储的文件,不占用区块链的资源。在上述实施例的基础上,作为一种优选实施方式,如图3所示,在步骤s103之后,还包括:s301:判断所述目标智能合约的执行结果是否发生异常;若是,则进入s302;若是,则进入s303;s302:根据所述执行结果向管理终端发送告警信息;s303:将所述执行结果上链存储。在具体实施中,当目标智能合约在调度资源时发生错误,例如无法获取资源、获取资源在使用时发生异常等,可以将执行结果发送至管理终端进行告警,此处不对具体的告警方式进行限定,可以采用邮件等方式。异常的执行在区块链下记录,而正常的执行结果则上链存储。下面介绍本申请提供的资源调度方法的一种应用实施例,具体的,智能合约a执行的功能为拼接终端的操作页面,其需要的资源为:背景图、按钮图标、文字信息和按钮点击后跳转的网页。该智能合约a对应的资源调度文件中资源信息列表的内容如下:表1资源资源地址背景图100按钮图标a101按钮图标b102文字信息a103文字信息b104网页a105网页b106智能合约a在执行的过程中依次调用上述资源地址中的各类资源完成终端操作页面的拼接功能。当需要更新按钮a点击的跳转的网页a时,只需要更新资源地址105中的内容即可。下面对本申请实施例提供的一种基于区块链资源调度系统进行介绍,下文描述的一种基于区块链资源调度系统与上文描述的一种资源调度方法可以相互参照。参见图4,本申请实施例提供的一种基于区块链资源调度系统的结构图,如图4所示,包括:获取模块401,用于接收到目标智能合约的执行请求时,获取所述目标智能合约的资源调度文件;确定模块402,用于根据所述资源调度文件确定所述目标智能合约执行时所需的目标资源的目标地址;下载模块403,用于从所述目标地址中下载所述目标资源,并利用所述目标资源执行所述目标智能合约。本申请实施例提供的资源调度系统为每个智能合约设置资源调度文件,其中存储了该智能合约需要的资源的资源地址。当执行该智能合约需要使用外部资源时,可根据资源调度文件存储的资源地址下载资源以执行智能合约。由此可见,本申请实施例提供的资源调度系统实现了智能合约调用外部资源,进而提高区块链的适用性。在上述实施例的基础上,作为一种优选实施方式,所述资源调度文件包括资源信息列表;相应的,所述确定模块具体为根据所述资源信息列表中存储的资源与资源地址的对应关系确定所述目标智能合约执行时所需的目标资源的目标地址的模块。在上述实施例的基础上,作为一种优选实施方式,还包括:接收模块,用于接收待更新资源的更新命令,并根据所述更新命令确定所述更新资源的资源地址;更新模块,用于根据所述更新命令更新所述资源地址中的所述待更新资源。在上述实施例的基础上,作为一种优选实施方式,还包括:生成模块,用于根据所述目标智能合约的资源调度需求生成相应的资源调度文件。在上述实施例的基础上,作为一种优选实施方式,还包括:告警模块,用于判断所述目标智能合约的执行结果是否发生异常;若是,则根据所述执行结果向管理终端发送告警信息。本申请还提供了一种电子设备,参见图5,本申请实施例提供的一种电子设备的结构图,如图5所示,包括:存储器100,用于存储计算机程序;处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现以下步骤:接收到目标智能合约的执行请求时,获取所述目标智能合约的资源调度文件;根据所述资源调度文件确定所述目标智能合约执行时所需的目标资源的目标地址;从所述目标地址中下载所述目标资源,并利用所述目标资源执行所述目标智能合约。本申请实施例为每个智能合约设置资源调度文件,其中存储了该智能合约需要的资源的资源地址。当执行该智能合约需要使用外部资源时,可根据资源调度文件存储的资源地址下载资源以执行智能合约。由此可见,本申请实施例实现了智能合约调用外部资源,进而提高区块链的适用性。优选的,所述处理器200执行所述存储器100中保存的计算机子程序时,可以实现以下步骤:根据所述资源信息列表中存储的资源与资源地址的对应关系确定所述目标智能合约执行时所需的目标资源的目标地址。优选的,所述处理器200执行所述存储器100中保存的计算机子程序时,可以实现以下步骤:接收待更新资源的更新命令,并根据所述更新命令确定所述更新资源的资源地址;根据所述更新命令更新所述资源地址中的所述待更新资源。优选的,所述处理器200执行所述存储器100中保存的计算机子程序时,可以实现以下步骤:根据所述目标智能合约的资源调度需求生成相应的资源调度文件。优选的,所述处理器200执行所述存储器100中保存的计算机子程序时,可以实现以下步骤:判断所述目标智能合约的执行结果是否发生异常;若是,则根据所述执行结果向管理终端发送告警信息。在上述实施例的基础上,作为优选实施方式,参见图6,所述电子设备还包括:输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。显示单元400,与处理器200相连,用于显示处理器200发送的数据。该显示单元400可以为pc机上的显示屏、液晶显示屏或者电子墨水显示屏等。具体的,在本实施例中,可以通过显示单元400显示智能合约的执行结果等。网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(mhl)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术等。具体的,在本实施例中,可以通过网络端口500向处理器200导入各智能合约的资源调度文件等。本申请还提供了一种计算机可读存储介质,该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收到目标智能合约的执行请求时,获取所述目标智能合约的资源调度文件;根据所述资源调度文件确定所述目标智能合约执行时所需的目标资源的目标地址;从所述目标地址中下载所述目标资源,并利用所述目标资源执行所述目标智能合约。本申请实施例为每个智能合约设置资源调度文件,其中存储了该智能合约需要的资源的资源地址。当执行该智能合约需要使用外部资源时,可根据资源调度文件存储的资源地址下载资源以执行智能合约。由此可见,本申请实施例实现了智能合约调用外部资源,进而提高区块链的适用性。优选的,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:根据所述资源信息列表中存储的资源与资源地址的对应关系确定所述目标智能合约执行时所需的目标资源的目标地址。优选的,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:接收待更新资源的更新命令,并根据所述更新命令确定所述更新资源的资源地址;根据所述更新命令更新所述资源地址中的所述待更新资源。优选的,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:根据所述目标智能合约的资源调度需求生成相应的资源调度文件。优选的,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:判断所述目标智能合约的执行结果是否发生异常;若是,则根据所述执行结果向管理终端发送告警信息。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1