CN106339267A - 一种对象查询方法及服务端 - Google Patents

一种对象查询方法及服务端 Download PDF

Info

Publication number
CN106339267A
CN106339267A CN201610811895.6A CN201610811895A CN106339267A CN 106339267 A CN106339267 A CN 106339267A CN 201610811895 A CN201610811895 A CN 201610811895A CN 106339267 A CN106339267 A CN 106339267A
Authority
CN
China
Prior art keywords
query
information
corresponding relation
service end
query information
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.)
Granted
Application number
CN201610811895.6A
Other languages
English (en)
Other versions
CN106339267B (zh
Inventor
李亿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610811895.6A priority Critical patent/CN106339267B/zh
Publication of CN106339267A publication Critical patent/CN106339267A/zh
Application granted granted Critical
Publication of CN106339267B publication Critical patent/CN106339267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种对象查询方法及服务端,涉及通信技术领域,用于提高服务端查询对象时的查询速度。该方法包括:接收客户端发送的第一查询信息;查询第一对应关系,若所述第一对应关系包含所述第一查询信息,从所述第一对应关系中获取与所述第一查询信息对应的第一对象信息;其中,所述第一对应关系位于服务端的内存中,且包括至少一个查询信息、以及与所述至少一个查询信息中每个查询信息对应的对象信息;根据所述第一对象信息确定第一目标对象。

Description

一种对象查询方法及服务端
技术领域
本发明涉及通信技术领域,尤其涉及一种对象查询方法及服务端。
背景技术
目前,使用c++/java等面向对象的语言开发的应用程序,通常是使用远程过程调用(Remote Procedure Call,RPC)来实现相互之间的通信,比如,一台计算机上的应用程序通过发送消息到另一台计算机上的方式,调用另一台计算机上的函数和方法。现有技术中的大部分客户端和服务端都使用面向对象的语言开发的应用程序,且客户端向服务端发送的查询消息就是基于RPC来进行通信的。
其中,当客户端向服务端发送查询消息时,服务端可以通过以下流程处理该查询消息:接收消息-->解析消息-->消息合法性检查-->访问权限检查-->在内存或其他存储系统中查找查询对象-->返回客户端结果。同时,服务端会将找到的查询对象缓存在内存中,当下次再次查询该查询对象时,可以在访问权限检查通过之后,直接从内存中获取该查询对象,以提高查询速度。
但是,上述提高查询速度的方法只对根据查询对象的标识查找查询对象的过程进行了优化,能够提高的查询速度也是有限的。
发明内容
本发明的实施例提供一种对象查询方法及服务端,解决了现有技术中服务端查询速度低的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种对象查询方法,该方法包括:接收客户端发送的第一查询信息;查询第一对应关系,以确定第一对应关系中是否包含第一查询信息,若第一对应关系包含第一查询信息,则从第一对应关系中获取与第一查询信息对应的第一对象信息,并根据第一对象信息确定第一目标对象;其中,第一对应关系位于服务端的内存中,且包括至少一个查询信息、以及与至少一个查询信息中每个查询信息对应的对象信息。上述技术方案中,可以使服务端在接收到第一查询信息时,直接从第一对应关系中获取对应的第一对象信息,并根据第一对象信息确定第一目标对象,从而在保证查询性能的同时提高服务端的查询速度。
在一种可能的实现方式中,根据第一对象信息确定第一目标对象,包括:若对象信息包括查询对象,将第一查询信息包括的第一查询对象确定为第一目标对象;或者,若对象信息为查询对象标识,根据第一查询信息包括的第一查询对象标识,从第二对应关系中获取与第一查询对象标识对应的查询对象,并将获取的查询对象确定为第一目标对象;其中,第二对应关系位于除内存之外的存储系统中,且包括至少一个查询对象标识,以及与至少一个查询对象标识中每个查询对象标识对应的查询对象。上述可选的技术方案中,根据对象信息包括查询对象或查询对象标识,提供了对应的两种不同的确定第一目标对象的方法,从而在对象信息包括查询对象时,可以快速的根据第一对象信息确定第一目标对象,在查询对象包括查询对象标识,服务端的内存中未存储第一查询对象时,可以使服务端通过第一查询对象标识,快速的从存储系统中获取第一对象信息,进而确定第一目标对象。
在一种可能的实现方式中,该方法还包括:若第一对应关系不包含第一查询信息,按照预设处理流程对第一查询信息进行处理,即对第一查询信息进行解析、合法化检查、访问权限检查,并根据解析后得到的查询信息确定查询的对象信息,从而得到第一查询信息对应的第一对象信息。上述可选的技术方案中,在第一对应关系不包含第一查询信息时,可以使服务端通过预设处理流程来确定第一对象信息。
在一种可能的实现方式中,按照预设处理流程对第一查询信息进行处理,得到第一查询信息对应的第一对象信息之后,该方法还包括:将第一查询信息、以及按照预设处理流程处理第一查询信息得到的第一对象信息,对应地存储在第一对应关系中,以便于服务端在后续接收到相同的查询信息时,可以直接从第一对应关系中获取,进而在保证查询性能的同时提高查询速度。可选的,当第一对应关系中包含的是查询信息与查询对象之间的对应关系时,第一对象信息包括第一查询对象,服务端可以将第一查询信息添加在第一对应关系包括的查询信息中,并将第一查询对象对应的添加在与第一查询信息对应的查询对象中;当第一对应关系中包含的是查询信息与查询对象标识之间的对应关系时,第一对象信息包括第一查询对象标识,服务端也可以同样将第一查询信息和第一查询对象标识对应的添加在第一对应关系包括的查询信息和查询对象标识中。
在一种可能的实现方式中,该方法还包括:若第一对应关系包含第二查询信息,且第二查询对象满足预设条件,服务端从第一对应关系中删除第二查询信息,以及与第二查询信息对应的第二对象信息;其中,预设条件包括以下任一种或者任一种组合:第二查询对象的访问权限发生变化,第二查询对象的合法性检查规则发生变化,第二查询对象被删除等。上述可选的技术方案中,在第二查询对象的访问权限发生变化,和/或合法性检查规则发生变化,和/或第二查询对象被删除时,可以将第二查询信息和第二对象信息从第一对应关系中删除,从而可以保证用户数据的可靠性和安全性。
第二方面,提供一种服务端,该服务端包括:接收单元,用于接收客户端发送的第一查询信息;获取单元,用于查询第一对应关系,若第一对应关系包含第一查询信息,从第一对应关系中获取与第一查询信息对应的第一对象信息;其中,第一对应关系位于服务端的内存中,且包括至少一个查询信息、以及与至少一个查询信息中每个查询信息对应的对象信息;确定单元,用于根据第一对象信息确定第一目标对象。
在一种可能的实现方式中,确定单元具体用于:若对象信息包括查询对象,将第一查询信息包括的第一查询对象确定为第一目标对象;或者,若对象信息为查询对象标识,根据第一查询信息包括的第一查询对象标识,从第二对应关系中获取与第一查询对象标识对应的查询对象,并将获取的查询对象确定为第一目标对象;其中,第二对应关系位于除内存之外的存储系统中,且包括至少一个查询对象标识,以及与至少一个查询对象标识中每个查询对象标识对应的查询对象。
在一种可能的实现方式中,获取单元还用于:若第一对应关系不包含第一查询信息,按照预设处理流程对第一查询信息进行处理,得到第一查询信息对应的第一对象信息;其中,预设处理流程包括:解析、合法化检查、访问权限检查和确定查询的对象信息。
在一种可能的实现方式中,该服务端还包括:存储单元,用于将第一查询信息、以及按照预设处理流程处理第一查询信息得到的第一对象信息,对应地存储在第一对应关系中。
在一种可能的实现方式中,该服务端还包括:删除单元,用于若第一对应关系包含第二查询信息,且第二查询对象满足预设条件,从第一对应关系中删除第二查询信息,以及与第二查询信息对应的第二对象信息;其中,预设条件包括以下任一种或者任一种组合:第二查询对象的访问权限发生变化,第二查询对象的合法性检查规则发生变化,第二查询对象被删除。
第三方面,本申请提供一种设备,该设备包括至少一个处理器、存储器和通信接口;所述至少一个处理器、所述存储器和所述通信接口均通过总线连接;所述通信接口用于与客户端进行数据交互;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述设备执行上述第一方面或者第一方面的各种可能的实现方式所提供的对象查询方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,设备执行上述第一方面或者第一方面的各种可能的实现方式所提供的对象查询方法。
第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述第一方面或者第一方面的各种可能的实现方式所提供的对象查询方法。
本发明的实施例提供的一种对象查询方法及服务端,服务端通过在接收到客户端发送的第一查询信息时,查询第一对应关系,若第一对应关系包含第一查询信息,则从第一对应关系中获取与第一查询信息对应的第一对象信息,其中,第一对应关系位于服务端的内存中,且包括至少一个查询信息、以及与所述至少一个查询信息中每个查询信息对应的对象信息,之后服务端根据第一对象信息确定第一目标对象,从而可以在保证查询性能的同时提高服务端的查询速度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种通信系统的结构示意图;
图2为本发明实施例提供的一种服务端所在设备的结构示意图;
图3为本发明实施例提供的一种对象查询方法的流程示意图;
图4为本发明实施例提供的另一种对象查询方法的流程示意图;
图5为本发明实施例提供的又一种对象查询方法的流程示意图;
图6为本发明实施例提供的一种服务端的结构示意图;
图7为本发明实施例提供的另一种服务端所在设备的逻辑结构示意图;
图8为本发明实施例提供的又一种服务端所在设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。符号“/”一般表示前后关联对象是一种“或”的关系。
本发明实施例应用于基于远程过程调用(Remote Procedure Call,RPC)技术的客户端与服务端之间进行通信场景中,且客户端和服务端可以部署在同一设备上,也可以部署在不同的设备,部署该客户端和服务端的设备可以是计算机设备或者其他具有计算能力的设备。其中,客户端和服务端基于RPC的通信过程可以为:客户端调用进程发送一个有进程参数的调用信息到服务端,然后等待应答信息。在服务端,服务进程保持睡眠状态直到调用信息的到达为止,当一个调用信息到达时,服务端获得进程参数,并经过一系列复杂的操作确定结果,之后向客户端发送应答信息,比如,当客户端向服务端发送查询消息时,服务端可以通过以下一系列操作来处理该查询消息:接收消息-->解析消息-->消息合法性检查-->访问权限检查-->在内存或存储系统中查找查询对象-->返回客户端结果。最后,客户端的调用进程接收该应答信息,并获得进程结果,比如,当客户端接收到服务端返回的结果时,客户端可以从该结果中获取对应的查询对象。
本发明的基本原理在于,当服务端接收到查询信息时,服务端可以无需做任何处理,直接根据该查询信息从存储的历史查询记录中查找该查询信息对应的对象信息,从而确定最终查询的目标对象,进而在保证查询性能的同时提高服务端的查询速度。
图1为本发明实施例提供的一种通信系统的网络架构图,参见图1,该通信系统包括服务端101和客户端102,服务端101和客户端102都部署在通信系统中的相同设备或不同设备上。其中,服务端101为客户端102提供服务。在通信系统中,服务端101承担着数据的存储、转发、发布等关键任务,是基于客户端/服务端(Client/Server,C/S)模式中不可或缺的重要组成部分。客户端102作为通信系统中被服务的对象,可以分别部署在通信系统中的一个或者多个设备上,该设备可以是手机、平板电脑、笔记本、计算机、以及便携式设备等。
其中,图1所示的服务端101和客户端102是以二者独立部署在不同的设备上为例进行说明,本发明中的服务端101和客户端102还可以同时部署在同一设备上,上述图1并不对本发明构成限定。
图2为本发明实施例提供的一种设备的结构示意图,部署在该设备上的服务端可以作为上述图1所示的服务端101,参见图2,该设备包括存储器1011、处理器1012、系统总线1013、电源组件1014、输入\输出接口1015和通信组件1016等。
其中,存储器1011可用于存储数据、软件程序以及模块,主要包括存储程序区和存储数据区,存储程序区可存储操作系统、至少一个功能所需的应用程序等,存储数据区可存储设备的使用所创建的数据等。存储器1011可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘等等。处理器1012通过运行或执行存储在存储器1011内的软件程序和/或模块,以及调用存储在存储器1011内的数据,执行设备的各种功能和处理数据。此外,处理器1012可以包括一个或多个模块,便于处理器1012和其他组件之间的交互。系统总线1013包括地址总线、数据总线、控制总线,用于传输数据和指令;电源组件1014用于为设备的各个组件提供电源;输入\输出接口1015为处理器1012和外围接口模块之间提供接口;通信组件1016用于为设备和其他设备之间进行有线或无线方式的通信,比如,通信组件1016可以用于为服务端和客户端提供有线或无线方式的通信。
本领域技术人员可以理解,图2示出的设备的结构并不构成对其结构的限定。在实际应用中,设备还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
图3为本发明实施例提供的一种对象查询方法的流程示意图,参见图3,该方法包括以下几个步骤。
步骤201:服务端接收客户端发送的第一查询信息。
其中,该服务端和客户端可以部署在同一设备上,也可以部署在不同的设备上,且部署服务端和/或客户端的设备可以为计算机设备,或者其他具有计算能力的设备。当然,在实际应用中,部署该服务端的设备还可以为其他设备,本发明实施例对此不做具体限定。另外,该服务端还可以部署在数据中心或者云计算平台中。
另外,该服务端和客户端使用的是面向对象的编程语言,比如c++或java语言等,且对于面向对象的编程语言来说,该服务端和客户端通常处理的是数据结构或者对象,但是服务端和客户端进行通信时,通信网络只能传送二进制数据流,因此客户端在向服务端发送查询信息之前,需要先将其进行序列化,得到二进制数据,再发送给服务端;也即是,服务端接收到的第一查询信息以二进制表示的信息,比如,第一查询信息可以为11101010。
可选的,该第一查询信息具体可以为查询某个文件的路径、类型或者属性信息等等,也可以为查询某个节点的路径或类型的信息等等,当然,在实际应用中,该第一查询信息也可以为其他信息,本发明实施例对此不做具体限定。
需要说明的是,序列化是指将数据结构或者对象转换为二进制数据的过程;相反,将序列化过程中所生成的二进制数据转换为数据结构或者对象的过程称为反序列化。
步骤202:服务端查询第一对应关系,若第一对应关系包含第一查询信息,服务端从第一对应关系中获取与第一查询信息对应的第一对象信息;其中,第一对应关系位于服务端的内存中,且包括至少一个查询信息、以及与至少一个查询信息中每个查询信息对应的对象信息。
其中,第一对应关系是服务端基于历史的查询信息和与其对应的查询对象建立的查询信息与查询对象之间的对应关系;也即是,第一对应关系中包括的至少一个查询信息中的每个查询信息都是服务端之前接收到的查询信息,与其对应的对象信息也是服务端基于之前接收的查询信息获取到的对象信息。
需要说明的是,在本发明实施例中,对象和查询对象的含义是一致的,该对象或查询对象可以是任何待查询数据,比如,该对象或查询对象可以是节点、文件、或者目录等等。查询对象标识用于唯一标识该查询对象,比如,当查询对象为文件时,查询对象标识可以为该文件的文件名、或者该文件的路径等等,本发明实施例对此不做限定。
另外,第一对应关系中的对象信息包括查询对象或者查询对象标识。也即是,第一对应关系是查询信息与查询对象之间的对应关系;或者,第一对应关系是查询信息与查询对象标识之间的对应关系。
比如,当第一对应关系中的对象信息包括查询对象时,该第一对应关系可以如下表1所示,当第一查询信息为信息1时,若与第一查询信息对应的第一对象信息为对象1,则服务端查询如下表1所示的第一对应关系,第一对应关系包含信息1,则服务端从第一对应关系中获取与信息1对应的第一对象信息为对象1。
表1
查询信息 查询对象
信息1 对象1
信息2 对象2
…… ……
比如,当第一对应关系中的对象信息包括查询对象标识时,该第一对应关系可以如下表2所示,当第一查询信息为信息1时,若与第一查询信息对应的第一对象信息为标识1,则服务端查询如下表2所示的第一对应关系,第一对应关系包含信息1,则服务端从第一对应关系中获取与信息1对应的第一对象信息为标识1。
表2
查询信息 查询对象标识
信息1 标识1
信息2 标识2
…… ……
需要说明的是,上述表1所示的包括查询信息和查询对象的第一对应关系和上述表2所示的包括查询信息和查询对象标识的第一对应关系仅为示例性的,上述表1和表2并不对本发明构成限定。
具体的,当服务端接收到第一查询信息时,服务端可以先查询第一对应关系,确定第一对应关系中是否包含第一查询信息,若第一对应关系中包含第一查询信息,则服务端可以基于第一查询信息,直接从第一对应关系中获取与第一查询信息对应的第一对象信息。
需要说明的是,第一对应关系中包括的至少一个查询信息与第一查询信息类似,都是未进行反序列化的信息,即至少一个查询信息都是以二进制表示的信息。
步骤203:服务端根据第一对象信息确定第一目标对象。
其中,第一目标对象是指客户端发送第一查询信息所请求查询的对象,该第一目标对象可以是某一文件,或者某一文件的类型或者属性等等,服务端在根据第一对象信息确定第一目标对象后,还可以将该第一目标对象发送给客户端,从而完成客户端与服务端之间的查询过程。
由于对象信息可以包括查询对象或者查询对象标识,因此,服务端获取的第一对象信息也可以包括第一查询对象或者第一查询对象标识,而对于不同的对象信息,服务端确定第一目标对象的方法会有所不同,下面分别进行阐述。
若对象信息包括查询对象,则服务端获取的第一对象信息包括第一查询对象,从而服务端可以直接将第一查询对象确定为第一目标对象。也即是,当第一对应关系包含第一查询信息,且为查询信息与查询对象之间的对应关系时,服务端获取的第一对象信息就包括第一查询对象,从而直接将第一查询对象确定为第一目标对象即可。
若对象信息为查询对象标识,则服务端获取的第一对象信息包括第一查询对象标识,从而服务端可以根据第一查询对象标识,从第二对应关系中获取与第一查询对象标识对应的查询对象,并将获取的查询对象确定为第一目标对象。其中,第二对应关系位于除内存之外的存储系统中,且包括至少一个查询对象标识,以及与至少一个查询对象标识中每个查询对象标识对应的查询对象。
也即是,当第一对应关系包含第一查询信息,且为查询信息与查询对象标识之间的对应关系时,服务端获取的第一对象信息包括的是第一查询对象标识,而不是第一查询对象,因此,服务端还需要根据第一查询对象标识,从第二对应关系中获得第一查询对象,从而将其确定为第一目标对象。
其中,该存储系统是指存储事物信息的系统,比如,该存储系统可以为DAS(DirectAccess Storage,直接存取存储器),SAN(Storage Area Network,存储区域网),NAS(Network Attached Storage,网络附加存储器),也可以是服务端设备的硬盘或者磁盘等等。服务端根据第一查询对象标识,从存储系统中存储的第二对应关系中获得第一查询对象时,服务端可以通过调用查询系统接口的方式来获取第一查询对象,具体调用查询系统接口的方法可以参考相关技术,本发明实施例在此不做阐述。
需要说明的是,在本发明实施例中,服务端的内存是指服务端所在设备的内存,服务端可以直接进行访问该内存的存储区域。相对地,服务端所在设备还包括外部存储介质,例如硬盘或磁盘,服务端可以通过系统接口来访问外部存储介质;在发明实施例中,服务端所在设备的外部存储介质可以属于存储系统。另外,在发明实施例中,服务端所在设备的内存和外部存储介质可以统一称为服务端所在设备的存储器。
进一步的,参见图4,在服务端查询第一对应关系之后,该方法还包括:步骤204-步骤205。
步骤204:若第一对应关系不包含第一查询信息,服务端按照预设处理流程对第一查询信息进行处理,得到第一查询信息对应的第一对象信息;预设处理流程包括:解析、合法化检查、访问权限检查和确定查询的对象信息。
具体的,若第一对应关系中不包含第一查询信息,则服务端可以按照预设处理流程对第一查询信息进行处理,即服务端对第一查询信息进行解析,并对解析得到的查询信息进行合法化检查,在合法化检查通过之后,再根据该解析得到的查询信息对应的访问权限确定其客户端是否具有访问权限,若访问权限检查通过,则根据解析后的查询信息查询获取对应的第一对象信息。进而,服务端可以根据第一对象信息确定第一目标对象。
其中,解析是指将第一查询信息由二进制数据转换为数据结构或者对象,也即是,对第一查询信息进行反序列化,从而得到服务端可以处理的查询信息。
合法化检查是服务端处理接收到的信息的必须步骤,具体是指对解析得到的查询信息进行长度、类型、内容等一系列检查,以保证查询信息是正确的,且是可以处理的信息。
访问权限检查是指根据解析得到的查询信息所对应的访问权限,确定发送查询信息的客户端是否具有访问权限。由于在一个多用户的系统下,每个用户对数据有不同的访问权限,使用访问权限检查,可以避免用户访问没有权限的数据,从而保证用户数据和系统的安全性。
确定查询的对象信息是指根据解析得到的查询信息查询对应的第一对象信息的过程,具体查询过程可以参考相关技术,本发明实施例在此不作阐述。
需要说明的是,服务端按照预设处理流程对第一查询信息进行处理,得到的第一查询信息可以包括第一查询对象或者第一查询对象标识。
步骤205:服务端将第一查询信息、以及按照预设处理流程处理第一查询信息得到的第一对象信息,对应地存储在第一对应关系中。
当服务端获取第一查询信息对应的第一对象信息之后,服务端可以将第一查询信息、以及与第一查询信息对应的第一对象信息,存储在第一对应关系中,以便于后续再接收到相同的查询信息时,可以直接从第一对应关系中获取,进而在保证查询性能的同时提高查询速度。
具体的,当第一对应关系中包含的是查询信息与查询对象之间的对应关系时,第一对象信息包括第一查询对象,服务端将第一查询信息和第一查询对象存储在第一对应关系中;当第一对应关系中包含的是查询信息与查询对象标识之间的对应关系时,第一对象信息包括第一查询对象标识,服务端将第一查询信息和第一查询对象标识存储在第一对应关系中。
比如,第一对应关系中包含的是查询信息与查询对象,该第一对应关系如下表3所示,当第一查询信息为信息11,服务端按照预设处理流程处理信息11得到的第一对象信息为对象11时,服务端可以将信息11和对象11对应的存储在第一对应关系中的查询信息和查询对象中。
表3
查询信息 查询对象
信息1 对象1
信息2 对象2
信息11 对象11
…… ……
需要说明的是,上述表3所示的包括查询信息和查询对象的第一对应关系仅为示例性的,上述表3并不对本发明构成限定。
进一步,参见图5,该方法还包括步骤206。
步骤206:若第一对应关系包含第二查询信息,且第二查询对象满足预设条件,服务端从第一对应关系中删除第二查询信息,以及与第二查询信息对应的第二对象信息;其中,预设条件包括以下任一种或者任一种组合:第二查询对象的访问权限发生变化,第二查询对象的合法性检查规则发生变化,第二查询对象被删除。当然,在实际应用中,该预设条件也可能为其他,本发明实施例对此不做具体限定。
为了保证数据的可靠性和安全性,当第一对应关系包含第二查询信息,且第二查询信息对应的第二查询对象的访问权限发生变化、和/或合法性检查的规则发生变化、和/或第二查询对象被删除时等,服务端可以根据该第二查询对象对应的第二查询信息对第一对应关系进行调整,即在第一对应关系包括第二查询信息时,服务端可以将第一对应关系中的第二查询信息和第二对象信息进行删除。
具体的,当第二查询对象满足预设条件时,若第一对应关系中包含的是查询信息与查询对象之间的对应关系,则服务端将第二查询信息和第二查询对象从第一对应关系中删除;若第一对应关系中包含的是查询信息与查询对象标识之间的对应关系,则服务端将第二查询信息和第二查询对象标识从第一对应关系中删除。
需要说明的是,第二查询对象是指满足预设条件的任一查询对象,且与第二查询对象对应的第二查询信息包含在第一对应关系中。另外,步骤206与上述步骤201-205不分先后顺序,只要存在满足预设条件的第二查询对象,服务端就会执行步骤206。
本发明实施例提供的一种对象查询方法,服务端通过在接收到客户端发送的第一查询信息时,查询第一对应关系,若第一对应关系包含第一查询信息,则从第一对应关系中获取与第一查询信息对应的第一对象信息,其中,第一对应关系位于服务端的内存中,且包括至少一个查询信息、以及与所述至少一个查询信息中每个查询信息对应的对象信息,之后服务端根据第一对象信息确定第一目标对象,从而可以在保证查询性能的同时提高服务端的查询速度。
上述主要从各个网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如服务端、客户端等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的网元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对服务端等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图6示出了上述实施例中所涉及的服务端的一种可能的结构示意图,服务端300包括:接收单元301、获取单元302、确定单元303。其中,接收单元301用于支持服务端执行图3-图5中的过程201;获取单元302用于支持服务端执行图3-图5中的过程202,以及图4-图5中的过程204;确定单元303用于支持服务端执行图3-图5中的过程204。进一步的,该服务端还可以包括存储单元和删除单元,其中,存储单元用于支持服务端执行图4、图5中的过程205,删除单元用于支持服务端执行图5中的过程206。上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。需要说明的是,上述图6所示的服务端可以为方法实施例中的服务端,图6所示的服务端中多个单元具体可以执行上述方法实施例提供的对象查询方法。
在采用集成的单元的情况下,图7示出了上述实施例中所涉及的服务端所在设备310的一种可能的逻辑结构示意图。设备310包括:处理模块312和通信模块313。处理模块312用于对服务端的动作进行控制管理,例如,处理模块312用于支持服务端执行图3-图5中的过程202和203,图4中的过程204和205,以及图5中的过程204、205和206,和/或用于本文所描述的技术的其他过程。通信模块313用于支持服务端与客户端的通信。服务端还可以包括存储模块311,用于存储服务端的程序代码和数据,比如,该数据可以包括图2-图5所述的实施例中的第一对应关系、第二对应关系等。
其中,处理模块312可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块313可以是收发器、收发电路或通信接口等。存储模块311可以是存储器。
当处理模块312为处理器,通信模块313为通信接口,存储模块311为存储器时,本发明实施例所涉及的服务端所在的设备可以为图8所示的设备。
参阅图8所示,为服务端所在设备的一种硬件结构举例,该服务端所在的设备320包括:处理器322、通信接口323、存储器321以及总线324。其中,通信接口323、处理器322以及存储器321通过总线324相互连接;总线324可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本发明的另一实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,设备执行上述图3-图5所示的对象查询方法。
在本发明的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述图3-图5所示的对象查询方法。
本发明实施例提供的服务端、计算机可读存储介质和计算机程序产品,通过在接收到客户端发送的第一查询信息时,查询第一对应关系,若第一对应关系包含第一查询信息,则从第一对应关系中获取与第一查询信息对应的第一对象信息,其中,第一对应关系位于内存中,且包括至少一个查询信息、以及与所述至少一个查询信息中每个查询信息对应的对象信息,之后根据第一对象信息确定第一目标对象,从而可以在保证查询性能的同时提高查询速度。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (11)

1.一种对象查询方法,其特征在于,所述方法包括:
接收客户端发送的第一查询信息;
查询第一对应关系,若所述第一对应关系包含所述第一查询信息,从所述第一对应关系中获取与所述第一查询信息对应的第一对象信息;其中,所述第一对应关系位于服务端的内存中,且包括至少一个查询信息、以及与所述至少一个查询信息中每个查询信息对应的对象信息;
根据所述第一对象信息确定第一目标对象。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一对象信息确定第一目标对象,包括:
若所述对象信息包括查询对象,将所述第一查询信息包括的第一查询对象确定为所述第一目标对象;或者,
若所述对象信息为查询对象标识,根据所述第一查询信息包括的第一查询对象标识,从第二对应关系中获取与所述第一查询对象标识对应的查询对象,并将获取的所述查询对象确定为所述第一目标对象;其中,所述第二对应关系位于除所述内存之外的存储系统中,且包括至少一个查询对象标识,以及与所述至少一个查询对象标识中每个查询对象标识对应的查询对象。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一对应关系不包含所述第一查询信息,按照预设处理流程对所述第一查询信息进行处理,得到所述第一查询信息对应的第一对象信息;其中,所述预设处理流程包括:解析、合法化检查、访问权限检查和确定查询的对象信息。
4.根据权利要求3所述的方法,其特征在于,所述按照预设处理流程对所述第一查询信息进行处理,得到所述第一查询信息对应的第一对象信息之后,所述方法还包括:
将所述第一查询信息、以及按照所述预设处理流程处理所述第一查询信息得到的第一对象信息,对应地存储在所述第一对应关系中。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
若所述第一对应关系包含第二查询信息,且第二查询对象满足预设条件,从所述第一对应关系中删除所述第二查询信息,以及与所述第二查询信息对应的第二对象信息;
其中,所述预设条件包括以下任一种或者任一种组合:所述第二查询对象的访问权限发生变化,所述第二查询对象的合法性检查规则发生变化。
6.一种服务端,其特征在于,所述服务端包括:
接收单元,用于接收客户端发送的第一查询信息;
获取单元,用于查询第一对应关系,若所述第一对应关系包含所述第一查询信息,从所述第一对应关系中获取与所述第一查询信息对应的第一对象信息;其中,所述第一对应关系位于所述服务端的内存中,且包括至少一个查询信息、以及与所述至少一个查询信息中每个查询信息对应的对象信息;
确定单元,用于根据所述第一对象信息确定第一目标对象。
7.根据权利要求6所述的服务端,其特征在于,所述确定单元,具体用于:
若所述对象信息包括查询对象,将所述第一查询信息包括的第一查询对象确定为所述第一目标对象;或者,
若所述对象信息为查询对象标识,根据所述第一查询信息包括的第一查询对象标识,从第二对应关系中获取与所述第一查询对象标识对应的查询对象,并将获取的所述查询对象确定为所述第一目标对象;其中,所述第二对应关系位于除所述内存之外的存储系统中,且包括至少一个查询对象标识,以及与所述至少一个查询对象标识中每个查询对象标识对应的查询对象。
8.根据权利要求6所述的服务端,其特征在于,所述获取单元,还用于:
若所述第一对应关系不包含所述第一查询信息,按照预设处理流程对所述第一查询信息进行处理,得到所述第一查询信息对应的第一对象信息;其中,所述预设处理流程包括:解析、合法化检查、访问权限检查和确定查询的对象信息。
9.根据权利要求8所述的服务端,其特征在于,所述服务端还包括:
存储单元,用于将所述第一查询信息、以及按照所述预设处理流程处理所述第一查询信息得到的第一对象信息,对应地存储在所述第一对应关系中。
10.根据权利要求6-9任一项所述的服务端,其特征在于,所述服务端还包括:
删除单元,用于若所述第一对应关系包含第二查询信息,且第二查询对象满足预设条件,从所述第一对应关系中删除所述第二查询信息,以及与所述第二查询信息对应的第二对象信息;
其中,所述预设条件包括以下任一种或者任一种组合:所述第二查询对象的访问权限发生变化,所述第二查询对象的合法性检查规则发生变化,所述第二查询对象被删除。
11.一种设备,其特征在于,包括至少一个处理器、存储器和通信接口;所述至少一个处理器、所述存储器和所述通信接口均通过总线连接;
所述通信接口用于与客户端进行数据交互;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述设备执行权利要求1-5任一项所述的对象查询方法。
CN201610811895.6A 2016-09-08 2016-09-08 一种对象查询方法及服务端 Active CN106339267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610811895.6A CN106339267B (zh) 2016-09-08 2016-09-08 一种对象查询方法及服务端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610811895.6A CN106339267B (zh) 2016-09-08 2016-09-08 一种对象查询方法及服务端

Publications (2)

Publication Number Publication Date
CN106339267A true CN106339267A (zh) 2017-01-18
CN106339267B CN106339267B (zh) 2019-11-01

Family

ID=57823836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610811895.6A Active CN106339267B (zh) 2016-09-08 2016-09-08 一种对象查询方法及服务端

Country Status (1)

Country Link
CN (1) CN106339267B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107133309A (zh) * 2017-04-28 2017-09-05 东软集团股份有限公司 流程实例的存储、查询方法及装置、存储介质及电子设备
CN107493458A (zh) * 2017-09-13 2017-12-19 郑州云海信息技术有限公司 一种存取监控视频的方法及系统
CN107798108A (zh) * 2017-10-30 2018-03-13 中国联合网络通信集团有限公司 一种异步任务查询方法及设备
CN108197179A (zh) * 2017-12-22 2018-06-22 国网河北省电力有限公司故城县供电分公司 设备信息查询方法及终端设备
CN109033456A (zh) * 2018-08-28 2018-12-18 百度在线网络技术(北京)有限公司 一种条件查询方法、装置、电子设备和存储介质
CN110457544A (zh) * 2019-08-14 2019-11-15 上海联影医疗科技有限公司 一种数据获取方法、系统、电子设备及存储介质
CN114205098A (zh) * 2020-08-31 2022-03-18 北京华为数字技术有限公司 查询操作权限的方法、装置、设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582079A (zh) * 2009-06-23 2009-11-18 用友软件股份有限公司 一种对象查询方法和装置
CN102768666A (zh) * 2011-05-05 2012-11-07 上海可鲁系统软件有限公司 一种工业数据存储读取方法及其系统
CN103902682A (zh) * 2014-03-21 2014-07-02 百度在线网络技术(北京)有限公司 信息查询方法和装置
CN104750872A (zh) * 2015-04-22 2015-07-01 海南易建科技股份有限公司 一种业务对象的查询方法及装置
CN105468678A (zh) * 2015-11-13 2016-04-06 百度在线网络技术(北京)有限公司 信息推送方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582079A (zh) * 2009-06-23 2009-11-18 用友软件股份有限公司 一种对象查询方法和装置
CN102768666A (zh) * 2011-05-05 2012-11-07 上海可鲁系统软件有限公司 一种工业数据存储读取方法及其系统
CN103902682A (zh) * 2014-03-21 2014-07-02 百度在线网络技术(北京)有限公司 信息查询方法和装置
CN104750872A (zh) * 2015-04-22 2015-07-01 海南易建科技股份有限公司 一种业务对象的查询方法及装置
CN105468678A (zh) * 2015-11-13 2016-04-06 百度在线网络技术(北京)有限公司 信息推送方法及装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107133309A (zh) * 2017-04-28 2017-09-05 东软集团股份有限公司 流程实例的存储、查询方法及装置、存储介质及电子设备
CN107133309B (zh) * 2017-04-28 2020-04-07 东软集团股份有限公司 流程实例的存储、查询方法及装置、存储介质及电子设备
CN107493458A (zh) * 2017-09-13 2017-12-19 郑州云海信息技术有限公司 一种存取监控视频的方法及系统
CN107798108A (zh) * 2017-10-30 2018-03-13 中国联合网络通信集团有限公司 一种异步任务查询方法及设备
CN107798108B (zh) * 2017-10-30 2020-11-10 中国联合网络通信集团有限公司 一种异步任务查询方法及设备
CN108197179A (zh) * 2017-12-22 2018-06-22 国网河北省电力有限公司故城县供电分公司 设备信息查询方法及终端设备
CN109033456A (zh) * 2018-08-28 2018-12-18 百度在线网络技术(北京)有限公司 一种条件查询方法、装置、电子设备和存储介质
CN110457544A (zh) * 2019-08-14 2019-11-15 上海联影医疗科技有限公司 一种数据获取方法、系统、电子设备及存储介质
CN114205098A (zh) * 2020-08-31 2022-03-18 北京华为数字技术有限公司 查询操作权限的方法、装置、设备及计算机可读存储介质
CN114205098B (zh) * 2020-08-31 2023-12-15 北京华为数字技术有限公司 查询操作权限的方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN106339267B (zh) 2019-11-01

Similar Documents

Publication Publication Date Title
CN106339267A (zh) 一种对象查询方法及服务端
CN108701177B (zh) 设备启用的身份认证
CN106127038B (zh) 一种黑名单的处理方法及系统
CN107431726A (zh) 消息总线服务目录
US20050228853A1 (en) Method and system for supporting service provision
CN107580360A (zh) 一种网络切片选择的方法、设备及网络架构
US11436314B2 (en) System and method for provisioning non-enterprise client devices with access credentials
CN106775486A (zh) 数据访问系统、方法及路由服务器、配置中心服务器
US11126460B2 (en) Limiting folder and link sharing
CN101883107A (zh) 实现上下文感知业务应用的方法和相关装置
CN101378329B (zh) 分布式业务运营支撑系统和分布式业务的实现方法
US10951616B2 (en) Proximity-based device authentication
US20220311773A1 (en) Method and device for communication between microservices
CN109474710A (zh) 获取信息的方法及装置
KR101931851B1 (ko) M2m 시스템에서 위치정보 업데이트 주기를 변경하는 방법
CN104144170A (zh) 网页地址的过滤方法、装置和系统
CN103763133B (zh) 一种实现访问控制的方法、设备与系统
CN116743785A (zh) 基于雾计算的云网数据存储方法、装置、设备及介质
US11582138B2 (en) Configurable system for resolving requests received from multiple client devices in a network system
CN101741889B (zh) 一种网络服务集中管理的方法、系统及服务器
CN110516189B (zh) 一种界面自我服务的方法、装置、计算机设备及存储介质
CN106301902A (zh) 一种基于b/s架构的远程网络管理方法及系统
EP2913957B1 (en) Method and apparatus for controlling internet access
CN104468318B (zh) 网络通信中回收反向关系链的方法及服务器
CN105915504A (zh) 电子设备及其控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220215

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.