CN117520341A - 金融数据库的多路索引并行构建方法、装置、设备及介质 - Google Patents

金融数据库的多路索引并行构建方法、装置、设备及介质 Download PDF

Info

Publication number
CN117520341A
CN117520341A CN202311480022.8A CN202311480022A CN117520341A CN 117520341 A CN117520341 A CN 117520341A CN 202311480022 A CN202311480022 A CN 202311480022A CN 117520341 A CN117520341 A CN 117520341A
Authority
CN
China
Prior art keywords
index
construction
task
state
execution
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
Application number
CN202311480022.8A
Other languages
English (en)
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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202311480022.8A priority Critical patent/CN117520341A/zh
Publication of CN117520341A publication Critical patent/CN117520341A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本申请适用于金融服务技术领域,尤其涉及一种金融数据库的多路索引并行构建方法、装置、设备及介质。该方法根据金融数据库支持的N个索引类别以及本次索引的检索语料,生成索引构建任务,将任务状态为第一状态的至少一个索引构建任务作为一组初始任务组,获取与初始任务组中任务数量相同的空闲状态的构建服务实例,将初始任务组中每个索引构建任务分别分发至一个空闲状态的构建服务实例并异步执行,执行完成后更改构建服务实例和索引构建任务的状态,重复执行直至所有的索引构建任务分发完成,若所有执行均成功则确定本次索引的构建完成,并行可以降低构建耗时,异步执行可以降低同步执行时错误的发生率,从而提高了效率和稳定性。

Description

金融数据库的多路索引并行构建方法、装置、设备及介质
技术领域
本申请适用于金融服务技术领域,尤其涉及一种金融数据库的多路索引并行构建方法、装置、设备及介质。
背景技术
在金融服务技术领域,随着人工智能(Artificial Intelligence,AI)的发展,在AI运算和训练过程中,逐渐需要依赖数据库,尤其是数据库的检索服务,对于数据库而言,不同类型数据库所使用的索引类型是不相同的,当前也存在能够同时支持多种形式的索引类型的数据库,例如,ES索引即Elasticsearch搜索引擎使用的索引结构,语义索引(Semantic index,Sm索引)可用于向量召回,内存索引,预处理索引等索引类型。索引需要使用语料数据提前构建,才能对外提供检索服务,且在较多语料数据的情况下,索引构建耗时较长,容易受不规范数据的影响而导致失败。一个检索服务通常会同时依赖多种索引,索引构建过程的稳定高效会直接影响检索服务的质量。
目前,业内通常采用的索引构建方式为单机串行,即索引构建服务接收到请求后依次构建各种索引,全部构建完成后再通知检索服务切换索引。串行的方式使得执行链路较长,容易受到中间某一环节失败而全部失败,且耗时长、稳定性差、拓展性差。因此,如何改进索引构建方式,且优化构建流程,以提高索引构建的效率同时保证索引构建的稳定性成为亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供了一种金融数据库的多路索引并行构建方法、装置、设备及介质,以解决如何改进索引构建方式,且优化构建流程,以提高索引构建的效率同时保证索引构建的稳定性的问题。
第一方面,本申请实施例提供一种金融数据库的多路索引并行构建方法,所述多路索引并行构建方法包括:
获取所述金融数据库支持的N个索引类别以及本次索引的检索语料,针对任一索引类别,根据所述索引类别和所述检索语料,生成索引构建任务,更新所述索引构建任务的任务状态为第一状态,得到N个索引构建任务,N为大于1的整数;
将任务状态为所述第一状态的至少一个索引构建任务作为一组初始任务组,获取与所述初始任务组中任务数量相同的空闲状态的构建服务实例,将所述初始任务组中每个索引构建任务分别分发至一个所述空闲状态的构建服务实例,使得所述空闲状态的构建服务实例变为非空闲状态;
异步执行所有的非空闲状态的构建服务实例,将执行完成的所述非空闲状态的构建服务实例变为空闲状态,且更新执行成功的所述非空闲状态的构建服务实例对应的索引构建任务的任务状态为第二状态;
返回执行将任务状态为所述第一状态的一索引构建任务作为一组初始任务组的步骤,直至所有的索引构建任务分发完成,若执行的所有的非空闲状态的构建服务实例均执行成功,则确定所述本次索引的构建完成。
第二方面,本申请实施例提供一种金融数据库的多路索引并行构建装置,所述多路索引并行构建装置包括:
索引构建任务模块,用于获取所述金融数据库支持的N个索引类别以及本次索引的检索语料,针对任一索引类别,根据所述索引类别和所述检索语料,生成索引构建任务,更新所述索引构建任务的任务状态为第一状态,得到N个索引构建任务,N为大于1的整数;
构建任务分发模块,用于将任务状态为所述第一状态的至少一个索引构建任务作为一组初始任务组,获取与所述初始任务组中任务数量相同的空闲状态的构建服务实例,将所述初始任务组中每个索引构建任务分别分发至一个所述空闲状态的构建服务实例,使得所述空闲状态的构建服务实例变为非空闲状态;
构建任务执行模块,用于异步执行所有的非空闲状态的构建服务实例,将执行完成的所述非空闲状态的构建服务实例变为空闲状态,且更新执行成功的所述非空闲状态的构建服务实例对应的索引构建任务的任务状态为第二状态;
循环构建执行模块,用于返回执行将任务状态为所述第一状态的一索引构建任务作为一组初始任务组的步骤,直至所有的索引构建任务分发完成,若执行的所有的非空闲状态的构建服务实例均执行成功,则确定所述本次索引的构建完成。
第三方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的多路索引并行构建方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的多路索引并行构建方法。
本申请实施例与现有技术相比存在的有益效果是:本申请获取金融数据库支持的N个索引类别以及本次索引的检索语料,针对任一索引类别,根据索引类别和检索语料,生成索引构建任务,更新索引构建任务的任务状态为第一状态,得到N个索引构建任务,将任务状态为第一状态的至少一个索引构建任务作为一组初始任务组,获取与初始任务组中任务数量相同的空闲状态的构建服务实例,将初始任务组中每个索引构建任务分别分发至一个空闲状态的构建服务实例,使得空闲状态的构建服务实例变为非空闲状态,异步执行所有的非空闲状态的构建服务实例,将执行完成的非空闲状态的构建服务实例变为空闲状态,且更新执行成功的非空闲状态的构建服务实例对应的索引构建任务的任务状态为第二状态,返回执行将任务状态为第一状态的一索引构建任务作为一组初始任务组的步骤,直至所有的索引构建任务分发完成,若执行的所有的非空闲状态的构建服务实例均执行成功,则确定本次索引的构建完成,形成完整的并行构建和异步执行的索引构建流程,使得索引构建结果能够保证索引数据的一致性,并行可以降低构建耗时,异步执行可以降低同步执行时错误的发生率,从而提高了效率和稳定性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的一种金融数据库的多路索引并行构建方法的一应用环境示意图;
图2是本申请实施例二提供的一种金融数据库的多路索引并行构建方法的流程示意图;
图3是本申请实施例三提供的一种金融数据库的多路索引并行构建方法的流程示意图;
图4是本申请实施例四提供的一种金融数据库的多路索引并行构建方法的流程示意图;
图5是本申请实施例五提供的一种金融数据库的多路索引并行构建方法的流程示意图;
图6是本申请实施例六提供的一种金融数据库的多路索引并行构建方法的流程示意图;
图7是本申请实施例七提供的一种一种金融数据库的多路索引并行构建方法的流程示意图;
图8是本申请实施例八提供的一种金融数据库的多路索引并行构建装置的结构示意图;
图9是本申请实施例九提供的一种计算机设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
应理解,以下实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请的技术方案,下面通过具体实施例来进行说明。
本申请实施例一提供的一种金融数据库的多路索引并行构建方法,可应用在如图1的应用环境中,其中,客户端与数据库进行通信。其中,客户端包括但不限于掌上电脑、桌上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、云端计算机设备、个人数字助理(personal digital assistant,PDA)等计算机设备。数据库可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
参见图2,是本申请实施例二提供的一种金融数据库的多路索引并行构建方法的流程示意图,上述金融数据库的多路索引并行构建方法应用于图1中的数据库,数据库可以为金融系统连接的一数据库,其中,数据库用于支持金融系统对应的客户端进行检索,以给出相应数据。客户端通过相应地功能组件,收集用户提供的检索语料,并以该检索语料为基础,从数据库中获取到对应检索语料的检索结果。如图2所示,该金融数据库的多路索引并行构建方法可以包括以下步骤:
步骤S201,获取金融数据库支持的N个索引类别以及本次索引的检索语料,针对任一索引类别,根据索引类别和检索语料,生成索引构建任务,更新索引构建任务的任务状态为第一状态,得到N个索引构建任务。
本申请中,检索语料为用户通过相应地客户端提供的检索要求和条件等形成的语料数据,具体地,语料数据可以为一文本或者声音数据,无论文本或者声音数据都会被转换成计算机能够识别的语言,从而在计算机内部进行运行处理。
每个索引类别分别构建一个索引构建任务,后续可以使用不同的索引类别来执行索引工作,在本申请中,针对索引类别布置一个的情况来设置,即多路索引,因此,N为大于1的整数。索引构建任务为指导索引构建所生成的构建任务,该构建任务可以通过相应地标识表示,同时,构建任务中设置有索引类别、检索语料和任务状态等信息,其中,任务状态可以被实时更新。在生成索引构建任务时,对应更新其任务状态为第一状态,该第一状态表征对应的构建任务还未被执行。
可选的是,在获取本次索引的检索语料之后,还包括:
对检索语料进行复制,得到N个检索语料;
相应地,根据索引类别和检索语料,生成索引构建任务,更新索引构建任务的任务状态为第一状态,包括:
从N个检索语料中选取一个检索语料,使用索引类别对应的清洗条件对检索语料进行清洗操作,得到清洗语料;
生成一构建任务编码,使用构建任务编码、清洗语料和任务状态,生成索引构建任务,将索引构建任务中任务状态更新为第一状态。
其中,获取的检索语料为一个,为了对应N个索引类型,同步将检索语料复制为N个。对于检索语料可能不符合要求的情况,由于不同索引类型对检索语料的要求不相同,因此,使用索引类型对应的清洗条件对相应地检索语料进行清洗操作,得到清洗语料,将清洗预料、任务状态、构建任务编码形成一索引构建任务,将其中的任务状态更新为第一状态,从而可以更好地提高索引构建任务的准确率。
步骤S202,将任务状态为第一状态的至少一个索引构建任务作为一组初始任务组,获取与初始任务组中任务数量相同的空闲状态的构建服务实例,将初始任务组中每个索引构建任务分别分发至一个空闲状态的构建服务实例,使得空闲状态的构建服务实例变为非空闲状态。
本申请中,任务状态为第一状态表明对应的索引构建任务还未执行,因此,该索引构建任务可以被执行。该构建服务实例可以是指一索引构建的实际例子,该实际例子为一执行流程或者步骤,用于在获得相应地索引构建任务后进行执行动作,得到索引构建结果。
空闲状态的构建服务实例表征为未运行的实例,可以将相应地构建任务分配至本实例,以实现本实例的运行。非空闲状态与上述空闲状态为相对的两个状态,在将索引构建任务分发至一空闲状态的构建服务实例,该构建服务实例运行,即该构建服务实例从空闲状态变为非空闲状态。
一个索引构建任务对应一个构建服务实例,此时,如果构建服务实例只有一个,那么只能够提供给一个索引构建任务使用,如果构建服务实例为多个,并且存在能够同时分发构建服务实例的线程,则可以是对多个索引构建任务进行并行分发处理,从而提高效率。
步骤S203,异步执行所有的非空闲状态的构建服务实例,将执行完成的非空闲状态的构建服务实例变为空闲状态,且更新执行成功的非空闲状态的构建服务实例对应的索引构建任务的任务状态为第二状态。
本申请中,异步执行即相应地执行线程设置为1个,从而只有该执行线程执行一个构建服务实例的工作完成后,才能够执行下一个构建服务实例,从而可以避免同时执行所有构建服务实例,降低了并发风险,整体提升了构建过程的容错性、稳定性,将多种索引构建拆分为各自独立的异步流程,支持灵活的自动部分重试策略,在构建服务宕机重启后依然能恢复执行任务,且增强了构建服务的并发控制能力。
在每个构建服务实例执行完成之后,将对应的构建服务实例的状态从非空闲状态变更为空闲状态,以备后续的其他索引构建服务使用,另外,对于执行完成并执行成功的构建服务实例对应的索引构建任务而言,其任务也完成了,因此更新任务状态为第二状态,其中,第二状态表征对应的检索构建任务为已执行完成。
如果存在执行完成但执行失败的构建服务实例,其对应的索引构建任务可能还需要再次执行,以降低误差的出现,此时,该索引构建任务的状态不能够变更,否则无法继续执行,该过程参见后续实施例三和实施例四中的介绍。
步骤S204,返回执行将任务状态为第一状态的一索引构建任务作为一组初始任务组的步骤,直至所有的索引构建任务分发完成,若执行的所有的非空闲状态的构建服务实例均执行成功,则确定本次索引的构建完成。
本申请中,为了将所有索引构建任务执行完成,需要构建相应地循环步骤,直至所有的索引构建任务分发完成,同时,还需要判断所有构建服务实例的执行是否均执行成功,如果全部执行成功,则确定本次索引的构建完成,如果存在执行失败的情况,则还需要通过其他过程进行补救。
本申请实施例获取金融数据库支持的N个索引类别以及本次索引的检索语料,针对任一索引类别,根据索引类别和检索语料,生成索引构建任务,更新索引构建任务的任务状态为第一状态,得到N个索引构建任务,将任务状态为第一状态的至少一个索引构建任务作为一组初始任务组,获取与初始任务组中任务数量相同的空闲状态的构建服务实例,将初始任务组中每个索引构建任务分别分发至一个空闲状态的构建服务实例,使得空闲状态的构建服务实例变为非空闲状态,异步执行所有的非空闲状态的构建服务实例,将执行完成的非空闲状态的构建服务实例变为空闲状态,且更新执行成功的非空闲状态的构建服务实例对应的索引构建任务的任务状态为第二状态,返回执行将任务状态为第一状态的一索引构建任务作为一组初始任务组的步骤,直至所有的索引构建任务分发完成,若执行的所有的非空闲状态的构建服务实例均执行成功,则确定本次索引的构建完成,形成完整的并行构建和异步执行的索引构建流程,使得索引构建结果能够保证索引数据的一致性,并行可以降低构建耗时,异步执行可以降低同步执行时错误的发生率,从而提高了效率和稳定性。
参见图3,为本申请实施例三提供的一种金融数据库的多路索引并行构建方法的流程示意图。索引构建任务还包括超时时间和重复次数,重复次数为索引构建任务被分发的次数,如图3所示,在步骤S202的获取与初始任务组中任务数量相同的空闲状态的构建服务实例之后,还包括以下步骤:
步骤S301,针对初始任务组中任一索引构建任务,检测当前时间是否超出索引构建任务的超时时间,以及检测索引构建任务中的重复次数是否达到目标次数。
其中,超时时间为根据需求设定的一时刻,该时刻用于确定任务是否超时,即当前时间超出该时刻即为超时,当前时间未超出该时刻即为不超时,超时意味着对应的任务未在规定的时间内执行完毕。
重复次数为对应索引构建任务被分发的次数,也即是索引构建任务对应的构建任务实例被执行的次数,其中,如果索引构建任务对应的构建任务实例执行后为执行失败,则还需要再次执行,此时对应的被执行次数增加1次。目标次数为根据需求设定的一次数值,超出高目标次数即表明该任务无需再次被执行。
步骤S302,若检测到当前时间超出索引构建任务中的超时时间,且检测到索引构建任务中的重复次数未达到目标次数,则执行步骤S202的将初始任务组中每个索引构建任务分别分发至一个空闲状态的构建服务实例的步骤。
步骤S303,将索引构建任务中的重复次数增加一次,直至执行成功或者检测到索引构建任务中的重复次数达到目标次数,将索引构建任务的任务状态更新为第二状态。
其中,针对超时的索引构建任务,给出一定的执行冗余,使得该索引构建任务能够被重复多次执行,直至执行成功或者重复次数达到目标次数被判定为执行失败,随后,在将其任务状态更新为第二状态,防止其再被执行。
参见图4,为本申请实施例四提供的一种金融数据库的多路索引并行构建方法的流程示意图。如图4所示,该多路索引并行构建方法在上述步骤S202的获取与初始任务组中任务数量相同的空闲状态的构建服务实例之后,还包括以下步骤:
步骤S401,针对初始任务组中任一索引构建任务,检测当前时间是否超出索引构建任务的超时时间,以及检测索引构建任务中的重复次数是否达到目标次数。
步骤S402,若检测到当前时间超出索引构建任务中的超时时间,且检测到索引构建任务中的重复次数未达到目标次数,则执行步骤S202的将初始任务组中每个索引构建任务分别分发至一个空闲状态的构建服务实例的步骤。
步骤S403,将索引构建任务中的重复次数增加一次,直至执行成功或者检测到索引构建任务中的重复次数达到目标次数,将索引构建任务的任务状态更新为第二状态。
其中,步骤S401至步骤S403的内容与上述步骤S301至步骤S303的部分内容相同,可参考步骤S301至步骤S303的描述,在此不再赘述。
步骤S404,若检测到当前时间未超出索引构建任务中的超时时间,则执行步骤S202的将初始任务组中每个索引构建任务分别分发至一个空闲状态的构建服务实例的步骤。
步骤S405,在每个非空闲状态的构建服务实例执行完成后,检测到每个非空闲状态的构建服务实例的执行状态。
步骤S406,若检测到任一非空闲状态的构建服务实例的执行状态为执行失败,则将任一非空闲状态的构建服务实例对应的索引构建任务搁置至其他的索引构建任务执行完成后,返回执行步骤S202的将任务状态为第一状态的至少一个索引构建任务作为一组初始任务组的步骤,直至执行成功或者检测到索引构建任务中的重复次数达到目标次数。
其中,针对未超时的任务按照上述步骤S202的内容进行执行,另外还需要在执行完毕后对每个构建服务实例的执行状态进行检测,确定执行失败的索引构建任务。针对这部分执行失败的索引构建任务,采用搁置的方式,暂停对其的执行工作,防止占用资源,减少对其他索引构建任务的影响,从而在一定程度上提高效率。
另外,在其他的索引构建任务都执行完成后,再对上面执行失败的索引构建任务进行重复的分发实例和执行,直至执行成功或者重复次数达到目标次数(即认定执行失败)。
参见图5,是本申请实施例五提供的一种金融数据库的多路索引并行构建方法的流程示意图,如图5所示,该金融数据库的多路索引并行构建方法可以包括以下步骤:
步骤S501,获取金融数据库支持的N个索引类别以及本次索引的检索语料,针对任一索引类别,根据索引类别和检索语料,生成索引构建任务,更新索引构建任务的任务状态为第一状态,得到N个索引构建任务。
步骤S502,将任务状态为第一状态的至少一个索引构建任务作为一组初始任务组,获取与初始任务组中任务数量相同的空闲状态的构建服务实例,将初始任务组中每个索引构建任务分别分发至一个空闲状态的构建服务实例,使得空闲状态的构建服务实例变为非空闲状态。
步骤S503,异步执行所有的非空闲状态的构建服务实例,将执行完成的非空闲状态的构建服务实例变为空闲状态,且更新执行成功的非空闲状态的构建服务实例对应的索引构建任务的任务状态为第二状态。
步骤S504,返回执行将任务状态为第一状态的一索引构建任务作为一组初始任务组的步骤,直至所有的索引构建任务分发完成,若执行的所有的非空闲状态的构建服务实例均执行成功,则确定本次索引的构建完成。
其中,步骤S501至步骤S504的内容与上述步骤S201至步骤S204的部分内容相同,可参考步骤S201至步骤S204的描述,在此不再赘述。
步骤S505,针对任一索引构建任务,将索引构建任务和对应分发的构建服务索引实例关联写入索引任务表的一行,遍历所有索引构建任务,得到写好的索引任务表。
步骤S506,根据写好的索引任务表,在金融数据库中执行索引,得到每个索引构建任务对应的索引结果。
其中,将索引构建任务和对应的构建服务索引实例关联写入索引任务表,将该索引任务表放入金融数据库中执行索引工作,得到索引结果,实现最终的索引。
参见图6,为本申请实施例六提供的一种金融数据库的多路索引并行构建方法的流程示意图。如图6所示,该多路索引并行构建方法在上述步骤S506之后,还包括以下步骤:
步骤S601,检测所有的索引结果是否相同。
步骤S602,若检测到所有的索引结果不相同,则根据索引任务表,生成告警提示,将告警提示发送至目标地址。
其中,针对索引结果进行检测,索引结果一致的情况下表明上述的构建较为成功,如果索引结果不一致,则表明存在一定的错误,该错误可能是索引构建任务造成的,也可能是构建任务实例造成的,因此,根据索引任务表生成告警,把告警发送到目标地址,以相应地监管进行提示,提高错误的可视性,增强了可维护性以及拓展性。
参见图7,为本申请实施例七提供的一种金融数据库的多路索引并行构建方法的流程示意图。如图7所示,该多路索引并行构建方法在上述步骤S201的获取金融数据库支持的N个索引类别以及本次索引的检索语料之后,可以包括以下步骤:
步骤S701,检测否存在未完成的索引构建任务。
步骤S702,若检测到存在未完成的索引构建任务,则将未完成的索引构建任务分发至一个空闲状态的构建服务实例,使得空闲状态的构建服务实例变为非空闲状态。
步骤S703,执行非空闲状态的构建服务实例,并在执行完成之后执行步骤S201的针对任一索引类别,根据索引类别和检索语料,生成索引构建任务的步骤。
其中,在执行本次索引之前,启动索引时对是否存在未完成的索引构建任务进行检测,如果存在,则需要先对这部分的索引构建任务进行处理,从而使得宕机重启后依然能恢复任务的执行,降低了因宕机引起的任务丢失的可能性,提高了索引构建的稳定性。
对应于上文实施例的金融数据库的多路索引并行构建方法,图8示出了本申请实施例八提供的金融数据库的多路索引并行构建装置的结构框图,上述多路索引并行构建装置应用于图1中的数据库,数据库可以为金融系统连接的一数据库,其中,数据库用于支持金融系统对应的客户端进行检索,以给出相应数据。客户端通过相应地功能组件,收集用户提供的检索语料,并以该检索语料为基础,从数据库中获取到对应检索语料的检索结果。为了便于说明,仅示出了与本申请实施例相关的部分。
参见图8,该多路索引并行构建装置包括:
索引构建任务模块81,用于获取金融数据库支持的N个索引类别以及本次索引的检索语料,针对任一索引类别,根据索引类别和检索语料,生成索引构建任务,更新索引构建任务的任务状态为第一状态,得到N个索引构建任务,N为大于1的整数;
构建任务分发模块82,用于将任务状态为第一状态的至少一个索引构建任务作为一组初始任务组,获取与初始任务组中任务数量相同的空闲状态的构建服务实例,将初始任务组中每个索引构建任务分别分发至一个空闲状态的构建服务实例,使得空闲状态的构建服务实例变为非空闲状态;
构建任务执行模块83,用于异步执行所有的非空闲状态的构建服务实例,将执行完成的非空闲状态的构建服务实例变为空闲状态,且更新执行成功的非空闲状态的构建服务实例对应的索引构建任务的任务状态为第二状态;
循环构建执行模块84,用于返回执行将任务状态为第一状态的一索引构建任务作为一组初始任务组的步骤,直至所有的索引构建任务分发完成,若执行的所有的非空闲状态的构建服务实例均执行成功,则确定本次索引的构建完成。
可选的是,该多路索引并行构建装置还包括:
检索语料复制模块,用于在获取本次索引的检索语料之后,对检索语料进行复制,得到N个检索语料;
相应地,索引构建任务模块81,包括:
语料清洗单元,用于从N个检索语料中选取一个检索语料,使用索引类别对应的清洗条件对检索语料进行清洗操作,得到清洗语料;
索引构建任务单元,用于生成一构建任务编码,使用构建任务编码、清洗语料和任务状态,生成索引构建任务,将索引构建任务中任务状态更新为第一状态。
可选的是,索引构建任务还包括超时时间和重复次数,重复次数为索引构建任务被分发的次数,该多路索引并行构建装置还包括:
任务检测模块,用于在获取与初始任务组中任务数量相同的空闲状态的构建服务实例之后,针对初始任务组中任一索引构建任务,检测当前时间是否超出索引构建任务的超时时间,以及检测索引构建任务中的重复次数是否达到目标次数;
超时执行模块,用于若检测到当前时间超出索引构建任务中的超时时间,且检测到索引构建任务中的重复次数未达到目标次数,则执行将初始任务组中每个索引构建任务分别分发至一个空闲状态的构建服务实例的步骤;
循环执行模块,用于将索引构建任务中的重复次数增加一次,直至执行成功或者检测到索引构建任务中的重复次数达到目标次数,将索引构建任务的任务状态更新为第二状态。
可选的是,该多路索引并行构建装置还包括:
未超时执行模块,用于在检测当前时间是否超出索引构建任务中的超时时间之后,若检测到当前时间未超出索引构建任务中的超时时间,则执行将初始任务组中每个索引构建任务分别分发至一个空闲状态的构建服务实例的步骤;
相应地,该多路索引并行构建装置还包括:
执行状态检测模块,用于在异步执行所有的非空闲状态的构建服务实例之后,在每个非空闲状态的构建服务实例执行完成后,检测到每个非空闲状态的构建服务实例的执行状态;
执行失败搁置模块,用于若检测到任一非空闲状态的构建服务实例的执行状态为执行失败,则将任一非空闲状态的构建服务实例对应的索引构建任务搁置至其他的索引构建任务执行完成后,返回执行将任务状态为第一状态的至少一个索引构建任务作为一组初始任务组的步骤,直至执行成功或者检测到索引构建任务中的重复次数达到目标次数。
可选的是,该多路索引并行构建装置还包括:
索引任务表模块,用于在确定本次索引的构建完成之后,针对任一索引构建任务,将索引构建任务和对应分发的构建服务索引实例关联写入索引任务表的一行,遍历所有索引构建任务,得到写好的索引任务表;
索引结果获取模块,用于根据写好的索引任务表,在金融数据库中执行索引,得到每个索引构建任务对应的索引结果。
可选的是,该多路索引并行构建装置还包括:
索引结果检测模块,用于在根据写好的索引任务表,在金融数据库中执行索引,得到每个索引构建任务对应的索引结果之后,检测所有的索引结果是否相同;
告警提示模块,用于若检测到所有的索引结果不相同,则根据索引任务表,生成告警提示,将告警提示发送至目标地址。
可选的是,该多路索引并行构建装置还包括:
遗留任务检测模块,用于在获取金融数据库支持的N个索引类别以及本次索引的检索语料之后,检测否存在未完成的索引构建任务;
遗留任务分发模块,用于若检测到存在未完成的索引构建任务,则将未完成的索引构建任务分发至一个空闲状态的构建服务实例,使得空闲状态的构建服务实例变为非空闲状态;
遗留任务执行模块,用于执行非空闲状态的构建服务实例,并在执行完成之后执行针对任一索引类别,根据索引类别和检索语料,生成索引构建任务的步骤。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图9为本申请实施例九提供的一种计算机设备的结构示意图。如图9所示,该实施例的计算机设备包括:至少一个处理器(图9中仅示出一个)、存储器以及存储在存储器中并可在至少一个处理器上运行的计算机程序,处理器执行计算机程序时实现上述任意各个金融数据库的多路索引并行构建方法实施例中的步骤。
该计算机设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图9仅仅是计算机设备的举例,并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括网络接口、显示屏和输入装置等。
所称处理器可以是CPU,该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器包括可读存储介质、内存储器等,其中,内存储器可以是计算机设备的内存,内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。可读存储介质可以是计算机设备的硬盘,在另一些实施例中也可以是计算机设备的外部存储设备,例如,计算机设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,该其他程序如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现可实现上述方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种金融数据库的多路索引并行构建方法,其特征在于,所述多路索引并行构建方法包括:
获取所述金融数据库支持的N个索引类别以及本次索引的检索语料,针对任一索引类别,根据所述索引类别和所述检索语料,生成索引构建任务,更新所述索引构建任务的任务状态为第一状态,得到N个索引构建任务,N为大于1的整数;
将任务状态为所述第一状态的至少一个索引构建任务作为一组初始任务组,获取与所述初始任务组中任务数量相同的空闲状态的构建服务实例,将所述初始任务组中每个索引构建任务分别分发至一个所述空闲状态的构建服务实例,使得所述空闲状态的构建服务实例变为非空闲状态;
异步执行所有的非空闲状态的构建服务实例,将执行完成的所述非空闲状态的构建服务实例变为空闲状态,且更新执行成功的所述非空闲状态的构建服务实例对应的索引构建任务的任务状态为第二状态;
返回执行将任务状态为所述第一状态的一索引构建任务作为一组初始任务组的步骤,直至所有的索引构建任务分发完成,若执行的所有的非空闲状态的构建服务实例均执行成功,则确定所述本次索引的构建完成。
2.根据权利要求1所述的多路索引并行构建方法,其特征在于,在获取本次索引的检索语料之后,还包括:
对所述检索语料进行复制,得到N个所述检索语料;
相应地,根据所述索引类别和所述检索语料,生成索引构建任务,更新所述索引构建任务的任务状态为第一状态,包括:
从N个所述检索语料中选取一个检索语料,使用所述索引类别对应的清洗条件对所述检索语料进行清洗操作,得到清洗语料;
生成一构建任务编码,使用所述构建任务编码、所述清洗语料和任务状态,生成索引构建任务,将所述索引构建任务中任务状态更新为第一状态。
3.根据权利要求1所述的多路索引并行构建方法,其特征在于,所述索引构建任务还包括超时时间和重复次数,所述重复次数为所述索引构建任务被分发的次数,在获取与所述初始任务组中任务数量相同的空闲状态的构建服务实例之后,还包括:
针对初始任务组中任一索引构建任务,检测当前时间是否超出所述索引构建任务的超时时间,以及检测所述索引构建任务中的重复次数是否达到目标次数;
若检测到所述当前时间超出所述索引构建任务中的所述超时时间,且检测到所述索引构建任务中的重复次数未达到目标次数,则执行将所述初始任务组中每个索引构建任务分别分发至一个所述空闲状态的构建服务实例的步骤;
将所述索引构建任务中的重复次数增加一次,直至执行成功或者检测到所述索引构建任务中的重复次数达到目标次数,将所述索引构建任务的任务状态更新为所述第二状态。
4.根据权利要求3所述的多路索引并行构建方法,其特征在于,在检测当前时间是否超出所述索引构建任务中的所述超时时间之后,还包括:
若检测到所述当前时间未超出所述索引构建任务中的所述超时时间,则执行将所述初始任务组中每个索引构建任务分别分发至一个所述空闲状态的构建服务实例的步骤;
相应地,在异步执行所有的非空闲状态的构建服务实例之后,还包括:
在每个非空闲状态的构建服务实例执行完成后,检测到每个非空闲状态的构建服务实例的执行状态;
若检测到任一非空闲状态的构建服务实例的执行状态为执行失败,则将所述任一非空闲状态的构建服务实例对应的索引构建任务搁置至其他的索引构建任务执行完成后,返回执行将任务状态为所述第一状态的至少一个索引构建任务作为一组初始任务组的步骤,直至执行成功或者检测到所述索引构建任务中的重复次数达到目标次数。
5.根据权利要求1所述的多路索引并行构建方法,其特征在于,在确定所述本次索引的构建完成之后,还包括:
针对任一索引构建任务,将所述索引构建任务和对应分发的构建服务索引实例关联写入索引任务表的一行,遍历所有索引构建任务,得到写好的所述索引任务表;
根据所述写好的索引任务表,在所述金融数据库中执行索引,得到每个索引构建任务对应的索引结果。
6.根据权利要求5所述的多路索引并行构建方法,其特征在于,在根据所述写好的索引任务表,在所述金融数据库中执行索引,得到每个索引构建任务对应的索引结果之后,还包括:
检测所有的索引结果是否相同;
若检测到所有的索引结果不相同,则根据所述索引任务表,生成告警提示,将所述告警提示发送至目标地址。
7.根据权利要求1至6任一项所述的多路索引并行构建方法,其特征在于,在获取所述金融数据库支持的N个索引类别以及本次索引的检索语料之后,还包括:
检测否存在未完成的索引构建任务;
若检测到存在未完成的索引构建任务,则将所述未完成的索引构建任务分发至一个空闲状态的构建服务实例,使得所述空闲状态的构建服务实例变为非空闲状态;
执行非空闲状态的构建服务实例,并在执行完成之后执行针对任一索引类别,根据所述索引类别和所述检索语料,生成索引构建任务的步骤。
8.一种金融数据库的多路索引并行构建装置,其特征在于,所述多路索引并行构建装置包括:
索引构建任务模块,用于获取所述金融数据库支持的N个索引类别以及本次索引的检索语料,针对任一索引类别,根据所述索引类别和所述检索语料,生成索引构建任务,更新所述索引构建任务的任务状态为第一状态,得到N个索引构建任务,N为大于1的整数;
构建任务分发模块,用于将任务状态为所述第一状态的至少一个索引构建任务作为一组初始任务组,获取与所述初始任务组中任务数量相同的空闲状态的构建服务实例,将所述初始任务组中每个索引构建任务分别分发至一个所述空闲状态的构建服务实例,使得所述空闲状态的构建服务实例变为非空闲状态;
构建任务执行模块,用于异步执行所有的非空闲状态的构建服务实例,将执行完成的所述非空闲状态的构建服务实例变为空闲状态,且更新执行成功的所述非空闲状态的构建服务实例对应的索引构建任务的任务状态为第二状态;
循环构建执行模块,用于返回执行将任务状态为所述第一状态的一索引构建任务作为一组初始任务组的步骤,直至所有的索引构建任务分发完成,若执行的所有的非空闲状态的构建服务实例均执行成功,则确定所述本次索引的构建完成。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的多路索引并行构建方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的多路索引并行构建方法。
CN202311480022.8A 2023-11-07 2023-11-07 金融数据库的多路索引并行构建方法、装置、设备及介质 Pending CN117520341A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311480022.8A CN117520341A (zh) 2023-11-07 2023-11-07 金融数据库的多路索引并行构建方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311480022.8A CN117520341A (zh) 2023-11-07 2023-11-07 金融数据库的多路索引并行构建方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN117520341A true CN117520341A (zh) 2024-02-06

Family

ID=89761912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311480022.8A Pending CN117520341A (zh) 2023-11-07 2023-11-07 金融数据库的多路索引并行构建方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117520341A (zh)

Similar Documents

Publication Publication Date Title
US7752500B2 (en) Method and apparatus for providing updated processor polling information
CN111930489B (zh) 一种任务调度方法、装置、设备及存储介质
CN111190551B (zh) 一种redis数据的迁移系统、迁移方法、装置及终端
CN108415998B (zh) 应用依赖关系更新方法、终端、设备及存储介质
CN111404755B (zh) 一种网络配置方法、装置及存储介质
CN112100070A (zh) 版本缺陷的检测方法、装置、服务器及存储介质
US9390131B1 (en) Executing queries subject to different consistency requirements
CN113779149A (zh) 消息处理方法、装置、电子设备及可读存储介质
CN113886443A (zh) 日志的处理方法、装置、计算机设备及存储介质
US20040003387A1 (en) Dynamically resolving fix groups for managing multiple releases of multiple products on multiple systems
US20230214153A1 (en) Memory device forensics and preparation
US20230132117A1 (en) Handling system-characteristics drift in machine learning applications
CN117520341A (zh) 金融数据库的多路索引并行构建方法、装置、设备及介质
CN114036218A (zh) 一种数据模型切换方法、装置、服务器和存储介质
CN113886259A (zh) 银行柜面系统非流程弹窗自动化处理方法、系统和电子装置
CN115640236B (zh) 一种脚本质量的检测方法及计算设备
CN110609822A (zh) 数据流处理方法、设备和计算机程序产品
CN117520299A (zh) 金融系统迁移时的数据处理方法、装置、设备及介质
CN112860492B (zh) 一种适用于核心系统的自动化回归测试方法及系统
CN112380127B (zh) 测试用例回归方法、装置、设备和存储介质
CN117992357A (zh) 分布式数据库的查询语句检测方法、装置、设备及介质
US20230316082A1 (en) Deterministic training of machine learning models
CN116529722A (zh) 双主机架构中的批作业性能改进
CN116560884A (zh) 数据开发任务的异常处理方法、装置、电子设备及介质
CN115469988A (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