CN115563356B - 基于监控服务的系统交互信息动态收集查询方法及装置 - Google Patents
基于监控服务的系统交互信息动态收集查询方法及装置 Download PDFInfo
- Publication number
- CN115563356B CN115563356B CN202211218198.1A CN202211218198A CN115563356B CN 115563356 B CN115563356 B CN 115563356B CN 202211218198 A CN202211218198 A CN 202211218198A CN 115563356 B CN115563356 B CN 115563356B
- Authority
- CN
- China
- Prior art keywords
- query
- interaction information
- information
- system interaction
- service
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种基于监控服务的系统交互信息动态收集查询方法及装置,涉及大数据的数据处理技术领域。该方法包括:基于监控服务,收集调用方和提供方之间的系统交互信息;其中,系统交互信息包括:用户身份信息、系统标识信息、系统服务接口标识、入参数据或出参数据中的至少一种;基于系统交互信息进行分词得到的分词数据构建索引信息,并将索引信息存入数据库中;基于监控服务,根据系统服务接口配置对应的查询条件;根据目标查询条件、目标查询内容以及索引信息,对数据库中的系统交互信息进行查询,得到查询结果。本申请能够针对不同类型的系统服务接口,动态设置不同的查询条件,以在监控服务构建的索引的基础上对交互信息进行动态查询。
Description
技术领域
本申请涉及大数据的数据处理技术领域,具体而言,涉及一种基于监控服务的系统交互信息动态收集查询方法及装置。
背景技术
在一些场景中,例如医院场景中,由于科室、窗口较多等原因,导致医院的信息主系统中的不同的系统也较多。不同的系统可能由不同的供应商提供,各个系统在使用时,不同的系统之间的调用关系较为复杂。现有技术中,在对不同系统的链路进行监控时,通常是在各个交互的系统中埋点以实现监控,但是这种监控方式在对多个系统的不同链路进行监控时的效果较差,在根据监控的链路进行信息查询时,导致多个系统间的服务的交互信息的查询效率较低。
发明内容
有鉴于此,本申请实施例的目的在于提供一种基于监控服务的系统交互信息动态收集查询方法及装置,以改善现有技术中存在系统之间的服务的交互信息的查询效率较低问题。
为了解决上述问题,第一方面,本申请实施例提供了一种基于监控服务的系统交互信息动态收集查询方法,所述方法包括:
基于监控服务,收集调用方和提供方之间的系统交互信息;其中,所述系统交互信息包括:用户身份信息、系统标识信息、系统服务接口标识、入参数据或出参数据中的至少一种;
基于所述系统交互信息进行分词得到的分词数据构建索引信息,并将所述索引信息存入数据库中;
基于所述监控服务,根据系统服务接口配置对应的查询条件;
根据目标查询条件、目标查询内容以及所述索引信息,对所述数据库中的所述系统交互信息进行查询,得到查询结果。
在上述实现过程中,多个系统之间互相调用时,可以通过监控服务对用户在各个系统之间调用时的系统交互信息进行实时地收集,以提高系统交互信息的实时性和有效性。为了更好地对系统交互信息进行查询,还可以对系统交互信息进行分词处理,以根据分词数据构建查询时所使用的索引信息,便于后续进行快速地查询。通过监控服务,基于不同的系统服务接口配置对应的一个或多个查询条件,能够根据查询时对应的目标查询条件、目标查询内容在具有索引信息的数据库中,对多种不同类型的系统服务接口所对应的多种不同类型的数据结构进行动态地查询,得到对应的查询结果。在监控服务的基础上对多个系统之间的交互进行收集和查询,收集查询时无需在各个系统中进行埋点,且根据监控服务对系统服务接口所对应的查询条件进行动态配置,有效地提高了对系统间服务的交互信息的查询效率。
可选地,所述基于监控服务,收集调用方和提供方之间的系统交互信息,包括:
通过网关监控所述调用方和所述提供方之间的服务请求;
通过所述网关,基于所述服务请求收集对应的系统交互信息,并将所述系统交互信息上报至所述监控服务;
基于所述监控服务,获取所述网关上报的所述系统交互信息,以将所述系统交互信息存储在所述数据库中。
在上述实现过程中,在进行数据收集时,为了对调用方与提供方系统之间的系统交互信息进行实时、动态地采集,可以通过网关对调用方与提供方,即多个系统之间的服务交互进行监控,在监控到调用方与提供方之间调用时的服务请求时,则根据该服务请求进行数据收集,得到与用户在调用方与提供方之间进行调用时相关的多种类型的系统交互信息,并通过网关对收集到的系统交互信息进行实时地上报处理,以将监控得到的多个系统交互信息及时地存储到对应的数据库中以待处理。有效地提高了监控服务的效果,从而提高了数据库中存储的用于进行查询的系统交互信息的全面性、实时性和有效性。
可选地,所述基于所述系统交互信息进行分词得到的分词数据构建索引信息,并将所述索引信息存入数据库中,包括:
基于所述监控服务,配置对应的搜索引擎;
基于所述搜索引擎中的目标分词器对所述系统交互信息进行分词,得到所述分词数据;
基于所述分词数据构建对应的所述索引信息,并将所述索引信息存入对应的所述数据库中。
在上述实现过程中,为了提高查询时的效率,可以根据监控服务配置合适的搜索引擎以进行查询。并且,可以使用搜索引擎中的目标分词器对系统交互信息进行分词,以得到相应的分词数据,从而根据分词数据构建对应的索引信息,将索引信息也存入数据库中,以供查询时根据索引数据对相应的系统交互信息进行快速匹配,提高查询时的效率和准确性。
可选地,所述基于所述监控服务,根据系统服务接口配置对应的查询条件,包括:
基于所述监控服务,确定所述调用方调用所述提供方的所述系统服务接口;
基于所述系统服务接口,确定所述系统服务接口对应的入参字段和/或出参字段;
根据所述入参字段和/或所述出参字段配置对应的一个或多个所述查询条件;其中,所述查询条件包括关键词条和词条偏移量。
在上述实现过程中,监控服务在进行监控时,还可以根据监控收集的数据确定调用方对提供方进行调用时的系统服务接口,从而根据服务接口的接口相关信息,确定调用时的入参字段和/或出参字段。从而根据入参字段和/或出参字段的具体内容配置对应的关键词条和词条偏移量作为查询条件,通过对关键词条的选择,以及对词条偏移量的范围进行调整,实现对未知数据结构的系统交互信息的查询。基于系统服务接口对查询时一个或多个查询条件进行动态地配置和调整,能够在查询条件的基础上对数据库中存储的多种未知数据结构的系统交互信息进行查询,提高了系统交互信息查询的针对性,缩小了查询时的范围,提高了查询速度和准确度。
可选地,所述方法还包括:
获取用户对所述查询条件的修改需求;其中,所述修改需求包括:新增需求、删减需求或调整需求中的至少一种;
根据所述新增需求配置相应的所述查询条件;
或,根据所述删减需求对相应的所述查询条件进行删除;
或,根据所述调整需求对相应的所述查询条件中的所述关键词条或所述词条偏移量进行调整。
在上述实现过程中,在配置相应的一个或多个查询条件时,由于调用方与提供方的变化,或者根据已配置的查询条件所查询到的系统交互信息的查询结果无法满足查询需求等情况,可以根据需求对查询条件进行相应地添加、删除或调整处理,以通过对查询条件的动态修改满足查询时的多种变化,无需对底层代码进行改动即可实现满足各种查询时的变更情况,有效地减少了人工成本,提高了查询条件的配置效率,进而提高了系统交互信息的查询速度和准确度。
可选地,所述根据目标查询条件、目标查询内容以及所述索引信息,对所述数据库中的所述系统交互信息进行查询,得到查询结果,包括:
基于配置的所述查询条件,确定其中一个或多个所述目标查询条件;
基于所述目标查询条件,获取所述目标查询内容;
根据所述目标查询条件以及对应的所述目标查询内容,在具有所述索引信息的所述数据库中对所述系统交互信息进行查询,得到对应的所述查询结果;其中,所述数据库中的所述系统交互信息包括多种数据结构的信息。
在上述实现过程中,由于同一个系统服务接口中可以配置多个查询条件,在进行查询时,可以选择一个或多个查询条件作为查询时使用的目标查询条件。在目标查询条件的基础上获取对应的目标查询内容,从而结合目标查询内容和目标查询条件,根据数据库中存储的索引信息对多条未知数据结构的系统交互信息进行匹配,从而确定对应的查询结果,能够对多种数据结构的信息进行查询,提高了查询时的效率和全面性,进而提高了查询结果的准确性。
可选地,所述方法还包括:
根据用户的查询需求,配置对应的查询标准;其中,所述查询标准包括:监控区间、耗时长度、系统类型、服务类型、检索类型中的至少一种。
在上述实现过程中,在查询时还可以根据用户实际的查询需求配置对应的查询标准,以在查询时,对监控的时间区间、各个系统交互时的耗时长度、调用方的系统类型、系统交互信息的服务类型、查询时的检索类型等多种需求进行限定,从而在查询标准的基础上根据用户的需求进行针对性地查询,提升了用户的使用体验,适用于各种查询场景,提高了查询时的效率和查询结果的准确性。
第二方面,本申请实施例还提供了一种基于监控服务的系统交互信息动态收集查询装置,所述装置包括:
收集模块,用于基于监控服务,收集调用方和提供方之间的系统交互信息;其中,所述系统交互信息包括:用户身份信息、系统标识信息、系统服务接口标识、入参数据或出参数据中的至少一种;
索引模块,用于基于所述系统交互信息进行分词得到的分词数据构建索引信息,并将所述索引信息存入数据库中;
配置模块,用于基于所述监控服务,根据系统服务接口配置对应的查询条件;
查询模块,用于根据目标查询条件、目标查询内容以及所述索引信息,对所述数据库中的所述系统交互信息进行查询,得到查询结果。
第三方面,本申请实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述基于监控服务的系统交互信息动态收集查询方法中任一实现方式中的步骤。
第四方面,本申请实施例还提供了一种计算机可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述基于监控服务的系统交互信息动态收集查询方法中任一实现方式中的步骤。
综上所述,本申请提供了一种基于监控服务的系统交互信息动态收集查询方法及装置,能够对各个系统件的交互情况进行监控,并动态地配置查询条件对多种服务的系统交互信息进行查询,有效地提高了对系统间服务的交互信息的查询效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的方框示意图;
图2为本申请实施例提供的一种基于监控服务的系统交互信息动态收集查询方法的流程示意图;
图3为本申请实施例提供的一种步骤S200的详细流程示意图;
图4为本申请实施例提供的一种步骤S300的详细流程示意图;
图5为本申请实施例提供的一种步骤S400的详细流程示意图;
图6为本申请实施例提供的一种步骤S500的详细流程示意图;
图7为本申请实施例提供的一种基于监控服务的系统交互信息动态收集查询装置的结构示意图。
图标:100-电子设备;111-存储器;112-存储控制器;113-处理器;114-外设接口;115-输入输出单元;116-显示单元;600-基于监控服务的系统交互信息动态收集查询装置;610-收集模块;620-索引模块;630-配置模块;640-查询模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请实施例的一部分实施例,而不是全部的实施例。基于本申请实施例的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
在医院等场景中,由于各种科室、窗口等的数量的增多,医院主系统所管理的系统的数量也日益增多。当前大数据平台由于存在分阶段的多次建设,各个系统可能是由不同的团队开发、可能使用不同的编程语言来实现、可能布在不同的服务器中等,从而导致各个系统之间的调用关系较为复杂。在此基础上,目前的医院的主系统对各个系统的链路进行监控时,通常对链路的服务管理存在无管理或者被动管理的情况,并且由于涉及的系统较多,无法对每个系统与应用程序之间的应用链路和应用本身的监控状况进行实时的监控和维护。因此,目前的监控方式对多个系统的不同链路进行监控时的效果较差,在根据监控的链路进行信息查询时,导致多个系统间的服务的交互信息的查询效率较低。
为了解决上述问题,本申请实施例提供了一种基于监控服务的系统交互信息动态收集查询方法,应用于电子设备,电子设备可以为服务器、个人电脑(Personal Computer,PC)、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)等具有逻辑计算功能的电子设备,能够高效地对多个系统之间的交互信息进行收集和查询。
可选地,请参阅图1,图1为本申请实施例提供的一种电子设备的方框示意图。其中,电子设备100可以包括存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、显示单元116。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子设备100的结构造成限定。例如,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
上述的存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115及显示单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器111用于存储程序,处理器113在接收到执行指令后,执行程序,本申请实施例任一实施例揭示的过程定义的电子设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器,也可以是任何常规的处理器等。
上述的外设接口114将各种输入/输出装置耦合至处理器113以及存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
上述的输入输出单元115用于提供给用户输入数据。输入输出单元115可以是,但不限于,鼠标和键盘等。
上述的显示单元116在电子设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。在本申请实施例中,显示单元116可以显示监控的系统交互信息、配置的查询条件以及查询得到的查询结果等多种数据。
本实施例中的电子设备可以用于执行本申请实施例提供的各个基于监控服务的系统交互信息动态收集查询方法中的各个步骤。下面通过几个实施例详细描述基于监控服务的系统交互信息动态收集查询方法的实现过程。
请参阅图2,图2为本申请实施例提供的一种基于监控服务的系统交互信息动态收集查询方法的流程示意图,该方法可以包括步骤S200-S500。
步骤S200,基于监控服务,收集调用方和提供方之间的系统交互信息。
其中,调用方与提供方为进行交互的两个系统,调用方和提供方可以通过网络等方式通信连接,用户在通过调用方对提供方进行调用时,两个系统间能够进行数据交互。可以通过监控服务对各个系统之间进行交互时的系统交互信息进行收集,以对系统之间的交互进行实时地监控。
可选地,系统交互信息可以包括调用方与提供方进行调用时的多种信息,例如:用户身份信息、系统标识信息、系统服务接口标识、入参数据或出参数据等。示例地,用户身份信息可以为与用户身份相关的多种信息,例如登录账号等,系统标识信息可以为用户所使用的调用方或提供方的系统信息,例如调用方系统id、提供方系统id等唯一标识信息,系统服务接口标识可以为调用方调用提供方所提供的系统服务接口的信息,例如API的id等唯一标识信息,入参数据和出参数据可以为请求入参和请求出参时对应的参数的文本数据,例如入参字段和出参字段、入参数据和出参数据等。
需要说明的是,由于调用方调用服务和提供方提供服务是多种多样的,所以二者交互时产生的系统交互信息的数据结构也是多种多样的。而因为数据结构多种多样,因此在对系统交互信息进行收集和存储时,系统交互的数据结构是未知的,因此采用现有技术搜索系统中固定的查询条件,通过输入搜索关键词进行查询,很难快速获得准确的查询结果。
示例地,不同数据结构的系统交互信息的文本中,入参数据或出参数据的数据格式也可能不同,例如xml数据格式、json数据格式等。
步骤S300,基于系统交互信息进行分词得到的分词数据构建索引信息,并将索引信息存入数据库中。
其中,为了提高查询时的效率,可以对收集到的系统交互信息进行分词处理,以根据得到的分词数据构建用于进行查询的索引信息,并将索引信息存储数据库中以供后续查询时进行匹配。
具体而言,数据库中所存储的系统交互信息可以不仅仅包括收集的原始非结构的系统交互信息数据,还可以包括经过分词处理并进行索引编码的索引信息数据,这样在查询时通过对比每条系统交互信息中的各个分词数据的索引编码匹配情况,就可以快速确定系统交互信息的查询结果,而不是现有技术中通过全文匹配非结构的系统交互信息数据以获取查询结果,提升了查询速度和准确率,提高了查询效率。
步骤S400,基于监控服务,根据系统服务接口配置对应的查询条件。
其中,由于数据库中各条系统交互信息的数据结构是未知的,即数据库中可能包括多种不同数据结构的系统交互信息,因此,为了对任意数据结构的系统交互信息进行快速、精准查询,可以在监控服务的基础上,根据调用方调用提供方接口服务时的系统服务接口,动态地配置相应的一个或多个查询条件以供查询。
步骤S500,根据目标查询条件、目标查询内容以及索引信息,对数据库中的系统交互信息进行查询,得到查询结果。
其中,在查询时可以从多个查询条件中确定使用的目标查询条件,从而结合查询时用户输入的目标查询内容,在索引信息的基础上对数据库中的多条系统交互信息进行匹配,得到相应的查询结果。
可选地,查询结果可以包括一条或多条满足目标查询条件及目标查询内容的系统交互信息,即表示查询到相应的信息。查询结果也可以为空,即标识未查询到相应的信息。
可选地,进行查询时,还可以根据用户的查询需求,配置对应的查询标准;其中,查询标准可以包括:监控区间、耗时长度、系统类型、服务类型、检索类型等多种查询时的相关属性。
示例地,监控区间可以为对监控的系统交互信息的监控时间进行限定的时间区间,例如对2022.01.01的16:00-18:00这一时间区间内的系统交互信息进行查询等。耗时长度可以为对调用方与提供方之间系统交互所需的时长进行限定的时长,例如查询时只对调用方与提供方中交互耗时长度为20ms以下的系统交互信息进行查询等。系统类型可以为对调用方或提供方的系统的类型进行限定的选项,例如只对某一应用程序所对应的系统交互信息进行查询等。服务类型可以为对服务的种类进行限定的选项,例如只对核酸标签打印这一项服务对应的系统交互信息进行查询等。检索类型可以为对检索时的范围进行限定的选项,例如对系统交互信息的文本进行全文检索,或只对系统交互信息的标题进行检索等,还可以为对检索时的类型进行限定的选项,例如对系统交互信息的文本进行精确检索或者模糊检索等。能够在查询标准的基础上根据用户的需求进行针对性地查询,提升了用户的使用体验,适用于各种查询场景,提高了查询时的效率和查询结果的准确性。
在图2所示的实施例中,在监控服务的基础上对多个系统之间的交互进行收集和查询,收集查询时无需在各个系统中进行埋点,且根据监控服务对系统服务接口所对应的查询条件进行动态配置,有效地提高了对系统间服务的交互信息的查询效率。
可选地,请参阅图3,图3为本申请实施例提供的一种步骤S200的详细流程示意图,步骤S200中还可以包括步骤S210-S230。
步骤S210,通过网关监控调用方和提供方之间的服务请求。
其中,为了对信息进行实时、动态地收集,调用方在进行调用时,可以通过网关对提供方进行调用,以通过网关对多个调用方和提供方进行监控,以监控各个系统之间的服务请求。网关可以为多种类型的网络互连设备,能够将调用方与提供方的两个高层协议不同的网络互连。
步骤S220,通过网关,基于服务请求收集对应的系统交互信息,并将系统交互信息上报至监控服务。
其中,网关能够在监控的服务请求的基础上进行信息提取,以收集得到相应的系统交互信息,在任一系统交互信息采集完成时即进行数据上报,以将采集的系统交互信息上报至监控服务中进行存储。
步骤S230,基于监控服务,获取网关上报的系统交互信息,以将系统交互信息存储在数据库中。
其中,监控服务在获取网关上报的系统交互信息后,能够将其存储在查询对应的数据库中,以供后续进行分析、查询,从而基于监控服务对数据库中的数据进行不断地更新,提高了数据库中的系统交互信息的全面性、实时性。
在图3所示的实施例中,有效地提高了监控服务的效果,从而提高了数据库中存储的用于进行查询的系统交互信息的全面性、实时性和有效性。
可选地,请参阅图4,图4为本申请实施例提供的一种步骤S300的详细流程示意图,步骤S300中还可以包括步骤S310-S330。
步骤S310,基于监控服务,配置对应的搜索引擎。
其中,监控服务中可以包括一种或多种搜索引擎。为了提高查询时的效率,可以根据监控服务配置合适的搜索引擎以进行查询,例如,可以选择elastic Search作为查询时的搜索引擎。
步骤S320,基于搜索引擎中的目标分词器对系统交互信息进行分词,得到分词数据。
其中,可以使用搜索引擎中的分词器,例如elastic Search中的ik分词器,通过多种类型的分词算法对存储的系统交互信息进行分词,得到分词数据。
步骤S330,基于分词数据构建对应的索引信息,并将索引信息存入对应的数据库中。
其中,为了在查询时对多条系统交互信息进行快速地匹配,可以根据分词数据构建系统交互信息对应的索引信息,并将索引信息存储在相应的数据库中,以供后续对系统交互信息进行快速、准确地查询。
在图4所示的实施例中,通过分词处理提高了索引信息的准确性,从而提高了在数据库中进行查询时的效率和准确性。
可选地,请参阅图5,图5为本申请实施例提供的一种步骤S400的详细流程示意图,步骤S400中还可以包括步骤S410-S430。
步骤S410,基于监控服务,确定调用方调用提供方的系统服务接口。
其中,系统服务接口,为调用方所调用的、提供方所提供的服务入口,包括入参、出参及相应的系统服务接口标识等。可以通过网关收集到调用方调用提供方时的系统服务接口标识,例如API的id等标识信息,从而根据系统服务接口标识查找预先注册的系统服务接口。
步骤S420,基于系统服务接口,确定系统服务接口对应的入参字段和/或出参字段。
其中,可以根据注册的系统服务接口的接口信息,确定对应的入参字段和/或出参字段。
步骤S430,根据入参字段和/或出参字段配置对应的一个或多个查询条件。
其中,查询条件包括关键词条和词条偏移量。关键词条为查询时的相关的词条,而词条偏移量则是在关键词条的基础上由文本数据所产生的偏移范围数据。由于入参字段和/或出参字段是已知的,因此,可以根据入参字段和/或出参字段确定查询时对应的关键词条,而由于入参字段和/或出参字段之间的相对位置及数据结构是未知的,因此,可以通过设置对应的词条偏移量以容纳字段位置不确定时的多种情况,从而实现在查询条件的基础上进行快速、准确地查询。
示例地,在设置查询条件中的关键词条时,可以设置operation name(手术患者姓名),由于系统交互信息的数据结构是未知的,因此,可以设置较大的词条偏移量,能够以operation一个词为基点,通过索引快速进行匹配,并且在基点和偏移量确定之后,只会在有限范围内进行查询匹配,而不是对包含operation和name这两个词的任意数据结构进行查询,从而提高了系统交互信息查询的针对性,提高查询时的准确性,以实现对数据库中多种未知数据结构数据的快速、准确地查询。
可选地,配置相应的一个或多个查询条件时,由于调用方与提供方的变化,例如,系统之间断开连接、新增连接或系统服务接口发生变化等情况,或者根据已配置的查询条件所查询到的系统交互信息的查询结果无法满足查询需求等情况,可以获取用户对查询条件的修改需求;其中,修改需求可以包括:新增需求、删减需求或调整需求等多种需求。可以根据修改需求的具体内容对配置的查询条件进行处理,例如:根据新增需求配置相应的查询条件;或,根据删减需求对相应的查询条件进行删除;或,根据调整需求对相应的查询条件中的关键词条或词条偏移量进行调整等。通过对查询条件的动态修改满足查询时的多种变化,无需对底层代码进行改动即可实现满足各种查询时的变更情况,有效地减少了人工成本,提高了查询条件的配置效率,进而提高了系统交互信息的查询速度和准确度。
可选地,可以针对同一系统服务接口动态配置多个查询条件,例如,查询条件1是输入患者姓名作为输入字段,查询条件2是输入诊断疾病作为输入字段等,也可以针对不同的系统服务接口(API)动态配置相同的查询条件。用户查询时,可以先选定查询哪种服务,从而确定针对哪个系统服务接口所产生的数据、采用哪个查询条件进行查询。
在图5所示的实施例中,基于系统服务接口对查询时一个或多个查询条件进行动态地配置和调整,能够在查询条件的基础上对数据库中存储的多种未知数据结构的系统交互信息进行查询,提高了系统交互信息查询的针对性,缩小了查询时的范围,提高了查询时的查询速度和准确度。
可选地,请参阅图6,图6为本申请实施例提供的一种步骤S500的详细流程示意图,步骤S500中还可以包括步骤S510-S530。
步骤S510,基于配置的查询条件,确定其中一个或多个目标查询条件。
其中,由于同一个系统服务接口中可以配置多个查询条件,在进行查询时,可以根据用户需求或实际情况,选择一个或多个查询条件作为查询时使用的目标查询条件。
步骤S520,基于目标查询条件,获取目标查询内容。
其中,目标查询内容可以为用户根据查询条件等输入的相关数据,例如,当查询条件中的关键词条为对身份证号进行查询时,则目标查询内容可以为用户输入的身份证号中的具体数字,例如3709等。
步骤S530,根据目标查询条件以及对应的目标查询内容,在具有索引信息的数据库中对系统交互信息进行查询,得到对应的查询结果。
其中,数据库中的系统交互信息包括多种数据结构的信息。查询时,可以根据输入的目标查询内容,在目标查询条件的基础上与数据库中存储的索引信息进行匹配,得到相应的查询结果。例如,在查询时,对身份证号中包括3709,词条偏移量为2的系统交互信息进行查询。
在图6所示的实施例中,能够对多种数据结构的信息进行查询,提高了查询时的效率和全面性,进而提高了查询结果的准确性。
请参阅图7,图7为本申请实施例提供的一种基于监控服务的系统交互信息动态收集查询装置的结构示意图,基于监控服务的系统交互信息动态收集查询装置600可以包括:
收集模块610,用于基于监控服务,收集调用方和提供方之间的系统交互信息;其中,系统交互信息包括:用户身份信息、系统标识信息、系统服务接口标识、入参数据或出参数据中的至少一种;
索引模块620,用于基于系统交互信息进行分词得到的分词数据构建索引信息,并将索引信息存入数据库中;
配置模块630,用于基于监控服务,根据系统服务接口配置对应的查询条件;
查询模块640,用于根据目标查询条件、目标查询内容以及索引信息,对数据库中的系统交互信息进行查询,得到查询结果。
在一可选的实施方式中,收集模块610中还可以包括监控子模块、收集子模块和存储子模块;
监控子模块,用于通过网关监控调用方和提供方之间的服务请求;
收集子模块,用于通过网关,基于服务请求收集对应的系统交互信息,并将系统交互信息上报至监控服务;
存储子模块,用于基于监控服务,获取网关上报的系统交互信息,以将系统交互信息存储在数据库中。
在一可选的实施方式中,索引模块620中还可以包括引擎配置子模块、分词子模块和构建子模块;
引擎配置子模块,用于基于监控服务,配置对应的搜索引擎;
分词子模块,用于基于搜索引擎中的目标分词器对系统交互信息进行分词,得到分词数据;
构建子模块,用于基于分词数据构建对应的索引信息,并将索引信息存入对应的数据库中。
在一可选的实施方式中,配置模块630中还可以包括接口确定子模块、字段确定子模块和配置子模块;
接口确定子模块,用于基于监控服务,确定调用方调用提供方的系统服务接口;
字段确定子模块,用于基于系统服务接口,确定系统服务接口对应的入参字段和/或出参字段;
配置子模块,用于根据入参字段和/或出参字段配置对应的一个或多个查询条件;其中,查询条件包括关键词条和词条偏移量。
在一可选的实施方式中,配置模块630中还可以包括修改子模块,用于获取用户对查询条件的修改需求;其中,修改需求包括:新增需求、删减需求或调整需求中的至少一种;根据新增需求配置相应的查询条件;或,根据删减需求对相应的查询条件进行删除;或,根据调整需求对相应的查询条件中的关键词条或词条偏移量进行调整。
在一可选的实施方式中,查询模块640中还可以包括条件确定子模块、内容获取子模块和查询子模块;
条件确定子模块,用于基于配置的查询条件,确定其中一个或多个目标查询条件;
内容获取子模块,用于基于目标查询条件,获取目标查询内容;
查询子模块,用于根据目标查询条件以及对应的目标查询内容,在具有索引信息的数据库中对系统交互信息进行查询,得到对应的查询结果;其中,数据库中的系统交互信息包括多种数据结构的信息。
在一可选的实施方式中,查询模块640中还可以包括标准子模块,用于根据用户的查询需求,配置对应的查询标准;其中,查询标准包括:监控区间、耗时长度、系统类型、服务类型、检索类型中的至少一种。
由于本申请实施例中的基于监控服务的系统交互信息动态收集查询装置600解决问题的原理与前述的基于监控服务的系统交互信息动态收集查询方法的实施例相似,因此本实施例中的基于监控服务的系统交互信息动态收集查询装置600的实施可以参见上述基于监控服务的系统交互信息动态收集查询方法的实施例中的描述,重复之处不再赘述。
本申请实施例还提供了一种计算机可读取存储介质,可读取存储介质中存储有计算机程序指令,计算机程序指令被一处理器读取并运行时,执行本实施例提供的基于监控服务的系统交互信息动态收集查询方法中任一项方法中的步骤。
综上所述,本申请实施例提供了一种基于监控服务的系统交互信息动态收集查询方法及装置,能够对各个系统件的交互情况进行监控,并动态地配置查询条件对多种服务的系统交互信息进行查询,有效地提高了对系统间服务的交互信息的查询效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本申请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种基于监控服务的系统交互信息动态收集查询方法,其特征在于,所述方法包括:
基于监控服务,实时收集调用方和提供方之间的系统交互信息;其中,所述系统交互信息包括:用户身份信息、系统标识信息、系统服务接口标识、入参数据或出参数据中的至少一种;
基于所述系统交互信息进行分词得到的分词数据构建索引信息,并将所述索引信息存入数据库中;
基于所述监控服务,根据系统服务接口配置对应的查询条件,包括:根据所述调用方调用所述提供方接口服务时的所述系统服务接口,动态地配置相应的一个或多个所述查询条件以供查询;
根据目标查询条件、目标查询内容以及所述索引信息,对所述数据库中的所述系统交互信息进行查询,得到查询结果;
其中,进行收集和查询时无需在所述调用方和所述提供方中进行埋点。
2.根据权利要求1所述的方法,其特征在于,所述基于监控服务,实时收集调用方和提供方之间的系统交互信息,包括:
通过网关监控所述调用方和所述提供方之间的服务请求;
通过所述网关,基于所述服务请求收集对应的系统交互信息,并将所述系统交互信息上报至所述监控服务;
基于所述监控服务,获取所述网关上报的所述系统交互信息,以将所述系统交互信息存储在所述数据库中。
3.根据权利要求1所述的方法,其特征在于,所述基于所述系统交互信息进行分词得到的分词数据构建索引信息,并将所述索引信息存入数据库中,包括:
基于所述监控服务,配置对应的搜索引擎;
基于所述搜索引擎中的目标分词器对所述系统交互信息进行分词,得到所述分词数据;
基于所述分词数据构建对应的所述索引信息,并将所述索引信息存入对应的所述数据库中。
4.根据权利要求1所述的方法,其特征在于,所述基于所述监控服务,根据系统服务接口配置对应的查询条件,包括:
基于所述监控服务,确定所述调用方调用所述提供方的所述系统服务接口;
基于所述系统服务接口,确定所述系统服务接口对应的入参字段和/或出参字段;
根据所述入参字段和/或所述出参字段配置对应的一个或多个所述查询条件;其中,所述查询条件包括关键词条和词条偏移量。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取用户对所述查询条件的修改需求;其中,所述修改需求包括:新增需求、删减需求或调整需求中的至少一种;
根据所述新增需求配置相应的所述查询条件;
或,根据所述删减需求对相应的所述查询条件进行删除;
或,根据所述调整需求对相应的所述查询条件中的所述关键词条或所述词条偏移量进行调整。
6.根据权利要求1所述的方法,其特征在于,所述根据目标查询条件、目标查询内容以及所述索引信息,对所述数据库中的所述系统交互信息进行查询,得到查询结果,包括:
基于配置的所述查询条件,确定其中一个或多个所述目标查询条件;
基于所述目标查询条件,获取所述目标查询内容;
根据所述目标查询条件以及对应的所述目标查询内容,在具有所述索引信息的所述数据库中对所述系统交互信息进行查询,得到对应的所述查询结果;其中,所述数据库中的所述系统交互信息包括多种数据结构的信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据用户的查询需求,配置对应的查询标准;其中,所述查询标准包括:监控区间、耗时长度、系统类型、服务类型、检索类型中的至少一种。
8.一种基于监控服务的系统交互信息动态收集查询装置,其特征在于,所述装置包括:
收集模块,用于基于监控服务,实时收集调用方和提供方之间的系统交互信息;其中,所述系统交互信息包括:用户身份信息、系统标识信息、系统服务接口标识、入参数据或出参数据中的至少一种;
索引模块,用于基于所述系统交互信息进行分词得到的分词数据构建索引信息,并将所述索引信息存入数据库中;
配置模块,用于基于所述监控服务,根据系统服务接口配置对应的查询条件,包括:根据所述调用方调用所述提供方接口服务时的所述系统服务接口,动态地配置相应的一个或多个所述查询条件以供查询;
查询模块,用于根据目标查询条件、目标查询内容以及所述索引信息,对所述数据库中的所述系统交互信息进行查询,得到查询结果;
其中,进行收集和查询时无需在所述调用方和所述提供方中进行埋点。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器运行所述程序指令时,执行权利要求1-7中任一项所述方法中的步骤。
10.一种计算机可读取存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-7任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211218198.1A CN115563356B (zh) | 2022-09-30 | 2022-09-30 | 基于监控服务的系统交互信息动态收集查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211218198.1A CN115563356B (zh) | 2022-09-30 | 2022-09-30 | 基于监控服务的系统交互信息动态收集查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115563356A CN115563356A (zh) | 2023-01-03 |
CN115563356B true CN115563356B (zh) | 2023-07-18 |
Family
ID=84745781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211218198.1A Active CN115563356B (zh) | 2022-09-30 | 2022-09-30 | 基于监控服务的系统交互信息动态收集查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115563356B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546258A (zh) * | 2012-01-20 | 2012-07-04 | 因为科技无锡有限公司 | 智能小区公共资源优化管理系统 |
WO2019174132A1 (zh) * | 2018-03-12 | 2019-09-19 | 平安科技(深圳)有限公司 | 数据处理方法、服务器及计算机存储介质 |
CN111933134A (zh) * | 2020-07-23 | 2020-11-13 | 珠海大横琴科技发展有限公司 | 人机交互的方法及装置、电子设备、存储介质 |
WO2020248378A1 (zh) * | 2019-06-12 | 2020-12-17 | 平安科技(深圳)有限公司 | 业务查询方法、装置及存储介质、计算机设备 |
CN113392121A (zh) * | 2020-12-09 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种数据查询方法、装置、设备和存储介质 |
US11301475B1 (en) * | 2018-09-21 | 2022-04-12 | Splunk Inc. | Transmission handling of analytics query response |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287398B (zh) * | 2019-06-26 | 2021-07-06 | 腾讯科技(深圳)有限公司 | 一种信息更新的方法以及相关装置 |
CN111159524A (zh) * | 2019-12-30 | 2020-05-15 | 北京同邦卓益科技有限公司 | 监控方法和系统,及存储介质 |
-
2022
- 2022-09-30 CN CN202211218198.1A patent/CN115563356B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546258A (zh) * | 2012-01-20 | 2012-07-04 | 因为科技无锡有限公司 | 智能小区公共资源优化管理系统 |
WO2019174132A1 (zh) * | 2018-03-12 | 2019-09-19 | 平安科技(深圳)有限公司 | 数据处理方法、服务器及计算机存储介质 |
US11301475B1 (en) * | 2018-09-21 | 2022-04-12 | Splunk Inc. | Transmission handling of analytics query response |
WO2020248378A1 (zh) * | 2019-06-12 | 2020-12-17 | 平安科技(深圳)有限公司 | 业务查询方法、装置及存储介质、计算机设备 |
CN111933134A (zh) * | 2020-07-23 | 2020-11-13 | 珠海大横琴科技发展有限公司 | 人机交互的方法及装置、电子设备、存储介质 |
CN113392121A (zh) * | 2020-12-09 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种数据查询方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115563356A (zh) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10897511B2 (en) | Topical activity monitor and identity collector system | |
US9241027B2 (en) | System and method for managing an online social network | |
US11017764B1 (en) | Predicting follow-on requests to a natural language request received by a natural language processing system | |
US20090150384A1 (en) | Searching a database | |
US20080065646A1 (en) | Enabling access to aggregated software security information | |
US11544911B1 (en) | Manipulation of virtual object position within a plane of an extended reality environment | |
CN104081380A (zh) | 对来自多个数据源的解决方案的识别和排序 | |
US11423096B2 (en) | Method and apparatus for outputting information | |
CN111159563B (zh) | 用户兴趣点信息的确定方法、装置、设备及存储介质 | |
US11921758B2 (en) | Systems and methods for machine learning models for entity resolution | |
CN112182025A (zh) | 日志分析方法、装置、设备与计算机可读存储介质 | |
CN111414410A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN115563356B (zh) | 基于监控服务的系统交互信息动态收集查询方法及装置 | |
KR20180007792A (ko) | 클라우드 서비스 기반의 데이터 제공 장치 및 방법 | |
CN113392327B (zh) | 基于用户网站访问记录的图书推荐方法 | |
KR20050112882A (ko) | 신뢰성 있는 컨텐츠를 제공하는 컨텐츠 검색 시스템 및 그방법 | |
JP5354208B2 (ja) | デフォルト値設定システム及びデフォルト値設定方法 | |
JP4934154B2 (ja) | コンテンツ提供装置 | |
US11461378B1 (en) | Generating dashboards based on user-based filters | |
US11467794B1 (en) | Displaying device-associated data in an extended reality environment | |
CN114637894A (zh) | 重点题的推送方法、装置及存储介质 | |
CN116561434A (zh) | 一种数据检索推荐方法、装置、存储介质及设备 | |
JP2022062779A (ja) | 検索且つ登録装置及び検索且つ登録方法 | |
Gamero et al. | Ethical responsibility of doctors in Uruguay. Results of the first six years of operation of the Medical Ethics Court. | |
Chu et al. | Application of two prediction models in prediction of prevalence of extended-spectrumβ-lactamases-producing Klebsiella pneumoniae. |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |