资源请求反馈方法、装置、可读存储介质及电子设备
技术领域
本公开涉及计算机
技术领域
,尤其是一种资源请求反馈方法、装置、计算机可读存储介质及电子设备。背景技术
在浏览器页面请求的业务中,前端页面在需要向后端发送大量的请求来获取页面需要的数据。如果拿不到这些数据,页面上的一些区块就无法完成渲染,因此,获取数据的速度决定了页面渲染的速度。在浏览器中,为了加速请求过程,现有技术中把这些请求合并,一次性发给服务端,服务端将请求的多个文件合并为一个文件返回给浏览器。例如,现有Combo技术通过开源的Nginx插件nginx_concat_module,实现通过一个请求将多个文件合并为一个文件返回,以减少请求数量,提高性能。
发明内容
本公开的实施例提供了一种资源请求反馈方法、装置、计算机可读存储介质及电子设备。
本公开的实施例提供了一种资源请求反馈方法,该方法包括:获取包括至少一个物料资源标识的物料资源请求信息;获取至少一个物料资源标识分别对应的请求物料资源和资源依赖关系信息;基于资源依赖关系信息,获取至少一个物料资源标识分别对应的依赖物料资源;将获取的至少一个请求物料资源和至少一个依赖物料资源合并,得到待发送物料资源集合;将待发送物料资源集合发送至资源请求端。
在一些实施例中,将获取的至少一个请求物料资源和至少一个依赖物料资源合并,得到待发送物料资源集合,包括:对获取的各个请求物料资源和依赖物料资源进行去重处理;将去重处理后的请求物料资源和依赖物料资源合并为待发送物料资源集合。
在一些实施例中,将待发送物料资源集合发送至资源请求端,包括:基于资源依赖关系信息,确定待发送物料资源集合中的待发送物料资源的排列顺序;基于排列顺序,将待发送物料资源集合发送至资源请求端。
在一些实施例中,在将获取的至少一个请求物料资源和至少一个依赖物料资源合并,得到待发送物料资源集合之后,方法还包括:将物料资源请求信息和待发送物料资源集合关联存储至预设存储区。
在一些实施例中,在获取包括至少一个物料资源标识的物料资源请求信息之前,方法还包括:接收包括至少一个物料资源标识的初始物料资源请求信息;确定预设存储区中是否包括预先缓存的初始物料资源请求信息对应的物料资源集合;如果不包括,确定初始物料资源请求信息的参数是否合法;如果合法,确定初始物料资源请求信息为物料资源请求信息。
在一些实施例中,在确定预设存储区中是否包括预先缓存的初始物料资源请求信息对应的物料资源集合之后,方法还包括:如果包括,将物料资源集合发送至资源请求端。
根据本公开实施例的另一个方面,提供了一种资源请求装置,该装置包括:第一获取模块,用于获取包括至少一个物料资源标识的物料资源请求信息;第二获取模块,用于获取至少一个物料资源标识分别对应的请求物料资源和资源依赖关系信息;第三获取模块,用于基于资源依赖关系信息,获取至少一个物料资源标识分别对应的依赖物料资源;合并模块,用于将获取的至少一个请求物料资源和至少一个依赖物料资源合并,得到待发送物料资源集合;第一发送模块,用于将待发送物料资源集合发送至资源请求端。
在一些实施例中,合并模块包括:去重单元,用于对获取的各个请求物料资源和依赖物料资源进行去重处理;合并单元,用于将去重处理后的请求物料资源和依赖物料资源合并为待发送物料资源集合。
在一些实施例中,第一发送模块包括:确定单元,用于基于资源依赖关系信息,确定待发送物料资源集合中的待发送物料资源的排列顺序;发送单元,用于基于排列顺序,将待发送物料资源集合发送至资源请求端。
在一些实施例中,该装置还包括:存储模块,用于将物料资源请求信息和待发送物料资源集合关联存储至预设存储区。
在一些实施例中,该装置还包括:接收模块,用于接收包括至少一个物料资源标识的初始物料资源请求信息;第一确定模块,用于确定预设存储区中是否包括预先缓存的初始物料资源请求信息对应的物料资源集合;第二确定模块,用于如果不包括,确定初始物料资源请求信息的参数是否合法;第三确定模块,用于如果合法,确定初始物料资源请求信息为物料资源请求信息。
在一些实施例中,该装置还包括:第二发送模块,用于如果包括预先缓存的初始物料资源请求信息对应的物料资源集合,将物料资源集合发送至资源请求端。
根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序用于执行上述资源请求反馈方法。
根据本公开实施例的另一个方面,提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述资源请求反馈方法。
基于本公开上述实施例提供的资源请求反馈方法、装置、计算机可读存储介质及电子设备,通过接收一个物料资源请求,获取至少一个请求物料资源,并根据资源依赖关系信息获取至少一个依赖物料资源,再将至少一个请求物料资源和至少一个依赖物料资源合并,得到待发送物料资源集合,最后将待发送物料资源集合发送至资源请求端,从而实现了一次性地按业务需求合并多个请求的物料资源和依赖资源,提高了资源请求的灵活性和效率,由于资源依赖关系信息可以灵活地配置,进而可以实现更灵活、可自定义、可自扩展的资源请求方案。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开所适用的系统图。
图2是本公开一示例性实施例提供的资源请求反馈方法的流程示意图。
图3是本公开另一示例性实施例提供的资源请求反馈方法的流程示意图。
图4是本公开另一示例性实施例提供的资源请求反馈方法的流程示意图。
图5是本公开的实施例的资源请求反馈方法的一个应用场景的示意图。
图6是本公开一示例性实施例提供的资源请求装置的结构示意图。
图7是本公开另一示例性实施例提供的资源请求装置的结构示意图。
图8是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
现有技术的缺点在于依赖Nginx插件体系及Nginx配置,而且只能简单地将请求的多个资源进行下载合并。对于存在依赖关系的文件资源则束手无策,且无法满足去重、按需加载文件的依赖等需求,其虽然可以解决请求多个资源时的请求次数过多的问题,但其业务请求需加载文件资源包过大,分包后需要加载的文件过多,且无法按需加载存在依赖关系的文件,导致加载性能低。
示例性系统
图1示出了可以应用本公开的实施例的资源请求反馈方法或资源请求装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101,网络102和服务器103。网络102用于在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如搜索类应用、网页浏览器应用、购物类应用、即时通信工具等。
终端设备101可以是各种电子设备,包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
服务器103可以是提供各种服务的服务器,例如对终端设备101发送的物料资源请求信息进行分析的后台资源服务器。后台资源服务器可以基于接收到的物料资源服务器得到待发送物料资源集合,并将待发送物料资源集合发送至资源请求端(例如终端设备101)。
需要说明的是,本公开的实施例所提供的资源请求反馈方法可以由服务器103执行,也可以由终端设备101执行,相应地,资源请求装置可以设置于服务器103中,也可以设置在终端设备101中。服务器103可以是由一台服务器组成,也可以是由多台服务器组成的服务器集群。当服务器103为由多台服务器组成的服务器集群时,服务器集群中的服务器可以配置为不同的功能,互相配合执行上述资源请求反馈方法或设置上述资源请求装置。例如,服务器集群可以包括用于分发请求的CDN(内容分发网络,Content Delivery Network)服务器,以及设置有Combo实例进行提取物料资源、处理依赖物料资源及发送物料资源的服务器。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
示例性方法
图2是本公开一示例性实施例提供的资源请求反馈方法的流程示意图。本实施例可应用在电子设备(如图1所示的服务器103)上,如图2所示,该方法包括如下步骤:
步骤201,获取包括至少一个物料资源标识的物料资源请求信息。
在本实施例中,电子设备可以获取包括至少一个物料资源标识的物料资源请求信息。其中,物料资源请求信息可以是用于请求各种物料资源的信息。
作为示例,物料资源请求信息可以为URL(统一资源定位器,Uniform ResourceLocator)地址“/api/package/${id}/${version}/index.js?I=page,button,table,form&e=CommonDef ault”。其中包括参数“I=page,button,table,form&e=CommonDefault”,该参数中的page,button,table,form为四个物料资源标识,分别对应于一种类型为组件的物料资源。
步骤202,获取至少一个物料资源标识分别对应的请求物料资源和资源依赖关系信息。
在本实施例中,电子设备可以从本地或从远程获取至少一个物料资源标识分别对应的请求物料资源和资源依赖关系信息。其中,请求物料资源即用户端(如图1所示的终端设备101)通过上述物料资源请求信息请求的物料资源。资源依赖关系信息用于表征对应的物料资源所依赖的物料资源。例如某个请求物料资源为page(网页)组件,其对应的资源依赖关系信息可以为列表等形式,其包括形成page组件所依赖的其他组件(例如button(按钮)组件、remark(评论)组件等)的名称。
通常,电子设备可以根据上述至少一个物料资源标识,在数据存储区(可以在本地,也可以在远程)中查找资源详细信息,资源详细信息可以包括资源依赖关系表(即资源依赖关系信息),还可以包括资源下载地址、资源基本描述信息等。
步骤203,基于资源依赖关系信息,获取至少一个物料资源标识分别对应的依赖物料资源。
在本实施例中,电子设备可以基于资源依赖关系信息,从本地或从远程获取至少一个物料资源标识分别对应的依赖物料资源。作为示例,假设请求资物料资源分别为A、C、E,根据资源依赖关系信息确定A资源依赖了B资源和D资源,C资源依赖了D资源,E资源无依赖,则获取的依赖物料资源包括B资源和D资源。
步骤204,将获取的至少一个请求物料资源和至少一个依赖物料资源合并,得到待发送物料资源集合。
在本实施例中,电子设备可以将获取的至少一个请求物料资源和至少一个依赖物料资源合并,得到待发送物料资源集合。
具体地,电子设备可以将每个请求物料资源及其对应的各个依赖物料资源直接合并,得到待发送物料资源集合。
在一些可选的实现方式中,步骤204可以如下执行:
首先,对获取的各个请求物料资源和依赖物料资源进行去重处理。
具体地,若不同的请求物料资源对应于相同的依赖物料资源,则保留获取到的多个相同的依赖物料资源的一个。
然后,将去重处理后的请求物料资源和依赖物料资源合并为待发送物料资源集合。
通过去重处理,可以使得到的待发送物料资源集合的数据量更小,从而有助于减少发送物料资源的时间。
步骤205,将待发送物料资源集合发送至资源请求端。
在本实施例中,电子设备可以将待发送物料资源集合发送至资源请求端。其中,资源请求端可以是如图1所示的终端设备101。作为示例,当待发送物料资源集合中的物料资源为展示网页所需的组件时,资源请求端接收到组件集合后,资源请求端上安装的浏览器可以将接收的组件集合展示在网页中。通常,电子设备可以将待发送物料资源集合按照一个数据流的方式,将各个物料资源依次发送至资源请求端,且发送的顺序可以按需求设定。例如,可以按资源请求端请求各物料资源的顺序依次发送。
本公开的上述实施例提供的方法,通过接收一个物料资源请求,获取至少一个请求物料资源,并根据资源依赖关系信息获取至少一个依赖物料资源,再将至少一个请求物料资源和至少一个依赖物料资源合并,得到待发送物料资源集合,最后将待发送物料资源集合发送至资源请求端,从而实现了一次性地按业务需求合并多个请求的物料资源和依赖资源,提高了资源请求的灵活性和效率,由于资源依赖关系信息可以灵活地配置,进而可以实现更灵活、可自定义、可自扩展的资源请求方案。
在一些可选的实现方式中,如图3所示,步骤205包括如下子步骤:
步骤2051,基于资源依赖关系信息,确定待发送物料资源集合中的待发送物料资源的排列顺序。
通常,对于某个依赖物料资源,可以根据该依赖物料资源被其他物料资源依赖的次数确定该依赖物料资源的依赖权重,依赖权重越高,则排列次序越靠前,其越先被发送。例如,假设请求资物料资源分别为A、C、E,根据资源依赖关系信息确定A资源依赖了B资源和D资源,C资源依赖了D资源,E资源无依赖。则各个物料资源的排列顺序可以为D、B、A、C、E,其中,D被A和C依赖两次,其依赖权重最高,B的依赖权重次之,A、C、E按物料资源请求信息中的顺序排序。
步骤2052,基于排列顺序,将待发送物料资源集合发送至资源请求端。
继续上述示例,按照D、B、A、C、E的顺序,依次将各个物料资源发送至资源请求端。
图3所示实施例,通过基于各物料资源的依赖关系确定发送的顺序,可以使资源请求端优先接收被依赖的权重较高的物料资源,资源请求端根据接收的物料资源的顺序,可以更高效地将请求的物料资源加载到诸如浏览器等应用,减少无序发送各物料资源导致的加载时等待依赖物料资源耗费的时间,从而提高了资源请求的效率。
在一些可选的实现方式中,在步骤204之后,电子设备还可以执行如下步骤:
将物料资源请求信息和待发送物料资源集合关联存储至预设存储区。其中,预设存储区可以设置在上述电子设备本地或与上述电子设备通信连接的其他电子设备。作为示例,预设存储区可以设置在CDN服务器上的缓存,当后续再次接收到该物料资源请求信息时,可以直接从缓存中提取对应的待发送物料资源集合,并将待发送物料资源集合发送至资源请求端。
本实现方式通过将物料资源请求信息和待发送物料资源集合关联存储,可以便于在后续再次请求同样的待发送物料资源集合时,无需再次进行依赖资源分析、物料资源合并等操作,直接提取缓存的待发送物料资源集合即可,从而有助于进一步提高资源请求的效率。
在一些可选的实现方式中,如图4所示,在步骤201之前,该方法还可以包括如下步骤:
步骤401,接收包括至少一个物料资源标识的初始物料资源请求信息。
其中,初始物料资源请求信息可以是资源请求端(如图1所示的终端设备101)发送的。作为示例,用户利用资源请求端上的浏览器向上述电子设备发送用于请求网页上的组件的初始物料资源请求信息。
步骤402,确定预设存储区中是否包括预先缓存的初始物料资源请求信息对应的物料资源集合。
其中,预设存储区可以设置在上述电子设备本地或与上述电子设备通信连接的其他电子设备。作为示例,预设存储区可以设置在CDN服务器上的缓存。
步骤403,如果不包括,确定初始物料资源请求信息的参数是否合法。
其中,确定初始物料资源请求信息的参数是否合法的方法可以包括多种。例如,当初始物料资源请求信息的参数中的多个物料资源标识中包括至少一个可查询到的物料资源标识,则确定初始物料资源请求信息的参数合法。再例如,当初始物料资源请求信息请求的多个物料资源包括已过期的物料资源时,确定初始物料资源请求信息的参数不合法。
在一些可选的实现方式中,如果确定预设存储区中包括初始物料资源请求信息对应的物料资源集合,将物料资源集合发送至资源请求端。通过在预设存储区存在预先缓存的物料资源集合的情况下,直接将物料资源集合发送至资源请求端,可以在后续请求同样的物料资源时,无需再次进行依赖资源分析、物料资源合并等操作,直接提取缓存的物料资源集合即可,进一步提高了资源请求的效率。
步骤404,如果合法,确定初始物料资源请求信息为物料资源请求信息。
本步骤确定的物料资源请求信息,即上述图2对应实施例中描述的物料资源请求信息。
可选的,若初始物料资源请求信息的参数不合法,电子设备可以向资源请求端返回一个表示参数不合法的提示信息。
图4对应实施例提供的方法,在预设存储区中不包括预先缓存的初始物料资源请求信息对应的物料资源集合,且判断初始物料资源请求信息的参数合法的情况下,基于初始物料资源请求信息执行该资源请求反馈方法,从而有效地对资源请求端发送的初始物料资源请求信息进行过滤,避免电子设备对非法的物料资源请求信息进行处理造成的处理错误以及耗费的计算资源。
参见图5,图5是根据本实施例的资源请求反馈方法的一个应用场景的示意图。在图5中,终端设备501首先发送URL(即物料资源请求信息)至CDN服务器502。然后,CDN服务器502会判断这个URL请求的资源是否存在缓存,如果存在则直接响应请求,将缓存的物料资源集合返回到终端设备501;如果不存在则进入负载均衡,负载分发这个请求到指定的回源服务实例(即Combo服务实例503)上。Combo服务实例503判断URL请求的参数是否合法,若不合法,向终端设备501返回一个表示参数不合法的提示信息;若合法,通过资源依赖关系表获取依赖物料资源,接着判断请求物料资源和依赖物料资源是否包括重复依赖的资源,若是,对获取的各个请求物料资源和依赖物料资源进行去重处理,得到待发送物料资源集合,若否,直接得到待发送物料资源。最后,按照依赖资源的依赖权重对待发送物料资源集合进行排序,并基于该排序向终端设备501发送待发送物料资源集合
示例性装置
图6是本公开一示例性实施例提供的资源请求装置的结构示意图。本实施例可应用在电子设备上,如图6所示,资源请求装置包括:第一获取模块601,用于获取包括至少一个物料资源标识的物料资源请求信息;第二获取模块602,用于获取至少一个物料资源标识分别对应的请求物料资源和资源依赖关系信息;第三获取模块603,用于基于资源依赖关系信息,获取至少一个物料资源标识分别对应的依赖物料资源;合并模块604,用于将获取的至少一个请求物料资源和至少一个依赖物料资源合并,得到待发送物料资源集合;第一发送模块605,用于将待发送物料资源集合发送至资源请求端。
在本实施例中,第一获取模块601可以获取包括至少一个物料资源标识的物料资源请求信息。其中,物料资源请求信息可以是用于请求各种物料资源的信息。作为示例,物料资源请求信息可以为URL(统一资源定位器,Uniform Resource Locator)地址“/api/package/${id}/${version}/index.js?I=page,button,table,form&e=CommonDefault”。其中包括参数“I=page,button,table,form&e=CommonDefault”,该参数中的page,button,table,form为四个物料资源标识,分别对应于一种类型为组件的物料资源。
在本实施例中,第二获取模块602可以从本地或从远程获取至少一个物料资源标识分别对应的请求物料资源和资源依赖关系信息。其中,请求物料资源即用户端通过上述物料资源请求信息请求的物料资源。资源依赖关系信息用于表征对应的物料资源所依赖的物料资源。例如某个请求物料资源为page(网页)组件,其对应的资源依赖关系信息可以为列表等形式,其包括形成page组件所依赖的其他组件(例如button(按钮)组件、remark(评论)组件等)的名称。
通常,第二获取模块602可以根据上述至少一个物料资源标识,在数据存储区(可以在本地,也可以在远程)中查找资源详细信息,资源详细信息可以包括资源依赖关系表(即资源依赖关系信息),还可以包括资源下载地址、资源基本描述信息等。
在本实施例中,第三获取模块603可以基于资源依赖关系信息,从本地或从远程获取至少一个物料资源标识分别对应的依赖物料资源。作为示例,假设请求资物料资源分别为A、C、E,根据资源依赖关系信息确定A资源依赖了B资源和D资源,C资源依赖了D资源,E资源无依赖,则获取的依赖物料资源包括B资源和D资源。
在本实施例中,合并模块604可以将获取的至少一个请求物料资源和至少一个依赖物料资源合并,得到待发送物料资源集合。
具体地,合并模块604可以将每个请求物料资源及其对应的各个依赖物料资源直接合并,得到待发送物料资源集合。
在本实施例中,第一发送模块605可以将待发送物料资源集合发送至资源请求端。其中,资源请求端可以是如图1所示的终端设备101。作为示例,当待发送物料资源集合中的物料资源为展示网页所需的组件时,资源请求端接收到组件集合后,资源请求端上安装的浏览器可以将接收的组件集合展示在网页中。
参照图7,图7是本公开另一示例性实施例提供的资源请求装置的结构示意图。
在一些可选的实现方式中,合并模块604包括:去重单元6041,用于对获取的各个请求物料资源和依赖物料资源进行去重处理;合并单元6042,用于将去重处理后的请求物料资源和依赖物料资源合并为待发送物料资源集合。
在一些可选的实现方式中,第一发送模块605包括:确定单元6051,用于基于资源依赖关系信息,确定待发送物料资源集合中的待发送物料资源的排列顺序;发送单元6052,用于基于排列顺序,将待发送物料资源集合发送至资源请求端。
在一些可选的实现方式中,该装置还包括:存储模块606,用于将物料资源请求信息和待发送物料资源集合关联存储至预设存储区。
在一些可选的实现方式中,该装置还包括:接收模块607,用于接收包括至少一个物料资源标识的初始物料资源请求信息;第一确定模块608,用于确定预设存储区中是否包括预先缓存的初始物料资源请求信息对应的物料资源集合;第二确定模块609,用于如果不包括,确定初始物料资源请求信息的参数是否合法;第三确定模块610,用于如果合法,确定初始物料资源请求信息为物料资源请求信息。
在一些可选的实现方式中,该装置还包括:第二发送模块611,用于如果包括预先缓存的初始物料资源请求信息对应的物料资源集合,将物料资源集合发送至资源请求端。
本公开上述实施例提供的资源请求装置,通过接收一个物料资源请求,获取至少一个请求物料资源,并根据资源依赖关系信息获取至少一个依赖物料资源,再将至少一个请求物料资源和至少一个依赖物料资源合并,得到待发送物料资源集合,最后将待发送物料资源集合发送至资源请求端,从而实现了一次性地按业务需求合并多个请求的物料资源和依赖资源,提高了资源请求的灵活性和效率,由于资源依赖关系信息可以灵活地配置,进而可以实现更灵活、可自定义、可自扩展的资源请求方案。
示例性电子设备
下面,参考图8来描述根据本公开实施例的电子设备。该电子设备可以是如图1所示的终端设备101和服务器103中的任一个或两者、或与它们独立的单机设备,该单机设备可以与终端设备101和服务器103进行通信,以从它们接收所采集到的输入信号。
图8图示了根据本公开实施例的电子设备的框图。
如图8所示,电子设备800包括一个或多个处理器801和存储器802。
处理器801可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备800中的其他组件以执行期望的功能。
存储器802可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器801可以运行程序指令,以实现上文的本公开的各个实施例的资源请求反馈方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如依赖物料资源等各种内容。
在一个示例中,电子设备800还可以包括:输入装置803和输出装置804,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是终端设备101或服务器103时,该输入装置803可以是鼠标、键盘、触控屏等设备,用于输入物料资源请求信息。在该电子设备是单机设备时,该输入装置803可以是通信网络连接器,用于从终端设备101和服务器103接收所输入的物料资源请求信息。
该输出装置804可以向外部输出各种信息,包括确定出的待发送物料资源集合。该输出设备804可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备800中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备800还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的资源请求反馈方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的资源请求反馈方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。