CN115795187A - 资源访问方法、装置及设备 - Google Patents
资源访问方法、装置及设备 Download PDFInfo
- Publication number
- CN115795187A CN115795187A CN202210749425.7A CN202210749425A CN115795187A CN 115795187 A CN115795187 A CN 115795187A CN 202210749425 A CN202210749425 A CN 202210749425A CN 115795187 A CN115795187 A CN 115795187A
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- information
- access
- target resource
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种资源访问方法、装置及设备,用以解决目前设备对访问请求的响应速度慢的问题。包括:接收第二设备发送的针对第一目标资源的访问请求;若访问请求中第一访问地址的至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到不包括第一指定类节点的第二访问地址;确定第二访问地址对应的第一目标索引信息;根据第一目标索引信息以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息;根据第一目标资源信息,对第一目标资源执行与访问请求中的目标操作类型相应的操作,并将执行结果发送至第二设备。该技术方案提升了设备对访问请求的响应速度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源访问方法、装置及设备。
背景技术
随着设备的开发程度越来越高,根据具体的应用场景,可以在设备内部存储大量的资源,例如,在设备是门禁一体机的情况下,该设备中可以存储大量的生物特征,从而根据接收到的指纹信息、人脸信息等生物信息进行生物识别,以控制人员的出入。再例如,可以记录出入人员的考勤信息并存入设备内部,设备内部的资源通过访问地址的形式展示给外部。在相关场景中,比如修正考勤信息、新增人员的生物特征等场景中,外部访问者通过访问某一访问地址就能查看到设备内部的特定资源。
现有技术中,设备内部的大量资源需要暴露给外部,每一资源对应的访问地址均存在不同,使得设备需存储大量访问地址及对应的处理函数等信息,增加了设备的存储压力,并且,在大量访问地址中检索外部访问者所访问的访问地址的检索效率较低,使得设备对访问的响应速度较慢。
发明内容
本申请实施例的目的是提供一种资源访问方法、装置及设备,用以解决目前设备对访问请求的响应速度慢的问题。
为解决上述技术问题,本申请实施例是这样实现的:
一方面,本申请实施例提供一种资源访问方法,应用于第一设备,包括:
接收第二设备发送的针对第一目标资源的访问请求;所述访问请求包括所述第一目标资源对应的第一访问地址和对所述第一目标资源的操作信息,所述第一访问地址包括至少一个字符节点,所述操作信息包括目标操作类型;
若所述至少一个字符节点中包括第一指定类节点,则将所述第一指定类节点替换为预设字符,得到第二访问地址;所述第二访问地址中不包括所述第一指定类节点;
确定所述第二访问地址对应的第一目标索引信息;
根据所述第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与所述第一目标索引信息对应的所述第一目标资源和第一目标资源信息;
根据所述第一目标资源信息,对所述第一目标资源执行与所述目标操作类型相应的操作,并将执行结果发送至所述第二设备。
另一方面,本申请实施例提供一种资源访问方法,应用于门禁设备,包括:
接收云端服务器发送的资源获取链接;所述资源获取链接包括待获取的第二目标资源的资源标识信息;
根据所述资源获取链接,确定所述第二目标资源对应的资源存储地址;
根据所述资源存储地址,从所述云端服务器上获取与所述资源标识信息对应的所述第二目标资源;
确定所述第二目标资源对应的第二目标资源信息和第二目标索引信息;
存储所述第二目标资源信息、所述第二目标索引信息和所述第二目标资源之间的映射关系。
再一方面,本申请实施例提供一种资源访问装置,应用于第一设备,包括:
第一接收模块,用于接收第二设备发送的针对第一目标资源的访问请求;所述访问请求包括所述第一目标资源对应的第一访问地址和对所述第一目标资源的操作信息,所述第一访问地址包括至少一个字符节点,所述操作信息包括目标操作类型;
替换模块,用于若所述至少一个字符节点中包括第一指定类节点,则将所述第一指定类节点替换为预设字符,得到第二访问地址;所述第二访问地址中不包括所述第一指定类节点;
第一确定模块,用于确定所述第二访问地址对应的第一目标索引信息;
第二确定模块,用于根据所述第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与所述第一目标索引信息对应的所述第一目标资源和第一目标资源信息;
执行模块,用于根据所述第一目标资源信息,对所述第一目标资源执行与所述目标操作类型相应的操作,并将执行结果发送至所述第二设备。
再一方面,本申请实施例提供一种资源访问装置,应用于门禁设备,包括:
第二接收模块,用于接收云端服务器发送的资源获取链接;所述资源获取链接包括待获取的第二目标资源的资源标识信息;
第三确定模块,用于根据所述资源获取链接,确定所述第二目标资源对应的资源存储地址;
第二获取模块,用于根据所述资源存储地址,从所述云端服务器上获取与所述资源标识信息对应的所述第二目标资源;
第四确定模块,用于确定所述第二目标资源对应的第二目标资源信息和第二目标索引信息;
第三存储模块,用于存储所述第二目标资源信息、所述第二目标索引信息和所述第二目标资源之间的映射关系。
再一方面,本申请实施例提供一种资源访问设备,包括处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令被配置由所述处理器执行,所述可执行指令被所述处理器执行以实现上述应用于第一设备的资源访问方法,或者,实现上述应用于门禁设备的资源访问方法。
再一方面,本申请实施例提供一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令被处理器执行以实现上述应用于第一设备的资源访问方法,或者,实现上述应用于门禁设备的资源访问方法。
采用本申请实施例的技术方案,通过接收第二设备发送的针对第一目标资源的访问请求,访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型,若至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到不包括第一指定类节点的第二访问地址,从而确定第二访问地址对应的第一目标索引信息,进而根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息,根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。可见,该技术方案中,第一设备通过将接收到的第一访问地址中的第一指定类节点替换为预设字符,实现了屏蔽第一访问地址中第一指定类节点的效果,比如对于若干个仅第一指定类节点不同的第一访问地址,将第一指定类节点替换为预设字符之后,得到的是相同的第二访问地址,从而第一设备中仅需存储第二访问地址对应的索引信息及上述映射关系。相较于现有方案而言,第一设备中存储的信息(如访问地址等)的数量大大减少,避免了第一设备给外部暴露过多的访问地址,节省了第一设备的存储资源,降低了第一设备的存储压力,且有利于提升第一设备对访问地址的检索效率,从而提升了第一设备对访问请求的响应速度。并且,在索引到第二访问地址对应的资源信息后,能够根据资源信息对资源执行与访问请求中的目标操作类型相应的操作,从而将执行结果发送至第二设备,确保了第一设备对访问请求的准确响应。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请一实施例的一种资源访问方法的示意性流程图;
图2是根据本申请一实施例的一种资源访问方法的泳道图;
图3是根据本申请另一实施例的一种资源访问方法的泳道图;
图4是根据本申请另一实施例的一种资源访问方法的示意性流程图;
图5是根据本申请一实施例的门禁场景下的资源访问方法的泳道图;
图6是根据本申请一实施例的一种资源访问装置的结构示意图;
图7是根据本申请另一实施例的一种资源访问装置的结构示意图;
图8是根据本申请一实施例的一种资源访问设备的硬件结构示意图。
具体实施方式
本申请实施例提供一种资源访问方法、装置及设备,用以解决目前设备对访问请求的响应速度慢的问题。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供的资源访问方法适应于多种场景,如通过PC(PersonalComputer,个人计算机)访问网络资源的场景,通过计算机设备对应的服务端访问计算机设备内部的资源的场景,等等。可选地,计算机设备为嵌入式设备。
随着计算机设备的开发程度越来越高,计算机设备内部的资源越来越多,为准确地将计算机设备内部的资源展示给外部,需要用一种有序、可扩展的方式来进行展示,互联网中使用的URL(Uniform Resource Locator,统一资源定位系统)是个不错的选择。URL是因特网的万维网服务程序上用于指定信息位置的表示方法,URL给资源的位置提供了一种抽象的识别方法,并用这种方法给资源定位,只要能够对资源定位,就可以对资源进行各种操作,如存取、更新、替换、查找其属性等。本申请实施例中,计算机设备可将计算机设备内部的资源通过URL的方式展示给外部,并向外部提供基于URL的资源访问方法,以使外部访问者对计算机设备内部的资源进行准确访问。
图1是根据本申请一实施例的一种资源访问方法的示意性流程图,本实施例中,资源访问方法应用于第一设备。可选地,第一设备为计算机设备,第二设备为计算机设备对应的服务器。如图1所示,该方法包括:
S102,接收第二设备发送的针对第一目标资源的访问请求。
其中,访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型。可选地,访问请求可以是RESTFUL风格的HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求,RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML(ExtensibleMarkup Language,可扩展标记语言)格式定义或JSON(JavaScript Object Notation,JS对象简谱)格式定义。HTTP是一个简单的请求-响应协议,它通常运行在TCP(TransmissionControl Protocol,传输控制协议)之上,指定了客户端可能发送给服务端什么样的消息以及得到什么样的响应。
可选地,第一访问地址的表征形式为URL,URL的一般格式是:<URL的访问方法>:https://<主机>:<端口>/<路径>。下述实施例中,若无特殊说明,URL指<路径>所指向的内容,其他内容(如<URL的访问方法>、<主机>、<端口>等)在本申请实施例中不作详细说明。<路径>中通常包括由若干斜杠“/”划分的资源节点,其中的单个资源节点可以为仅包括数字的纯数字节点、仅包括字母的纯字母节点或者包括数字和字母的混合类节点。例如,<路径>为:/laws/23/34/temp1/123,其中的“laws”为纯字母节点,“temp1”为混合类节点,“23”、“34”和“123”均为纯数字节点。
其中,<路径>中的纯数字节点通常表示某一固定页面或资源文件。若一个页面上存在不同资源,则可以在URL格式不变动前提下,仅替换<路径>中的纯数字节点的内容,以实现访问到不同资源。假设“/laws/temp1/……”指向的内容为考勤表,“……”为纯数字节点,不同的数字表征不同日期的考勤表,例如,“401”表征4月1日的考勤表,“402”表征4月2日的考勤表,那么,通过替换<路径>中纯数字节点的内容,可实现访问到不同日期的考勤表。假设“/laws/temp2/……”指向的内容为人员基本信息,“……”为纯数字节点,不同的数字表征不同人员的人员基本信息,例如,“01”表征张三的人员基本信息,“02”表征李四的人员基本信息,那么,通过替换<路径>中纯数字节点的内容,可实现访问到不同人员的人员基本信息。
可选地,在第一访问地址的表征形式为URL的情况下,字符节点为上述的资源节点。可选地,在访问请求为RESTFUL风格的HTTP请求的情况下,第一设备可从第二设备发送的HTTP请求中剥离出第一访问地址。示例性地,若第二设备发送的HTTP请求为“https://www.xxx.cn/laws/458526?Aspx=xxx”,那么,第一设备可从其中剥离出第一访问地址“/laws/458526”;若第二设备发送的HTTP请求为“https://192.168.0.1:80/laws/tmp2/123?for mat=json”,那么,第一设备可从其中剥离出第一访问地址“/laws/tmp2/123”。
可选地,在访问请求为RESTFUL风格的HTTP请求的情况下,对第一目标资源的操作信息可携带在请求报文中,目标操作类型可以是GET、POST、PUT或者DELETE,其中,GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。
可选地,操作信息可包括目标操作类型和目标资源内容。目标资源内容可以是目标资源所包括的任一项或多项内容。例如,目标资源为张三的人员基本信息,目标资源内容可以是目标资源中的年龄信息、岗位信息、指纹信息、人脸信息中的一项或多项内容。
可选地,在操作信息中仅包括目标操作类型的情况下,本次资源访问的目的是对目标资源中的全部资源内容执行与目标操作类型相应的操作。例如,操作信息中仅包括目标操作类型GET,则本次资源访问的目的是获取目标资源中的全部资源内容。在操作信息中包括目标操作类型和目标资源内容的情况下,本次资源访问的目的是对目标资源中的目标资源内容执行与目标操作类型相应的操作。例如,目标资源为张三的人员基本信息,目标资源内容为指纹信息,目标操作类型为GET、POST、PUT或者DELETE,则本次资源访问的目的是获取、新建、更新或者删除张三的人员基本信息中的指纹信息。需要说明的是,在目标操作类型为POST或者PUT的情况下,目标资源内容除包括目标资源所包括的任一项或多项内容之外,还需包含新建或者更新的资源内容。例如,目标操作类型为POST或者PUT,目标资源内容包括指纹信息,那么,目标资源内容中还需包括新建的指纹信息或者更新的指纹信息。
S104,若至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到第二访问地址。
其中,第二访问地址中不包括第一指定类节点。预设字符为预先设定的用于替换第一指定类节点的字符。可选地,用于替换纯数字节点的预设字符的表征形式为<预设字符>。例如,预设字符为<ID>;又例如,预设字符为<46265>;又例如,预设字符为<exc>;等等。
在一个实施例中,第一指定类节点包括纯数字节点,多个第一指定类节点对应唯一的预设字符。示例性地,若预设字符为<ID>,则在第一访问地址中包括第一指定类节点时,将第一指定类节点替换为<ID>,得到第二访问地址。在一个实施例中,预设字符有且仅有一个,节点内容不同的多个第一指定类节点将被替换为相同的预设字符。
S106,确定第二访问地址对应的第一目标索引信息。
S108,根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息。
可选地,第一目标资源为第二设备请求访问的资源。第一目标资源信息包括第二访问地址、允许对第一目标资源执行的操作类型和操作类型对应的执行函数。可选地,第一目标资源信息中还可包括支持访问请求所携带的资源内容的格式,例如,XML、JSON、raw等。可选地,第一目标资源信息中可包括执行函数指针,执行函数指针指向操作类型对应的执行函数。
S110,根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。
沿用上述举例中的“/laws/23/34/temp1/123”,这一URL中共有3个纯数字节点,假设每个纯数字节点均有N种(N为大于或等于1的整数)取值情况,那么,第一设备就需要存储N^3条URL,这大大增加了第一设备的存储压力。且由于嵌入式设备等计算机设备相较于PC或网络服务器来说,设备内部的存储资源相对较少,因此为减小设备的存储压力,本申请实施例中致力于将N^3条URL汇总为一条,从而减小对设备内部的存储资源的占用,并提升设备对URL的检索效率。应理解,对于仅纯数字节点存在不同的两条URL,通过这两条URL访问到的可能是同一页面上的不同资源,也可能是同一资源文件中的不同资源,可见,即使屏蔽这两条URL中的纯数字节点,通过这两条URL也能访问到同一页面或者同一资源文件,因此,本申请实施例通过将N^3条URL汇总为一条,设备在接收到访问请求后,检索出对应的汇总后的URL,提升了设备对URL的检索效率,进一步检索这一汇总后的URL对应的资源信息,能够确保检索到的是对上述的同一页面或者同一资源文件进行处理的资源信息,而在对资源进行处理的过程中,依据被替换之前的URL查找资源内容,因此可确保设备对访问请求的准确响应,综上,采用本申请实施例的资源访问方法并不会影响最终得到的执行结果的准确性。
采用本申请实施例的技术方案,通过接收第二设备发送的针对第一目标资源的访问请求,访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型,若至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到不包括第一指定类节点的第二访问地址,从而确定第二访问地址对应的第一目标索引信息,进而根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息,根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。可见,该技术方案中,第一设备通过将接收到的第一访问地址中的第一指定类节点替换为预设字符,实现了屏蔽第一访问地址中第一指定类节点的效果,比如对于若干个仅第一指定类节点不同的第一访问地址,将第一指定类节点替换为预设字符之后,得到的是相同的第二访问地址,从而第一设备中仅需存储第二访问地址对应的索引信息及上述映射关系。相较于现有方案而言,第一设备中存储的信息(如访问地址等)的数量大大减少,避免了第一设备给外部暴露过多的访问地址,节省了第一设备的存储资源,降低了第一设备的存储压力,且有利于提升第一设备对访问地址的检索效率,从而提升了第一设备对访问请求的响应速度。并且,在索引到第二访问地址对应的资源信息后,能够根据资源信息对资源执行与访问请求中的目标操作类型相应的操作,从而将执行结果发送至第二设备,确保了第一设备对访问请求的准确响应。
在一个实施例中,在第一设备向外部提供基于URL的资源访问方法之前,需要在第一设备进行数据(包括各资源对应的URL、各资源的资源信息等)存储。在数据存储过程中,可预先在第一设备程序中写一个第一设备支持的URL(即第一设备给外部暴露的访问地址)资源列表,该URL资源列表以数组形式存储,数组内单个数组成员的数据结构如下:
/*存储静态URL的数据结构*/
typedef struct{
std::string url;/*<路径>所指向的内容,样式:/laws/458526*/
int method;/*对URL所对应的资源的操作类型,例如,method可包括GET、PUT、POST、DELETE中的至少一项*/
int format;/*访问请求所携带的资源内容的格式,例如,format可包括XML、JSON、raw(指任意格式,例如,纯文本格式、二进制格式等)中的至少一项*/
UP_INT pFunHandle;/*以整型存储URL对应的执行函数指针,执行函数指针指向的内存地址中存储有处理URL所对应的资源的执行函数*/
}URL_STORE_CPP_ST。
在一个实施例中,确定第二访问地址对应的第一目标索引信息(即S106),可执行为如下步骤A1或者步骤A2:
步骤A1,根据预先创建的关联容器内的索引算法,对第二访问地址进行索引计算,得到第二访问地址对应的第一目标索引信息。
可选地,预先创建的关联容器可以是MAP表,MAP是关联容器的一种,MAP表的每个元素都分为关键字和值两部分,容器中的元素是按关键字排序的,并且不允许有多个元素的关键字相同。相较于传统数据库存储的方式而言,MAP表拥有快速索引的能力,可以快速定位资源地址,适用于超大规模检索。
可选地,索引算法可以是MD5(Message-Digest Algorithm 5,消息摘要算法第五代)。MD5算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密。在索引算法为MD5算法的情况下,对第二访问地址进行计算,即是计算第二访问地址对应的MD5值,得到第二访问地址对应的第一目标索引信息可以为32位的MD5字符串。
步骤A2,将第二访问地址确定为第一目标索引信息。
考虑到索引信息确定方式存在不同,那么,前期对第一设备存储的数据进行的处理,以及根据索引信息确定出对应的目标资源和目标资源信息的方式也可能存在不同,下述实施例中,将针对两种索引信息确定方式分别对应前期数据处理方式、以及确定目标资源和目标资源信息的方式进行详细说明。为便于说明,在下述实施例中,以第一设备程序中预先存储有该第一设备支持的URL资源列表,URL资源列表以数组形式存储为例,对各索引信息确定方式对应的前期数据处理方式进行说明。应理解,在第一设备中,数据还可以以其他形式存储,本申请实施例对此不作限定。数组内单个数组成员的数据结构如下:
/*存储静态URL的数据结构*/
typedef struct{
std::string url;/*<路径>所指向的内容,样式:/laws/458526*/
int method;/*对URL所对应的资源的操作类型,例如,method可包括GET、PUT、POST、DELETE中的至少一项*/
int format;/*访问请求所携带的资源内容的格式,例如,format可包括XML、JSON、raw(指任意格式,例如,纯文本格式、二进制格式等)中的至少一项*/
UP_INT pFunHandle;/*以整型存储URL对应的执行函数指针,执行函数指针指向的内存地址中存储有处理URL所对应的资源的执行函数*/
}URL_STORE_CPP_ST。
在一个实施例中,索引信息确定方式为根据预先创建的关联容器内的索引算法,对第二访问地址进行索引计算,得到第二访问地址对应的第一目标索引信息(即步骤A1),可对第一设备存储的数据(如数组内的各数组成员)进行如下述步骤B11-B14的处理:
步骤B11,获取存储于第一设备的多个资源,以及各资源分别对应的第一存储地址。
其中,针对同一资源,第一存储地址与第一访问地址相同。示例性地,在第一设备程序中预先存储有该第一设备支持的URL资源列表的情况下,步骤B11可执行为:分别获取数组中的各数组成员的数据结构,以及,分别从各数据结构中获取<路径>所指向的内容。示例性地,数组中包括若干个数组成员,获取其中4个数组成员的数据结构,并分别从各数据结构中获取到的<路径>所指向的内容为“/laws/tmp1/45”、“/laws/tmp1/3536”、“/laws/tmp2/123”和“/laws/tmpN/23”。
步骤B12,针对每个资源,对第一存储地址中的第一指定类节点进行转换操作,得到第二存储地址,根据预设索引算法,对第二存储地址进行计算,得到第二存储地址对应的索引信息。
其中,第二存储地址中不包括第一指定类节点,针对同一资源,第二存储地址与第二访问地址相同。可选地,对第一存储地址中的第一指定类节点进行转换操作可以是将第一存储地址中的第一指定类节点替换为预设字符,预设索引算法可以是MD5算法。应理解,本实施例中的预设字符与S104中的预设字符相同,本实施例中的预设索引算法与对第二访问地址进行索引计算的索引算法相同。
可选地,在第一指定类节点是纯数字节点,对第一指定类节点进行转换操作为将第一指定类节点替换为预设字符的情况下,从各数组成员的数据结构中获取<路径>所指向的内容后,可将其中的纯数字节点替换为预设字符,并将改动后的URL覆盖原<路径>所指向的内容,保存至该数据结构中。
可选地,在步骤B11执行为分别获取数组中的各数组成员的数据结构,以及,分别从各数据结构中获取<路径>所指向的内容,对第一指定类节点进行转换操作为将第一指定类节点替换为预设字符的情况下,假设预设字符为<ID>,沿用步骤B11中的举例,针对每个资源,对第一存储地址中的第一指定类节点进行转换操作,得到第二存储地址分别为“/laws/tmp1/<ID>”、“/laws/tmp1/<ID>”、“/laws/tmp2/<ID>”和“/laws/tmpN/<ID>”。假设预设索引算法为MD5算法,对第二存储地址进行计算,即是计算第二存储地址对应的MD5值,得到第二存储地址对应的索引信息为32位的MD5字符串,沿用上述举例,可计算“/laws/tmp1/<ID>”、“/laws/tmp1/<ID>”、“/laws/tmp2/<ID>”和“/laws/tmpN/<ID>”分别对应的MD5值,其中“/laws/tmp1/<ID>”和“/laws/tmp1/<ID>”对应相同的MD5字符串“B594670F13CC50FD7F8CA81928FF907A”,“/laws/tmp2/<ID>”对应MD5字符串“2B4C746E9946FAF05FA4DD89081472CA”,“/laws/tmpN/<ID>”对应MD5字符串“B594670F13****************8FF907A”,“****************”的具体内容与N的数值相关,不同的N对应有不同的MD5字符串。
步骤B13,建立各索引信息和对应的索引指针之间的第一映射关系,建立各索引指针和各资源对应的资源信息之间的指针指向关系,以及,建立各资源信息和对应的资源之间的第二映射关系。
其中,资源信息包括第二存储地址、允许对资源执行的操作类型和操作类型对应的执行函数。可选地,资源信息中还可包括支持访问请求所携带的资源内容的格式,例如,XML、JSON、raw等。可选地,资源信息中可包括执行函数指针,执行函数指针指向操作类型对应的执行函数。
假设第二存储地址“/laws/tmp2/<ID>”对应的执行函数指针为“pFunHandle_2”,第二存储地址“/laws/tmp1/<ID>”对应的执行函数指针为“pFunHandle_1”,第二存储地址“/laws/tmpN/<ID>”对应的执行函数指针为“pFunHandle_n”,示例性地,在允许对资源执行的操作类型为GET、PUT、POST和DELETE,支持访问请求所携带的资源内容的格式为XML、JSON和raw的情况下,建立各索引信息和对应的索引指针之间的第一映射关系可包括:建立索引信息“B594670F13CC50FD7F8CA81928FF907A”与索引指针“1”之间的映射关系,建立索引信息“2B4C746E9946FAF05FA4DD89081472CA”与索引指针“2”之间的映射关系,建立索引信息“B594670F13****************8FF907A”与索引指针“N”之间的映射关系。建立各索引指针和各资源对应的资源信息之间的指针指向关系可包括:建立索引指针“1”和资源信息1之间的指针指向关系,资源信息1包括第二存储地址“/laws/tmp1/<ID>”、允许对资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_1”;建立索引指针“2”和资源信息2之间的指针指向关系,资源信息2包括第二存储地址“/laws/tmp2/<ID>”、允许对资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_2”;建立索引指针“N”和资源信息N之间的指针指向关系,资源信息N包括第二存储地址“/laws/tmpN/<ID>”、允许对资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_n”。建立各资源信息和对应的资源之间的第二映射关系可包括:建立资源信息“1”和资源“人员基本信息”之间的第二映射关系,建立资源信息“2”和资源“考勤表”之间的第二映射关系,建立资源信息“N”和资源“设备工作时间”之间的第二映射关系。
步骤B14,将第一映射关系、第二映射关系和指针指向关系存储于第一设备。
本实施例中,通过对第一设备各资源分别对应的第一存储地址中的第一指定类节点进行转换操作,得到第二存储地址,实现了屏蔽第一存储地址中第一指定类节点差异的效果,能够实现对第一存储地址的整合,从而根据预设索引算法,对整合后得到的存储地址(即第二存储地址)进行计算,得到第二存储地址对应的索引信息,并建立各索引信息和对应的索引指针之间的第一映射关系,建立各索引指针和各资源对应的资源信息之间的指针指向关系,以及,建立各资源信息和对应的资源之间的第二映射关系,从而将第一映射关系、第二映射关系和指针指向关系存储于第一设备,相较于现有方案而言,第一设备中存储的信息的数量大大减少,避免了第一设备给外部暴露过多的访问地址,节省了第一设备的存储资源,降低了第一设备的存储压力,且有利于提升第一设备对访问地址的检索效率,从而提升了第一设备对访问请求的响应速度。
在一个实施例中,可将各索引信息和对应的索引指针之间的第一映射关系存储于预先创建的关联容器中,以及,将各资源信息和对应的资源之间的第二映射关系、及各索引指针和各资源对应的资源信息之间的指针指向关系存储于第一设备的内存中。
可选地,预先创建的关联容器可以是MAP表,MAP是关联容器的一种,MAP表的每个元素都分为关键字和值两部分,容器中的元素是按关键字排序的,并且不允许有多个元素的关键字相同。相较于传统数据库存储的方式而言,MAP表拥有快速索引的能力,可以快速定位资源地址,适用于超大规模检索。在预先创建的关联容器为MAP表的情况下,表中的关键字(key)为索引信息,表中值(value)为索引指针。
本实施例中,根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息(即S108),可执行为:从关联容器中获取第一映射关系,以将第一目标索引信息和第一映射关系进行匹配;从第一设备的内存中获取指针指向关系,以将目标索引指针和指针指向关系进行匹配;以及,从第一设备的内存中获取第二映射关系,以将第一目标资源信息和第二映射关系进行匹配。
本实施例中,通过将各索引信息和对应的索引指针之间的第一映射关系存储于预先创建的关联容器中,如存储于预先创建的MAP表中,由于MAP表拥有快速索引的能力,因此能够快速响应第二设备发起的访问请求,检索到索引信息对应的索引指针,从而根据索引指针检索到对应的资源信息。
至此,第一设备的数据存储完成,之后,第一设备可根据接收到的第二设备发送的针对第一目标资源的访问请求,对第一目标资源执行相应的资源访问操作(包括对第一目标资源执行与访问请求携带的目标操作类型相应的操作),并将执行结果发送至第二设备。下面进行详细说明。
在一个实施例中,索引信息确定方式为根据预先创建的关联容器内的索引算法,对第二访问地址进行索引计算,得到第二访问地址对应的第一目标索引信息(即步骤A1),各索引信息、资源信息和资源之间的映射关系包括:各索引信息和索引指针之间的第一映射关系,索引指针和资源信息之间的指针指向关系,以及,资源信息和资源之间的第二映射关系。
本实施例中,根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息(即S108),可执行为如下步骤C11-C13:
步骤C11,将第一目标索引信息和第一映射关系进行匹配,得到第一目标索引信息对应的目标索引指针。
步骤C12,将目标索引指针和指针指向关系进行匹配,得到目标索引指针对应的第一目标资源信息。
其中,第一目标资源信息包括第二访问地址、允许对第一目标资源执行的操作类型和操作类型对应的执行函数。可选地,第一目标资源信息中还可包括支持访问请求所携带的资源内容的格式,例如,XML、JSON、raw等。可选地,第一目标资源信息中可包括执行函数指针,执行函数指针指向操作类型对应的执行函数。
步骤C13,将第一目标资源信息和第二映射关系进行匹配,得到第一目标资源信息对应的第一目标资源。
本实施例中,通过逐步匹配的方式确定与第一目标索引信息对应的第一目标资源和第一目标资源信息,能够确保匹配速度和匹配准确度,从而确保了对访问请求的响应速度和响应准确度。
在一个实施例中,将第一目标索引信息和第一映射关系进行匹配(即步骤C11),可执行为:获取预先创建的关联容器,关联容器用于存储第一映射关系,从关联容器中获取第一映射关系,从而将第一目标索引信息和关联容器中的第一映射关系进行匹配。
可选地,关联容器可以是MAP表。示例性地,在预先创建的关联容器为MAP表,表中的关键字(key)为索引信息,表中值(value)为索引指针的情况下,将第一目标索引信息和关联容器中的第一映射关系进行匹配即是将第一目标索引信息和关联容器中的各关键字进行匹配。其中,若关联容器中存在与第一目标索引信息相同的关键字,则可确定第一目标索引信息与关联容器相匹配,与第一目标索引信息相同的关键字所对应的值,即是第一目标索引信息对应的目标索引指针。若关联容器中不存在与第一目标索引信息相同的关键字,则可确定第一目标索引信息与关联容器不匹配,此时可通过向第二设备发送报错信息,以提示第二设备当前访问请求所请求访问的资源并非是该第一设备中的。
本实施例中,通过获取预先创建的关联容器,由于MAP表拥有快速索引的能力,因此能够快速响应第二设备发起的访问请求,将第一目标索引信息和关联容器中的第一映射关系进行匹配,从而能够快速检索到索引信息对应的索引指针。
在一个实施例中,索引信息确定方式为将第二访问地址确定为第一目标索引信息(即步骤A2),可对第一设备存储的数据(如数组内的各数组成员)进行如下述步骤B21-B24的处理:
步骤B21,获取存储于第一设备的多个资源,以及各资源分别对应的第一存储地址。
其中,针对同一资源,第一存储地址与第一访问地址相同。示例性地,在第一设备程序中预先存储有该第一设备支持的URL资源列表的情况下,步骤B21可执行为:分别获取数组中的各数组成员的数据结构,以及,分别从各数据结构中获取<路径>所指向的内容。示例性地,数组中包括若干个数组成员,获取其中4个数组成员的数据结构,并分别从各数据结构中获取到的<路径>所指向的内容为“/laws/tmp1/45”、“/laws/tmp1/3536”、“/laws/tmp2/123”和“/laws/tmpN/23”。
步骤B22,针对每个资源,对第一存储地址中的第一指定类节点进行转换操作,得到第二存储地址。将第二存储地址确定为索引信息。
其中,第二存储地址中不包括第一指定类节点,针对同一资源,第二存储地址与第二访问地址相同。可选地,对第一存储地址中的第一指定类节点进行转换操作可以是将第一存储地址中的第一指定类节点替换为预设字符。应理解,本实施例中的预设字符与S104中的预设字符相同。
可选地,在第一指定类节点是纯数字节点,对第一指定类节点进行转换操作为将第一指定类节点替换为预设字符的情况下,从各数组成员的数据结构中获取<路径>所指向的内容后,可将其中的纯数字节点替换为预设字符,并将改动后的URL覆盖原<路径>所指向的内容,保存至该数据结构中。
可选地,在步骤B21执行为分别获取数组中的各数组成员的数据结构,以及,分别从各数据结构中获取<路径>所指向的内容,对第一指定类节点进行转换操作为将第一指定类节点替换为预设字符的情况下,假设预设字符为<ID>,沿用步骤B21中的举例,针对每个资源,对第一存储地址中的第一指定类节点进行转换操作,得到第二存储地址分别为“/laws/tmp1/<ID>”、“/laws/tmp1/<ID>”、“/laws/tmp2/<ID>”和“/laws/tmpN/<ID>”。
步骤B23,建立各索引信息和各资源对应的资源信息之间的第三映射关系,以及,建立各资源信息和对应的资源之间的第四映射关系。
可选地,资源信息包括第二存储地址、允许对资源执行的操作类型和操作类型对应的执行函数。可选地,资源信息中还可包括支持访问请求所携带的资源内容的格式,例如,XML、JSON、raw等。可选地,资源信息中可包括执行函数指针,执行函数指针指向操作类型对应的执行函数。
假设第二存储地址“/laws/tmp2/<ID>”对应的执行函数指针为“pFunHandle_2”,第二存储地址“/laws/tmp1/<ID>”对应的执行函数指针为“pFunHandle_1”,第二存储地址“/laws/tmpN/<ID>”对应的执行函数指针为“pFunHandle_n”,示例性地,在允许对资源执行的操作类型为GET、PUT、POST和DELETE,支持访问请求所携带的资源内容的格式为XML、JSON和raw的情况下,建立各索引信息和各资源对应的资源信息之间的第三映射关系可包括:建立第二存储地址“/laws/tmp2/<ID>”和资源信息1之间的第三映射关系,资源信息1包括第二存储地址“/laws/tmp2/<ID>”、允许对资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_2”;建立第二存储地址“/laws/tmp1/<ID>”和资源信息2之间的第三映射关系,资源信息2包括第二存储地址“/laws/tmp1/<ID>”、允许对资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_1”;建立第二存储地址“/laws/tmpN/<ID>”和资源信息N之间的第三映射关系,资源信息N包括第二存储地址“/laws/tmpN/<ID>”、允许对资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_n”。建立各资源信息和对应的资源之间的第四映射关系可包括:建立资源信息“1”和资源“人员基本信息”之间的第四映射关系,建立资源信息“2”和资源“考勤表”之间的第四映射关系,建立资源信息“N”和资源“设备工作时间”之间的第四映射关系。
步骤B24,将第三映射关系和第四映射关系存储于第一设备。
本实施例中,通过对第一设备各资源分别对应的第一存储地址中的第一指定类节点进行转换操作,得到第二存储地址,实现了屏蔽第一存储地址中第一指定类节点差异的效果,能够实现对第一存储地址的整合,从而建立各索引信息和各资源对应的资源信息之间的第三映射关系,以及,建立各资源信息和对应的资源之间的第四映射关系,从而将第三映射关系和第四映射关系存储于第一设备,相较于现有方案而言,第一设备中存储的信息的数量大大减少,避免了第一设备给外部暴露过多的访问地址,节省了第一设备的存储资源,降低了第一设备的存储压力,且有利于提升第一设备对访问地址的检索效率,从而提升了第一设备对访问请求的响应速度。
至此,第一设备的数据存储完成,之后,第一设备可根据接收到的第二设备发送的针对第一目标资源的访问请求,对第一目标资源执行相应的资源访问操作(包括对第一目标资源执行与访问请求携带的目标操作类型相应的操作),并将执行结果发送至第二设备。下面进行详细说明。
在一个实施例中,索引信息确定方式为将第二访问地址确定为第一目标索引信息(即步骤A2),各索引信息、资源信息和资源之间的映射关系包括:各索引信息和资源信息之间的第三映射关系,以及,资源信息和资源之间的第四映射关系。
本实施例中,根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息(即S108),可执行为如下步骤C21-C22:
步骤C21,将第一目标索引信息和第三映射关系进行匹配,得到第一目标索引信息对应的第一目标资源信息。
其中,第一目标资源信息包括第二访问地址、允许对目标资源执行的操作类型和操作类型对应的执行函数。可选地,第一目标资源信息中还可包括支持访问请求所携带的资源内容的格式,例如,XML、JSON、raw等。可选地,第一目标资源信息中可包括执行函数指针,执行函数指针指向操作类型对应的执行函数。
步骤C22,将第一目标资源信息和第四映射关系进行匹配,得到第一目标资源信息对应的第一目标资源。
本实施例中,通过逐步匹配的方式确定与第一目标索引信息对应的第一目标资源和第一目标资源信息,能够确保匹配速度和匹配准确度,从而确保了对访问请求的响应速度和响应准确度。
在一个实施例中,根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备(即S110),可执行为如下步骤D1-D3:
步骤D1,根据关联容器内的第一映射关系,以及第一设备的内存中的指针指向关系,判断第一目标资源信息中包括的操作类型中,是否包括目标操作类型;若第一目标资源信息中包括的操作类型中,包括目标操作类型,则执行步骤D2;若第一目标资源信息中包括的操作类型中,不包括目标操作类型,则步骤D3。
可选地,步骤D1可执行为:首先从关联容器内获取各索引信息和对应的索引指针之间的第一映射关系,将确定出的第二访问地址对应的第一目标索引信息和第一映射关系进行匹配,得到与第一目标索引信息对应的目标索引指针;其次,从第一设备的内存中获取索引指针和资源信息之间的指针指向关系,将目标索引指针和指针指向关系进行匹配,得到与目标索引指针对应的第一目标资源信息;最后,判断得到的第一目标资源信息中包括的操作类型中,是否包括目标操作类型。
步骤D2,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。
步骤D3,向第二设备发送报错信息。
示例性地,在第一目标资源信息中包括的操作类型为GET、PUT、POST中的至少一项的情况下,若目标操作类型为GET,则可确定第一目标资源信息中包括的操作类型中,包括目标操作类型;若目标操作类型为DELETE,则可确定第一目标资源信息中包括的操作类型中,不包括目标操作类型。
可选地,若目标操作类型为GET,则对第一目标资源执行与目标操作类型相应的操作,即是获取第一目标资源,发送至第二设备的执行结果为第一目标资源;若目标操作类型为PUT、POST或者DELETE,则对第一目标资源执行与目标操作类型相应的操作,即是更新、新建或者删除第一目标资源,发送至第二设备的执行结果为更新、新建或者删除成功,或者,发送至第二设备的执行结果为更新、新建或者删除失败。
本实施例中,通过在对第一目标资源执行与目标操作类型相应的操作之前,首先判断第一目标资源信息中包括的操作类型中,是否包括目标操作类型,能够避免对第一目标资源信息所不包含的操作类型的访问请求进行处理,且能够确保第二设备及时获知这一异常情况。
在一个实施例中,对第一目标资源的操作信息包括目标操作类型和目标资源内容。对第一目标资源执行与目标操作类型相应的操作,可执行为:根据第一访问地址,查找第一目标资源中的目标资源内容,对目标资源内容执行与目标操作类型相应的操作。
可选地,第一访问地址为第一设备在接收到第二设备发送的针对第一目标资源的访问请求后,缓存下来的。可选地,可利用目标操作类型对应的执行函数,对目标资源内容执行与目标操作类型相应的操作。
可选地,目标资源内容为第一目标资源中的全部内容。例如,第一目标资源为人员基本信息,那么,目标资源内容可以是人员基本信息中的全部内容,如年龄信息、岗位信息、指纹信息、人脸信息等。再例如,第一目标资源为考勤表,那么,目标资源内容可以是考勤表中的全部内容,如上班时间、下班时间、全勤天数等。
可选地,目标资源内容为第一目标资源中的部分内容。例如,第一目标资源为人员基本信息,目标资源内容为指纹信息,那么,目标资源内容可以是人员基本信息中的指纹信息。再例如,第一目标资源为考勤表,目标资源内容为全勤天数,那么,目标资源内容可以是考勤表中的全勤天数。
示例性地,在第一目标资源为张三的人员基本信息,人员基本信息包括年龄信息、岗位信息、指纹信息和人脸信息,目标操作类型为DELETE,目标资源内容包括指纹信息的情况下,根据第一访问地址可查找到张三的人员基本信息,目标资源内容即是张三的指纹信息,对目标资源内容执行与目标操作类型相应的操作,即是删除张三的指纹信息。
本实施例中,通过第一访问地址(即被替换之前的地址),能够准确定位到第一目标资源中的目标资源内容,从而能够实现对第一目标资源的准确操作。
在一个实施例中,访问请求还包括第二指定类节点,第二指定类节点包括本次访问操作的操作标识信息。
可选地,第二指定类节点为纯字母节点或者为混合类节点。第二指定类节点由第二设备随机生成。
本实施例中,将执行结果发送至第二设备(即S110)之后,可向第二设备发送反馈信息,反馈信息用于标识第一设备已成功处理访问请求。其中,反馈信息包括操作标识信息。第一设备通过将包含操作标识信息的反馈信息发送至第二设备,可使第二设备准确地将反馈信息与先前发送的访问请求进行对应,以便对资源访问情况进行准确记录。
为便于理解本申请实施例提供的资源访问方法,下述将以第二设备与第一设备交互的方式介绍本申请实施例提供的资源访问方法,本实施例中,访问请求可以是RESTFUL风格的HTTP请求,第一设备可从第二设备发送的HTTP请求中剥离出第一访问地址,在第一指定类节点为纯数字节点、且第一访问地址中包括第一指定类节点的情况下,可利用预设字符替换第一指定类节点,得到第二访问地址,并对第二访问地址进行索引计算得到对应的索引信息,从而基于索引信息进行逐步匹配,确定出对应的第一目标资源,进而将对第一目标资源的处理结果返回至第二设备,具体可参照图2。
图2是根据本申请一实施例的一种资源访问方法的泳道图,如图2所示,资源访问方法可包括:
S2.1,第二设备向第一设备发送针对第一目标资源的访问请求,访问请求包括第一目标资源对应的第一访问地址和第一对目标资源的操作信息。
其中,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型和目标资源内容。目标操作类型、目标资源内容已在上述实施例中详细说明,此处不再赘述。
可选地,在访问请求为RESTFUL风格的HTTP请求的情况下,操作信息可携带在请求报文中,第一设备可从第二设备发送的HTTP请求中剥离出第一访问地址。
S2.2,第一设备接收访问请求并剥离出第一访问地址。
示例性地,若第二设备发送的HTTP请求为“https://192.168.0.1:80/laws/tmp2/123?format=json”,请求报文中携带的操作信息包括GET,那么,第一设备可从其中剥离出第一访问地址“/laws/tmp2/123”,并确定目标操作类型为GET。其中,在请求报文中仅携带有GET这一操作类型,未携带目标资源内容的情况下,可认为这一访问请求的目的是获取第一目标资源中的全部资源内容。
S2.3,第一设备在第一访问地址中的至少一个字符节点中包括第一指定类节点的情况下,将第一指定类节点替换为预设字符,得到第二访问地址。
其中,第二访问地址中不包括第一指定类节点。可选地,第一指定类节点为纯数字节点。预设字符为预先设定的用于替换第一指定类节点的字符。可选地,用于替换纯数字节点的预设字符的表征形式为<预设字符>。
沿用S2.2中的示例,若第一指定类节点为纯数字节点,预设字符为<ID>,则将第一访问地址中的第一指定类节点替换为预设字符,得到的第二访问地址为“/laws/tmp2/<ID>”。
S2.4,第一设备根据预设索引算法,对第二访问地址进行索引计算,得到第二访问地址对应的第一目标索引信息。
可选地,预设索引算法可以是MD5算法,从而计算第二访问地址对应的MD5值,得到第二访问地址对应的第一目标索引信息可以为32位的MD5字符串。
沿用S2.2-S2.3中的示例,若预设索引算法是MD5算法,则对第二访问地址“/laws/tmp2/<ID>”进行索引计算,得到的第二访问地址对应的第一目标索引信息为“2B4C746E9946FAF05FA4DD89081472CA”。
S2.5,第一设备将第一目标索引信息和预先建立的第一映射关系进行匹配,得到第一目标索引信息对应的目标索引指针。
可选地,可预先建立各索引信息和索引指针之间的第一映射关系。第一映射关系可存储于预先创建的关联容器中。可选地,将第一目标索引信息和预先建立的第一映射关系进行匹配,可执行为:获取预先创建的关联容器,关联容器用于存储第一映射关系,从关联容器中获取第一映射关系,将第一目标索引信息和关联容器中的第一映射关系进行匹配。
可选地,预先创建的关联容器可以是MAP表。在预先创建的关联容器为MAP表的情况下,表中的关键字(key)为索引信息,表中值(value)为索引指针。示例性地,预先创建的MAP表中存储有索引信息“B594670F13CC50FD7F8CA81928FF907A”与索引指针“1”之间的映射关系,存储有索引信息“2B4C746E9946FAF05FA4DD89081472CA”与索引指针“2”之间的映射关系,存储有索引信息“B594670F13****************8FF907A”与索引指针“N”之间的映射关系,等等。沿用S2.2-S2.4中的示例,将第一目标索引信息“2B4C746E9946FAF05FA4DD89081472CA”和MAP表进行匹配,可得到第一目标索引信息对应的目标索引指针“2”。
S2.6,第一设备将目标索引指针和预先建立的指针指向关系进行匹配,得到目标索引指针对应的第一目标资源信息。
其中,第一目标资源信息包括第二访问地址、允许对第一目标资源执行的操作类型和操作类型对应的执行函数。可选地,第一目标资源信息中还可包括支持访问请求所携带的资源内容的格式,例如,XML、JSON、raw等。可选地,第一目标资源信息中可包括执行函数指针,执行函数指针指向操作类型对应的执行函数。可选地,可预先建立索引指针和资源信息之间的指针指向关系。指针指向关系可存储于第一设备的内存中。
示例性地,可预先建立索引指针“1”和资源信息1之间的指针指向关系,资源信息1包括第二访问地址“/laws/tmp1/<ID>”、允许对第一目标资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_1”;可预先建立索引指针“2”和资源信息2之间的指针指向关系,资源信息2包括第二访问地址“/laws/tmp2/<ID>”、允许对第一目标资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_2”;可预先建立索引指针“N”和资源信息N之间的指针指向关系,资源信息N包括第二访问地址“/laws/tmpN/<ID>”、允许对第一目标资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_n”;等等。
沿用S2.2-S2.5中的示例,将目标索引指针“2”和预先建立的指针指向关系进行匹配,可得到目标索引指针“2”对应的第一目标资源信息“资源信息2”。
S2.7,第一设备将第一目标资源信息和预先建立的第二映射关系进行匹配,得到第一目标资源信息对应的第一目标资源。
可选地,可预先建立资源信息和资源之间的第二映射关系。示例性地,可预先建立资源信息“1”和资源“考勤表”之间的第二映射关系,可预先建立资源信息“2”和资源“人员基本信息”之间的第二映射关系,等等。
沿用S2.2-S2.6中的示例,将第一目标资源信息“资源信息2”和预先建立的第二映射关系进行匹配,可得到第一目标资源信息对应的第一目标资源“人员基本信息”。
S2.8,第一设备在确定第一目标资源信息中包括的操作类型中,包括目标操作类型的情况下,对第一目标资源执行与访问请求携带的目标操作类型相应的操作。
可选地,对第一目标资源执行与目标操作类型相应的操作,可执行为:根据第一访问地址,查找第一目标资源中的目标资源内容,对目标资源内容执行与目标操作类型相应的操作。
可选地,第一设备在确定第一目标资源信息中包括的操作类型中,不包括目标操作类型的情况下,向第二设备发送报错信息。本实施例中,通过向第二设备发送报错信息,可使第二设备及时获知当前访问请求无法被第一设备处理,避免了第二设备在发送访问请求后进行长时等待。
沿用S2.2-S2.7中的示例,假设第一访问地址“/laws/tmp2/123”指向的内容为张三的人员基本信息,那么,根据第一访问地址查找到的第一目标资源中的目标资源内容即为张三的人员基本信息,对第一目标资源执行与目标操作类型相应的操作,即是获取张三的人员基本信息中的全部资源内容,将执行结果发送至第二设备即是将张三的人员基本信息中的全部资源内容发送至第二设备。
S2.9,第一设备将执行结果发送至第二设备。
可选地,访问请求还包括第二指定类节点,第二指定类节点包括本次访问操作的操作标识信息。第一设备将执行结果发送至第二设备之后,可向第二设备发送反馈信息,反馈信息用于标识第一设备已成功处理访问请求。反馈信息包括操作标识信息。
上述S2.1-S2.9的具体过程在上述实施例中已进行详细说明,此处不再赘述。
采用本申请实施例的技术方案,通过接收第二设备发送的针对第一目标资源的访问请求,访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型,若至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到不包括第一指定类节点的第二访问地址,从而根据预设索引算法,对第二访问地址进行索引计算,得到第二访问地址对应的第一目标索引信息,进而根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息,根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。可见,该技术方案中,第一设备通过将接收到的第一访问地址中的第一指定类节点替换为预设字符,实现了屏蔽第一访问地址中第一指定类节点的效果,比如对于若干个仅第一指定类节点不同的第一访问地址,将第一指定类节点替换为预设字符之后,得到的是相同的第二访问地址,从而第一设备中仅需存储第二访问地址对应的索引信息及上述映射关系。相较于现有方案而言,第一设备中存储的信息(如访问地址等)的数量大大减少,避免了第一设备给外部暴露过多的访问地址,节省了第一设备的存储资源,降低了第一设备的存储压力,且有利于提升第一设备对访问地址的检索效率,从而提升了第一设备对访问请求的响应速度。并且,在索引到第二访问地址对应的资源信息后,能够根据资源信息对资源执行与访问请求中的目标操作类型相应的操作,从而将执行结果发送至第二设备,确保了第一设备对访问请求的准确响应。
图3是根据本申请另一实施例的一种资源访问方法的泳道图。本实施例中,访问请求可以是RESTFUL风格的HTTP请求,第一设备可从第二设备发送的HTTP请求中剥离出第一访问地址,在第一指定类节点为纯数字节点、且第一访问地址中包括第一指定类节点的情况下,可利用预设字符替换第一指定类节点得到第二访问地址,将第二访问地址确定为第一目标索引信息,从而基于第一目标索引信息匹配出对应的第一目标资源,进而将对第一目标资源的处理结果返回至第二设备。如图3所示,资源访问方法可包括:
S3.1,第二设备向第一设备发送针对第一目标资源的访问请求,访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息。
S3.2,第一设备接收访问请求并剥离出第一访问地址。
沿用S2.2中的示例,剥离出的第一访问地址为“/laws/tmp2/123”。
S3.3,第一设备在第一访问地址中的至少一个字符节点中包括第一指定类节点的情况下,将第一指定类节点替换为预设字符,得到第二访问地址。
沿用S2.3中的示例,得到的第二访问地址为“/laws/tmp2/<ID>”。
S3.4,第一设备将第二访问地址确定为第一目标索引信息。
沿用S3.3中的示例,得到的第一目标索引信息为“/laws/tmp2/<ID>”。
S3.5,第一设备将第一目标索引信息和预先建立的第三映射关系进行匹配,得到第一目标索引信息对应的第一目标资源信息。
可选地,可预先建立各索引信息和各资源对应的资源信息之间的第三映射关系。第一目标资源信息包括第二访问地址、允许对第一目标资源执行的操作类型和操作类型对应的执行函数。可选地,第一目标资源信息中还可包括支持访问请求所携带的资源内容的格式,例如,XML、JSON、raw等。可选地,第一目标资源信息中可包括执行函数指针,执行函数指针指向操作类型对应的执行函数。
示例性地,可预先建立第二访问地址“/laws/tmp1/<ID>”和资源信息1之间的第三映射关系,资源信息1包括第二访问地址“/laws/tmp1/<ID>”、允许对第一目标资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_1”;可预先建立第二访问地址“/laws/tmp2/<ID>”和资源信息2之间的第三映射关系,资源信息2包括第二访问地址“/laws/tmp2/<ID>”、允许对第一目标资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_2”;可预先建立第二访问地址“/laws/tmpN/<ID>”和资源信息N之间的第三映射关系,资源信息N包括第二访问地址“/laws/tmpN/<ID>”、允许对第一目标资源执行的操作类型“GET、PUT、POST和DELETE”、支持访问请求所携带的资源内容的格式“XML、JSON和raw”和执行函数指针“pFunHandle_n”;等等。
沿用S3.4中的示例,将第二访问地址“/laws/tmp2/<ID>”和预先建立的第三映射关系进行匹配,可得到第二访问地址“/laws/tmp2/<ID>”对应的第一目标资源信息“资源信息2”。
S3.6,第一设备将第一目标资源信息和预先建立的第四映射关系进行匹配,得到第一目标资源信息对应的第一目标资源。
可选地,可预先建立资源信息和资源之间的第四映射关系。示例性地,可预先建立资源信息“1”和资源“人员基本信息”之间的第四映射关系,可预先建立资源信息“2”和资源“考勤表”之间的第四映射关系,等等。
沿用S3.5中的示例,将第一目标资源信息“资源信息2”和预先建立的第四映射关系进行匹配,可得到第一目标资源信息对应的第一目标资源“考勤表”。
S3.7,第一设备在确定第一目标资源信息中包括的操作类型中,包括目标操作类型的情况下,对第一目标资源执行与访问请求携带的目标操作类型相应的操作。
可选地,对第一目标资源执行与目标操作类型相应的操作,可执行为:根据第一访问地址,查找第一目标资源中的目标资源内容,对目标资源内容执行与目标操作类型相应的操作。
可选地,第一设备在确定第一目标资源信息中包括的操作类型中,不包括目标操作类型的情况下,向第二设备发送报错信息。本实施例中,通过向第二设备发送报错信息,可使第二设备及时获知当前访问请求无法被第一设备处理,避免了第二设备在发送访问请求后进行长时等待。
S3.8,第一设备将执行结果发送至第二设备。
可选地,访问请求还包括第二指定类节点,第二指定类节点包括本次访问操作的操作标识信息。第一设备将执行结果发送至第二设备之后,可向第二设备发送反馈信息,反馈信息用于标识第一设备已成功处理访问请求。反馈信息包括操作标识信息。
上述S3.1-S3.8的具体过程在上述实施例中已进行详细说明,此处不再赘述。
采用本申请实施例的技术方案,通过接收第二设备发送的针对第一目标资源的访问请求,访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型,若至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到不包括第一指定类节点的第二访问地址,从而确定第二访问地址对应的第一目标索引信息,进而根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息,根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。可见,该技术方案中,第一设备通过将接收到的第一访问地址中的第一指定类节点替换为预设字符,实现了屏蔽第一访问地址中第一指定类节点的效果,比如对于若干个仅第一指定类节点不同的第一访问地址,将第一指定类节点替换为预设字符之后,得到的是相同的第二访问地址,从而第一设备中仅需存储第二访问地址对应的索引信息及上述映射关系。相较于现有方案而言,第一设备中存储的信息(如访问地址等)的数量大大减少,避免了第一设备给外部暴露过多的访问地址,节省了第一设备的存储资源,降低了第一设备的存储压力,且有利于提升第一设备对访问地址的检索效率,从而提升了第一设备对访问请求的响应速度。并且,在索引到第二访问地址对应的资源信息后,能够根据资源信息对资源执行与访问请求中的目标操作类型相应的操作,从而将执行结果发送至第二设备,确保了第一设备对访问请求的准确响应。
图4是根据本申请另一实施例的一种资源访问方法的示意性流程图,本实施例中,资源访问方法应用于门禁设备。如图4所示,该方法包括:
S402,接收云端服务器发送的资源获取链接。资源获取链接包括待获取的第二目标资源的资源标识信息。
可选地,云端服务器可定期或者经人工触发向门禁设备发送资源获取链接,资源获取链接的表征形式可以为URL,例如,资源获取链接为“/ISAPI/AccessControl/UserInfo/asyncImportDatasTasks/d62f36e1103414/detai lStatus”。
示例性地,第二目标资源为云端服务器存储的总考勤表、云端服务器存储的人员总信息等。可选地,资源标识信息为能够标识待获取的资源的信息。示例性地,在第二目标资源为总考勤表的情况下,资源标识信息可以为总考勤表中的考勤日期、人员编号等信息,对应待获取的资源为某一(些)考勤日期下的资源,或者为某一(些)人员编号下的资源;在第二目标资源为人员总信息的情况下,资源标识信息可以为人员总信息中的人员编号,对应待获取的资源为某一(些)人员编号下的资源。可选地,第二目标资源与第一目标资源为相同的资源。
S404,根据资源获取链接,确定第二目标资源对应的资源存储地址。
可选地,可在门禁设备中预先建立各资源获取链接与资源对应的资源存储地址之间的第五映射关系。S404可执行为:将资源获取链接与预先建立的第五映射关系进行匹配,得到第二目标资源对应的资源存储地址。
可选地,资源获取链接除了包括资源标识信息之外,还包括第二指定类节点,第二指定类节点包括本次获取操作的操作标识信息。第二指定类节点可为纯字母节点或者为混合类节点。例如,若第二指定类节点为混合类节点,资源获取链接为“/ISAPI/AccessControl/UserInfo/asyncImportDatasTasks/d62f36e1103414/detailStatus”,则该资源获取链接中的第二指定类节点为“d62f36e1103414”。
在资源下发场景下,云端服务器能够向同一门禁设备多次下发资源获取链接,而在大批量下发场景下,云端服务器能够向与该云端服务器建立了网络连接的多个门禁设备下发资源获取链接,为使云端服务器准确记录各门禁设备每一次执行的获取操作,每一次获取操作的操作标识信息应各不相同,即第二指定类节点的节点内容应各不相同。可选地,第二指定类节点的节点内容为随机字符串,即操作标识信息为随机字符串。假设本次获取操作与下一次获取操作均用于获取总考勤表,那么,对于同一总考勤表的两次获取操作,随机字符串的内容各不相同。但在本实施例中,针对同一资源的多次获取操作的资源获取链接中,其他字符节点的内容完全一致,基于此,预先存储的第五映射关系中资源获取链接中的第二指定类节点可被替换为预设字符,以避免在门禁设备中存储过多的资源获取链接及资源获取链接与资源对应的资源存储地址之间的第五映射关系,节省了门禁设备的存储资源,降低了门禁设备的存储压力,且有利于提升门禁设备对资源获取链接的检索效率,从而提升了门禁设备对资源获取链接的响应速度。
可选地,用于替换纯字母节点或者混合类节点的预设字符的表征形式为[预设字符]。例如,预设字符为[ID];又例如,预设字符为[2666];又例如,预设字符为[dag];等等。示例性地,在预设字符为[ID]的情况下,对于资源获取链接“/ISAPI/AccessControl/UserInfo/asyncImportDatasTasks/d62f36e1103414/detailStatus”,与其匹配的第五映射关系中存储的是资源获取链接“/IS API/AccessControl/UserInfo/asyncImportDatasTasks/[ID]/detailStatus”与第二目标资源对应的资源存储地址。
S406,根据资源存储地址,从云端服务器上获取与资源标识信息对应的第二目标资源。
S408,确定第二目标资源对应的第二目标资源信息和第二目标索引信息。
可选地,第二目标资源信息包括第二访问地址、允许对第二目标资源执行的操作类型和操作类型对应的执行函数。可选地,第二目标资源信息中还可包括支持访问请求所携带的资源内容的格式,例如,XML、JSON、raw等。可选地,第二目标资源信息中可包括执行函数指针,执行函数指针指向操作类型对应的执行函数。
可选地,确定第二目标资源对应的第二目标索引信息,可执行为:根据预设索引算法,对第二访问地址进行索引计算,得到第二访问地址对应的第二目标索引信息;或者,将第二访问地址确定为第二目标索引信息。
本实施例中,第二目标资源信息的具体内容可参考第一目标资源信息的相关描述,确定第二目标索引信息的方式可参照第一目标索引信息的确定方式,此处不再赘述。
S410,存储第二目标资源信息、第二目标索引信息和第二目标资源之间的映射关系。
可选地,索引信息确定方式为根据预先创建的关联容器内的索引算法,对第二访问地址进行索引计算,得到第二访问地址对应的第一目标索引信息(即步骤A1),S410的具体实现方式可参见步骤B11-B14;索引信息确定方式为将第二访问地址确定为第一目标索引信息(即步骤A2),S410的具体实现方式可参见步骤B21-B24,此处不再赘述。
需要说明的是,在接收第二设备发送的针对第一目标资源的访问请求(即S102)之前,执行S402-S410是一种可行的实施方式,在这种情况下,第二目标资源与第一目标资源为相同的资源。若第二目标资源与第一目标资源为不同的资源,则需确保门禁设备中存储有第一目标资源。在实际应用中,若第二目标资源与第一目标资源为不同的资源,或者门禁设备中已存储第一目标资源,则S402-S410的执行时机还可以是在根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备(即S110)之后,或者在执行S102-S110的过程中。
本实施例中,云端服务器通过向门禁设备发送资源获取链接,以触发门禁设备从云端服务器获取资源,由于门禁设备对资源获取链接的响应速度各不相同,因此能够确保在大批量下发的场景下,降低云端服务器的资源下发任务并发量,从而提高将资源同时下发给门禁设备的效率。
在一个实施例中,资源获取链接除了包括资源标识信息之外,还包括第二指定类节点,第二指定类节点包括本次获取操作的操作标识信息。
本实施例中,存储第二目标资源信息、第二目标索引信息和第二目标资源之间的映射关系(即S410)之后,可向云端服务器发送反馈信息,反馈信息用于标识门禁设备已成功存储第二目标资源。其中,反馈信息包括操作标识信息。门禁设备通过将包含操作标识信息的反馈信息发送至云端服务器,可使云端服务器准确地将反馈信息与先前发送的资源获取链接进行对应,以便对资源下发情况进行准确记录。
可选地,反馈信息可用于标识门禁设备存储第二目标资源失败。
在一个实施例中,第二目标资源信息、第二目标索引信息和第二目标资源之间的映射关系包括:第二目标索引信息和索引指针之间的第一映射关系;索引指针和第二目标资源信息之间的指针指向关系;以及,第二目标资源信息和第二目标资源之间的第二映射关系。
本实施例中,存储第二目标资源信息、第二目标索引信息和第二目标资源之间的映射关系(即S410),可执行为:将第一映射关系存储于预先创建的关联容器中,以及,将第二映射关系和指针指向关系存储于第一设备的内存中。
可选地,预先创建的关联容器可以是MAP表,表中的关键字(key)为索引信息,表中值(value)为索引指针。
本实施例中,通过将各索引信息和对应的索引指针之间的第一映射关系存储于预先创建的关联容器中,如存储于预先创建的MAP表中,由于MAP表拥有快速索引的能力,因此能够确保在资源访问过程中,门禁设备快速响应云端服务器发起的访问请求,检索到索引信息对应的索引指针,从而根据索引指针检索到对应的资源信息。
下面通过一具体业务场景来说明本申请提供的资源访问方法。本申请提供的资源访问方法可应用于云端服务器将资源下发至门禁设备的场景。本实施例中,门禁设备响应于云端服务器发送的资源获取链接,获取资源,并对获取到的资源、资源对应的资源信息和索引信息,以及资源、资源信息和索引信息之间的映射关系进行存储。图5所示实施例以此场景为例进行说明。
S5.1,云端服务器向门禁设备发送针对第二目标资源的资源获取链接,资源获取链接包括待获取的第二目标资源的资源标识信息和第二指定类节点,第二指定类节点包括本次获取操作的操作标识信息。
示例性地,第二目标资源为云端服务器存储的总考勤表、云端服务器存储的人员总信息等。可选地,资源获取链接的表征形式可以为URL。资源标识信息为能够标识待获取的资源的信息。示例性地,在第二目标资源为总考勤表的情况下,资源标识信息可以为总考勤表中的考勤日期、人员编号等信息,对应待获取的资源为某一(些)考勤日期下的资源,或者为某一(些)人员编号下的资源。
S5.2,门禁设备将资源获取链接与预先建立的第五映射关系进行匹配,得到第二目标资源对应的资源存储地址。
可选地,可预先建立各资源获取链接与资源对应的资源存储地址之间的第五映射关系。
S5.3,门禁设备根据资源存储地址,从云端服务器上获取与资源标识信息对应的第二目标资源。
S5.4,门禁设备确定第二目标资源对应的第二目标资源信息和第二目标索引信息。
可选地,第二目标资源信息的具体内容可参考第一目标资源信息的相关描述,确定第二目标索引信息的方式可参照第一目标索引信息的确定方式,此处不再赘述。
S5.5,门禁设备存储第二目标资源信息、第二目标索引信息和第二目标资源之间的映射关系。
可选地,索引信息确定方式为根据预先创建的关联容器内的索引算法,对第二访问地址进行索引计算,得到第二访问地址对应的第一目标索引信息(即步骤A1),S5.5的具体实现方式可参见步骤B11-B14;索引信息确定方式为将第二访问地址确定为第一目标索引信息(即步骤A2),S5.5的具体实现方式可参见步骤B21-B24,此处不再赘述。
S5.6,门禁设备向云端服务器发送反馈信息,反馈信息用于标识门禁设备已成功存储第二目标资源。其中,反馈信息包括操作标识信息。
上述S5.1-S5.6的具体过程在上述实施例中已进行详细说明,此处不再赘述。
采用本申请实施例的技术方案,云端服务器通过向门禁设备发送资源获取链接,以触发门禁设备从云端服务器获取资源,由于门禁设备对资源获取链接的响应速度各不相同,因此能够确保在大批量下发的场景下,降低云端服务器的资源下发任务并发量,从而提高将资源同时下发给门禁设备的效率。并且,门禁设备能够将包含操作标识信息的反馈信息发送至云端服务器,可使云端服务器准确地将反馈信息与先前发送的资源获取链接进行对应,以便对资源下发情况进行准确记录。
综上,已经对本申请的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
以上为本申请实施例提供的资源访问方法,基于同样的思路,本申请实施例还提供一种资源访问装置。
图6是根据本申请一实施例的一种资源访问装置的结构示意图,本实施例中,资源访问装置应用于第一设备。如图6所示,资源访问装置可包括:
第一接收模块610,用于接收第二设备发送的针对第一目标资源的访问请求;访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型;
替换模块620,用于若至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到第二访问地址;第二访问地址中不包括第一指定类节点;
第一确定模块630,用于确定第二访问地址对应的第一目标索引信息;
第二确定模块640,用于根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息;
执行模块650,用于根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。
在一个实施例中,各索引信息、资源信息和资源之间的映射关系包括:各索引信息和索引指针之间的第一映射关系;索引指针和资源信息之间的指针指向关系;以及,资源信息和资源之间的第二映射关系;
第二确定模块640包括:
第一匹配单元,用于将第一目标索引信息和第一映射关系进行匹配,得到第一目标索引信息对应的目标索引指针;
第二匹配单元,用于将目标索引指针和指针指向关系进行匹配,得到目标索引指针对应的第一目标资源信息;第一目标资源信息包括第二访问地址、允许对第一目标资源执行的操作类型和操作类型对应的执行函数;
第三匹配单元,用于将第一目标资源信息和第二映射关系进行匹配,得到第一目标资源信息对应的第一目标资源。
在一个实施例中,第一匹配单元具体用于:
获取预先创建的关联容器,关联容器用于存储第一映射关系;
从关联容器中获取第一映射关系;
将第一目标索引信息和关联容器中的第一映射关系进行匹配。
在一个实施例中,资源访问装置还包括:
第一获取模块,用于获取存储于第一设备的多个资源,以及各资源分别对应的第一存储地址;
转换及计算模块,用于针对每个资源,对第一存储地址中的第一指定类节点进行转换操作,得到第二存储地址;第二存储地址中不包括第一指定类节点;根据预设索引算法,对第二存储地址进行计算,得到第二存储地址对应的索引信息;
建立模块,用于建立各索引信息和对应的索引指针之间的第一映射关系,建立各索引指针和各资源对应的资源信息之间的指针指向关系,以及,建立各资源信息和对应的资源之间的第二映射关系;资源信息包括第二存储地址、允许对资源执行的操作类型和操作类型对应的执行函数;
第一存储模块,用于将第一映射关系、第二映射关系和指针指向关系存储于第一设备。
在一个实施例中,资源访问装置还包括:
第二存储模块,用于将第一映射关系存储于预先创建的关联容器中,以及,将第二映射关系和指针指向关系存储于第一设备的内存中;
第二确定模块640包括:
第一获取及匹配单元,用于从关联容器中获取第一映射关系,以将第一目标索引信息和第一映射关系进行匹配;
第二获取及匹配单元,用于从第一设备的内存中获取指针指向关系,以将目标索引指针和指针指向关系进行匹配;以及,从第一设备的内存中获取第二映射关系,以将第一目标资源信息和第二映射关系进行匹配。
在一个实施例中,执行模块650包括:
判断单元,用于根据关联容器内的第一映射关系,以及第一设备的内存中的指针指向关系,判断第一目标资源信息中包括的操作类型中,是否包括目标操作类型;
执行单元,用于若是,则对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备;
发送单元,用于若否,则向第二设备发送报错信息。
在一个实施例中,第一确定模块630包括:
处理单元,用于根据预先创建的关联容器内的索引算法,对第二访问地址进行索引计算,得到第二访问地址对应的第一目标索引信息;或者,将第二访问地址确定为第一目标索引信息。
在一个实施例中,第一指定类节点包括纯数字节点;多个第一指定类节点对应唯一的预设字符。
在一个实施例中,访问请求还包括第二指定类节点,第二指定类节点包括本次访问操作的操作标识信息;
资源访问装置还包括:
发送模块,用于在将执行结果发送至第二设备之后,向第二设备发送反馈信息;反馈信息包括操作标识信息,反馈信息用于标识第一设备已成功处理访问请求。
采用本申请实施例的装置,通过接收第二设备发送的针对第一目标资源的访问请求,访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型,若至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到不包括第一指定类节点的第二访问地址,从而确定第二访问地址对应的第一目标索引信息,进而根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息,根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。可见,该装置中,第一设备通过将接收到的第一访问地址中的第一指定类节点替换为预设字符,实现了屏蔽第一访问地址中第一指定类节点的效果,比如对于若干个仅第一指定类节点不同的第一访问地址,将第一指定类节点替换为预设字符之后,得到的是相同的第二访问地址,从而第一设备中仅需存储第二访问地址对应的索引信息及上述映射关系。相较于现有方案而言,第一设备中存储的信息(如访问地址等)的数量大大减少,避免了第一设备给外部暴露过多的访问地址,节省了第一设备的存储资源,降低了第一设备的存储压力,且有利于提升第一设备对访问地址的检索效率,从而提升了第一设备对访问请求的响应速度。并且,在索引到第二访问地址对应的资源信息后,能够根据资源信息对资源执行与访问请求中的目标操作类型相应的操作,从而将执行结果发送至第二设备,确保了第一设备对访问请求的准确响应。
图7是根据本申请另一实施例的一种资源访问装置的结构示意图,本实施例中,资源访问装置应用于门禁设备。如图7所示,资源访问装置可包括:
第二接收模块710,用于接收云端服务器发送的资源获取链接;资源获取链接包括待获取的第二目标资源的资源标识信息;
第三确定模块720,用于根据资源获取链接,确定第二目标资源对应的资源存储地址;
第二获取模块730,用于根据资源存储地址,从云端服务器上获取与资源标识信息对应的第二目标资源;
第四确定模块740,用于确定第二目标资源对应的第二目标资源信息和第二目标索引信息;
第三存储模块750,用于存储第二目标资源信息、第二目标索引信息和第二目标资源之间的映射关系。
在一个实施例中,第二目标资源信息、第二目标索引信息和第二目标资源之间的映射关系包括:第二目标索引信息和索引指针之间的第一映射关系;索引指针和第二目标资源信息之间的指针指向关系;以及,第二目标资源信息和第二目标资源之间的第二映射关系;
第三存储模块750包括:
存储单元,用于将第一映射关系存储于预先创建的关联容器中,以及,将第二映射关系和指针指向关系存储于第一设备的内存中。
采用本申请实施例的装置,云端服务器通过向门禁设备发送资源获取链接,以触发门禁设备从云端服务器获取资源,由于门禁设备对资源获取链接的响应速度各不相同,因此能够确保在大批量下发的场景下,降低云端服务器的资源下发任务并发量,从而提高将资源同时下发给门禁设备的效率。
本领域的技术人员应可理解,图6和图7中的资源访问装置能够用来实现前文所述的资源访问方法,其中的细节描述应与前文方法部分描述类似,为避免繁琐,此处不另赘述。
基于同样的思路,本申请实施例还提供一种资源访问设备,如图8所示。资源访问设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器801和存储器802,存储器802中可以存储有一个或一个以上存储应用程序或数据。其中,存储器802可以是短暂存储或持久存储。存储在存储器802的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对资源访问设备中的一系列计算机可执行指令。更进一步地,处理器801可以设置为与存储器802通信,在资源访问设备上执行存储器802中的一系列计算机可执行指令。资源访问设备还可以包括一个或一个以上电源803,一个或一个以上有线或无线网络接口804,一个或一个以上输入输出接口805,一个或一个以上键盘806。
在一个实施例中,资源访问设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对资源访问设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
接收第二设备发送的针对第一目标资源的访问请求;访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型;
若至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到第二访问地址;第二访问地址中不包括第一指定类节点;
确定第二访问地址对应的第一目标索引信息;
根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息;
根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。
采用本申请实施例的设备,通过接收第二设备发送的针对第一目标资源的访问请求,访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型,若至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到不包括第一指定类节点的第二访问地址,从而确定第二访问地址对应的第一目标索引信息,进而根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息,根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。可见,该设备中,第一设备通过将接收到的第一访问地址中的第一指定类节点替换为预设字符,实现了屏蔽第一访问地址中第一指定类节点的效果,比如对于若干个仅第一指定类节点不同的第一访问地址,将第一指定类节点替换为预设字符之后,得到的是相同的第二访问地址,从而第一设备中仅需存储第二访问地址对应的索引信息及上述映射关系。相较于现有方案而言,第一设备中存储的信息(如访问地址等)的数量大大减少,避免了第一设备给外部暴露过多的访问地址,节省了第一设备的存储资源,降低了第一设备的存储压力,且有利于提升第一设备对访问地址的检索效率,从而提升了第一设备对访问请求的响应速度。并且,在索引到第二访问地址对应的资源信息后,能够根据资源信息对资源执行与访问请求中的目标操作类型相应的操作,从而将执行结果发送至第二设备,确保了第一设备对访问请求的准确响应。
在一个实施例中,资源访问设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对资源访问设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
接收云端服务器发送的资源获取链接;资源获取链接包括待获取的第二目标资源的资源标识信息;
根据资源获取链接,确定第二目标资源对应的资源存储地址;
根据资源存储地址,从云端服务器上获取与资源标识信息对应的第二目标资源;
确定第二目标资源对应的第二目标资源信息和第二目标索引信息;
存储第二目标资源信息、第二目标索引信息和第二目标资源之间的映射关系。
采用本申请实施例的设备,云端服务器通过向门禁设备发送资源获取链接,以触发门禁设备从云端服务器获取资源,由于门禁设备对资源获取链接的响应速度各不相同,因此能够确保在大批量下发的场景下,降低云端服务器的资源下发任务并发量,从而提高将资源同时下发给门禁设备的效率。
本申请实施例还提出了一种存储介质,该存储介质存储一个或多个计算机程序,该一个或多个计算机程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行上述的资源访问方法,并具体用于执行:
接收第二设备发送的针对第一目标资源的访问请求;访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型;
若至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到第二访问地址;第二访问地址中不包括第一指定类节点;
确定第二访问地址对应的第一目标索引信息;
根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息;
根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。
采用本申请实施例的存储介质,通过接收第二设备发送的针对第一目标资源的访问请求,访问请求包括第一目标资源对应的第一访问地址和对第一目标资源的操作信息,第一访问地址包括至少一个字符节点,操作信息包括目标操作类型,若至少一个字符节点中包括第一指定类节点,则将第一指定类节点替换为预设字符,得到不包括第一指定类节点的第二访问地址,从而确定第二访问地址对应的第一目标索引信息,进而根据第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与第一目标索引信息对应的第一目标资源和第一目标资源信息,根据第一目标资源信息,对第一目标资源执行与目标操作类型相应的操作,并将执行结果发送至第二设备。可见,该存储介质中,第一设备通过将接收到的第一访问地址中的第一指定类节点替换为预设字符,实现了屏蔽第一访问地址中第一指定类节点的效果,比如对于若干个仅第一指定类节点不同的第一访问地址,将第一指定类节点替换为预设字符之后,得到的是相同的第二访问地址,从而第一设备中仅需存储第二访问地址对应的索引信息及上述映射关系。相较于现有方案而言,第一设备中存储的信息(如访问地址等)的数量大大减少,避免了第一设备给外部暴露过多的访问地址,节省了第一设备的存储资源,降低了第一设备的存储压力,且有利于提升第一设备对访问地址的检索效率,从而提升了第一设备对访问请求的响应速度。并且,在索引到第二访问地址对应的资源信息后,能够根据资源信息对资源执行与访问请求中的目标操作类型相应的操作,从而将执行结果发送至第二设备,确保了第一设备对访问请求的准确响应。
本申请实施例还提出了一种存储介质,该存储介质存储一个或多个计算机程序,该一个或多个计算机程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行上述的资源访问方法,并具体用于执行:
接收云端服务器发送的资源获取链接;资源获取链接包括待获取的第二目标资源的资源标识信息;
根据资源获取链接,确定第二目标资源对应的资源存储地址;
根据资源存储地址,从云端服务器上获取与资源标识信息对应的第二目标资源;
确定第二目标资源对应的第二目标资源信息和第二目标索引信息;
存储第二目标资源信息、第二目标索引信息和第二目标资源之间的映射关系。
采用本申请实施例的存储介质,云端服务器通过向门禁设备发送资源获取链接,以触发门禁设备从云端服务器获取资源,由于门禁设备对资源获取链接的响应速度各不相同,因此能够确保在大批量下发的场景下,降低云端服务器的资源下发任务并发量,从而提高将资源同时下发给门禁设备的效率。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种资源访问方法,其特征在于,应用于第一设备,所述方法包括:
接收第二设备发送的针对第一目标资源的访问请求;所述访问请求包括所述第一目标资源对应的第一访问地址和对所述第一目标资源的操作信息,所述第一访问地址包括至少一个字符节点,所述操作信息包括目标操作类型;
若所述至少一个字符节点中包括第一指定类节点,则将所述第一指定类节点替换为预设字符,得到第二访问地址;所述第二访问地址中不包括所述第一指定类节点;
确定所述第二访问地址对应的第一目标索引信息;
根据所述第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与所述第一目标索引信息对应的所述第一目标资源和第一目标资源信息;
根据所述第一目标资源信息,对所述第一目标资源执行与所述目标操作类型相应的操作,并将执行结果发送至所述第二设备。
2.根据权利要求1所述的方法,其特征在于,所述各索引信息、资源信息和资源之间的映射关系包括:所述各索引信息和索引指针之间的第一映射关系;所述索引指针和所述资源信息之间的指针指向关系;以及,所述资源信息和所述资源之间的第二映射关系;
所述根据所述第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与所述第一目标索引信息对应的所述第一目标资源和第一目标资源信息,包括:
将所述第一目标索引信息和所述第一映射关系进行匹配,得到所述第一目标索引信息对应的目标索引指针;
将所述目标索引指针和所述指针指向关系进行匹配,得到所述目标索引指针对应的第一目标资源信息;所述第一目标资源信息包括所述第二访问地址、允许对所述第一目标资源执行的操作类型和所述操作类型对应的执行函数;
将所述第一目标资源信息和所述第二映射关系进行匹配,得到所述第一目标资源信息对应的所述第一目标资源。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一目标索引信息和所述第一映射关系进行匹配,包括:
获取预先创建的关联容器,所述关联容器用于存储所述第一映射关系;
从所述关联容器中获取所述第一映射关系;
将所述第一目标索引信息和所述关联容器中的所述第一映射关系进行匹配。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取存储于所述第一设备的多个资源,以及各所述资源分别对应的第一存储地址;
针对每个所述资源,对所述第一存储地址中的所述第一指定类节点进行转换操作,得到第二存储地址;所述第二存储地址中不包括所述第一指定类节点;根据所述预设索引算法,对所述第二存储地址进行计算,得到所述第二存储地址对应的索引信息;
建立各所述索引信息和对应的索引指针之间的所述第一映射关系,建立各所述索引指针和各所述资源对应的资源信息之间的所述指针指向关系,以及,建立各所述资源信息和对应的所述资源之间的所述第二映射关系;所述资源信息包括所述第二存储地址、允许对所述资源执行的操作类型和所述操作类型对应的执行函数;
将所述第一映射关系、所述第二映射关系和所述指针指向关系存储于所述第一设备。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述第一映射关系存储于预先创建的关联容器中,以及,将所述第二映射关系和所述指针指向关系存储于所述第一设备的内存中;
所述根据所述第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与所述第一目标索引信息对应的所述第一目标资源和第一目标资源信息,包括:
从所述关联容器中获取所述第一映射关系,以将所述第一目标索引信息和所述第一映射关系进行匹配;
从所述第一设备的内存中获取所述指针指向关系,以将所述目标索引指针和所述指针指向关系进行匹配;以及,从所述第一设备的内存中获取所述第二映射关系,以将所述第一目标资源信息和所述第二映射关系进行匹配。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一目标资源信息,对所述第一目标资源执行与所述目标操作类型相应的操作,并将执行结果发送至所述第二设备,包括:
根据所述关联容器内的所述第一映射关系,以及所述第一设备的内存中的所述指针指向关系,判断所述第一目标资源信息中包括的所述操作类型中,是否包括所述目标操作类型;
若是,则对所述第一目标资源执行与所述目标操作类型相应的操作,并将所述执行结果发送至所述第二设备;
若否,则向所述第二设备发送报错信息。
7.根据权利要求1所述的方法,其特征在于,所述确定所述第二访问地址对应的第一目标索引信息,包括:
根据预先创建的关联容器内的索引算法,对所述第二访问地址进行索引计算,得到所述第二访问地址对应的所述第一目标索引信息;或者,将所述第二访问地址确定为所述第一目标索引信息。
8.根据权利要求1所述的方法,其特征在于,所述第一指定类节点包括纯数字节点;多个所述第一指定类节点对应唯一的所述预设字符。
9.根据权利要求1所述的方法,其特征在于,所述访问请求还包括第二指定类节点,所述第二指定类节点包括本次访问操作的操作标识信息;
所述将执行结果发送至所述第二设备之后,所述方法还包括:
向所述第二设备发送反馈信息;所述反馈信息包括所述操作标识信息,所述反馈信息用于标识所述第一设备已成功处理所述访问请求。
10.一种资源访问方法,其特征在于,应用于门禁设备,所述方法包括:
接收云端服务器发送的资源获取链接;所述资源获取链接包括待获取的第二目标资源的资源标识信息;
根据所述资源获取链接,确定所述第二目标资源对应的资源存储地址;
根据所述资源存储地址,从所述云端服务器上获取与所述资源标识信息对应的所述第二目标资源;
确定所述第二目标资源对应的第二目标资源信息和第二目标索引信息;
存储所述第二目标资源信息、所述第二目标索引信息和所述第二目标资源之间的映射关系。
11.根据权利要求10所述的方法,其特征在于,所述第二目标资源信息、所述第二目标索引信息和所述第二目标资源之间的映射关系包括:所述第二目标索引信息和索引指针之间的第一映射关系;所述索引指针和所述第二目标资源信息之间的指针指向关系;以及,所述第二目标资源信息和所述第二目标资源之间的第二映射关系;
所述存储所述第二目标资源信息、所述第二目标索引信息和所述第二目标资源之间的映射关系,包括:
将所述第一映射关系存储于预先创建的关联容器中,以及,将所述第二映射关系和所述指针指向关系存储于所述第一设备的内存中。
12.一种资源访问装置,其特征在于,应用于第一设备,所述装置包括:
第一接收模块,用于接收第二设备发送的针对第一目标资源的访问请求;所述访问请求包括所述第一目标资源对应的第一访问地址和对所述第一目标资源的操作信息,所述第一访问地址包括至少一个字符节点,所述操作信息包括目标操作类型;
替换模块,用于若所述至少一个字符节点中包括第一指定类节点,则将所述第一指定类节点替换为预设字符,得到第二访问地址;所述第二访问地址中不包括所述第一指定类节点;
第一确定模块,用于确定所述第二访问地址对应的第一目标索引信息;
第二确定模块,用于根据所述第一目标索引信息,以及各索引信息、资源信息和资源之间的映射关系,确定与所述第一目标索引信息对应的所述第一目标资源和第一目标资源信息;
执行模块,用于根据所述第一目标资源信息,对所述第一目标资源执行与所述目标操作类型相应的操作,并将执行结果发送至所述第二设备。
13.一种资源访问装置,其特征在于,应用于门禁设备,所述装置包括:
第二接收模块,用于接收云端服务器发送的资源获取链接;所述资源获取链接包括待获取的第二目标资源的资源标识信息;
第三确定模块,用于根据所述资源获取链接,确定所述第二目标资源对应的资源存储地址;
第二获取模块,用于根据所述资源存储地址,从所述云端服务器上获取与所述资源标识信息对应的所述第二目标资源;
第四确定模块,用于确定所述第二目标资源对应的第二目标资源信息和第二目标索引信息;
第三存储模块,用于存储所述第二目标资源信息、所述第二目标索引信息和所述第二目标资源之间的映射关系。
14.一种资源访问设备,其特征在于,所述设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令被配置由所述处理器执行,所述可执行指令被所述处理器执行以实现如权利要求1-9任一项所述的资源访问方法,或者,实现如权利要求10-11任一项所述的资源访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210749425.7A CN115795187A (zh) | 2022-06-29 | 2022-06-29 | 资源访问方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210749425.7A CN115795187A (zh) | 2022-06-29 | 2022-06-29 | 资源访问方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115795187A true CN115795187A (zh) | 2023-03-14 |
Family
ID=85431234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210749425.7A Pending CN115795187A (zh) | 2022-06-29 | 2022-06-29 | 资源访问方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115795187A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194439A (zh) * | 2023-11-07 | 2023-12-08 | 杭州优云科技有限公司 | 一种资源存储系统的创建方法、电子设备及存储介质 |
-
2022
- 2022-06-29 CN CN202210749425.7A patent/CN115795187A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194439A (zh) * | 2023-11-07 | 2023-12-08 | 杭州优云科技有限公司 | 一种资源存储系统的创建方法、电子设备及存储介质 |
CN117194439B (zh) * | 2023-11-07 | 2024-03-22 | 杭州优云科技有限公司 | 一种资源存储系统的创建方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9742721B2 (en) | Method, system, server and client device for message synchronizing | |
US11064053B2 (en) | Method, apparatus and system for processing data | |
US9305176B2 (en) | Database generation from a spreadsheet | |
CN111291103B (zh) | 接口数据的解析方法、装置、电子设备及存储介质 | |
CN110019080B (zh) | 数据访问方法和装置 | |
CN112883125A (zh) | 一种实体数据处理方法、装置、设备和存储介质 | |
CN107423037B (zh) | 应用程序接口定位方法及设备 | |
CN111950857A (zh) | 基于业务指标的指标体系管理方法、装置以及电子设备 | |
CN113190517B (zh) | 数据集成方法、装置、电子设备和计算机可读介质 | |
JP2021068448A (ja) | データマッピングのための方法、装置、及びシステム | |
CN115795187A (zh) | 资源访问方法、装置及设备 | |
CN111178025A (zh) | 核电站运行导则的编辑方法、装置、计算机设备及存储介质 | |
CN111488386B (zh) | 数据查询方法和装置 | |
CN112579673A (zh) | 一种多源数据处理方法及装置 | |
CN110443058A (zh) | 一种xml文档脱敏的方法及装置 | |
CN111078773A (zh) | 一种数据处理方法及装置 | |
CN115295166A (zh) | 一种指标数据处理方法和装置 | |
CN115034175A (zh) | 表格数据处理方法、装置、终端和存储介质 | |
CN117009430A (zh) | 数据管理方法、装置和存储介质及电子设备 | |
CN113393288A (zh) | 订单处理信息生成方法、装置、设备和计算机可读介质 | |
CN113590985A (zh) | 页面跳转配置方法、装置、电子设备和计算机可读介质 | |
CN111353279A (zh) | 字符编码的转换方法、装置和计算机存储介质 | |
CN113282624B (zh) | 规则匹配方法、装置、电子设备及存储介质 | |
CN111680112B (zh) | 一种数据分析方法及装置 | |
CN111177588B (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 |