买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】数据的调用方法和装置_北京星选科技有限公司_201610201522.7 

申请/专利权人:北京星选科技有限公司

申请日:2016-03-31

公开(公告)日:2020-10-16

公开(公告)号:CN107291743B

主分类号:G06F16/25(20190101)

分类号:G06F16/25(20190101)

优先权:

专利状态码:有效-授权

法律状态:2020.10.16#授权;2017.11.24#实质审查的生效;2017.10.24#公开

摘要:本发明提出一种数据的调用方法和装置,该数据的调用方法包括获取WEB系统中访问数据库的通信请求,并获取通信请求中的调用指令;在预设调用模型中识别出调用指令中与数据库交互相关的调用指令集,其中,预设调用模型包括前缀信息字典树和调用关系模型;对调用指令集中前缀信息相同的调用指令进行合并处理,并根据合并处理后的调用指令集对数据库中的数据进行调用,以响应WEB系统中访问数据库的通信请求。通过本发明能够有效提升WEB系统中访问key‑value数据库的通信请求的响应效率,提升用户的使用体验。

主权项:1.一种数据的调用方法,其特征在于,包括以下步骤:获取WEB系统中访问数据库的通信请求,并获取所述通信请求中的调用指令,所述数据库为key-value数据库;在预设调用模型中识别出所述调用指令中与所述数据库交互相关的调用指令集,其中,所述预设调用模型包括前缀信息字典树和调用关系模型;对所述调用指令集中目标前缀相同的调用指令进行合并处理,并根据合并处理后的调用指令集对所述数据库中的数据进行调用,以响应所述WEB系统中访问数据库的通信请求。

全文数据:数据的调用方法和装置技术领域[0001]本发明涉及计算机技术领域,尤其涉及一种数据的调用方法和装置。背景技术[0002]相关技术中,在WEB系统的后端模块接收到需要调用的键key后,会根据key调用数据库中的数据,例如,后端模块根据一个key的集合,采用一个循环函数遍历该集合的方式,对每一个key都进行一次数据库操作例如,根据key对key-value数据库中的存储对象进行设置、删除、读取等操作)。[0003]这种方式下,WEB系统中后端模块和数据库的通信次数与数据集合的数据量关联,会产生多次的通信交互,消耗大量数据库和后台服务器的通信资源,并且降低数据库的负载能力,WEB系统响应耗时变长。发明内容[0004]本发明旨在至少在一定程度上解决相关技术中的技术问题之一。[0005]为此,本发明的一个目的在于提出一种数据的调用方法,能够有效提升WEB系统中访问key-value数据库的通信请求的响应效率,提升用户的使用体验。[0006]本发明的另一个目的在于提出一种数据的调用装置。[0007]为达到上述目的,本发明第一方面实施例提出的数据的调用方法,包括:获取WEB系统中访问数据库的通信请求,并获取所述通信请求中的调用指令;在预设调用模型中识别出所述调用指令中与所述数据库交互相关的调用指令集,其中,所述预设调用模型包括前缀信息字典树和调用关系模型;对所述调用指令集中目标前缀相同的调用指令进行合并处理,并根据合并处理后的调用指令集对所述数据库中的数据进行调用,以响应所述WEB系统中访问数据库的通信请求。[0008]本发明第一方面实施例提出的数据的调用方法,通过对调用指令集中目标前缀相同的调用指令进行合并处理,并根据合并处理后的调用指令集对数据库中的数据进行调用,能够有效提升WEB系统中访问key-value数据库的通信请求的响应效率,提升用户的使用体验。[0009]为达到上述目的,本发明第二方面实施例提出的数据的调用装置,包括:第一获取模块,用于获取WEB系统中访问数据库的通信请求,并获取所述通信请求中的调用指令;识别模块,用于在预设调用模型中识别出所述调用指令中与所述数据库交互相关的调用指令集,其中,所述预设调用模型包括前缀信息字典树和调用关系模型;调用模块,用于对所述调用指令集中前缀信息相同的调用指令进行合并处理,并根据合并处理后的调用指令集对所述数据库中的数据进行调用,以响应所述WEB系统中访问数据库的通信请求。[0010]本发明第二方面实施例提出的数据的调用装置,通过对调用指令集中目标前缀相同的调用指令进行合并处理,并根据合并处理后的调用指令集对数据库中的数据进行调用,能够有效提升WEB系统中访问key-value数据库的通信请求的响应效率,提升用户的使用体验。[0011]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明[0012]本发明上述的和或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:[0013]图1是本发明一实施例提出的数据的调用方法的流程示意图;[0014]图2是本发明另一实施例提出的数据的调用方法的流程示意图;[0015]图3是本发明实施例中前缀信息字典树的结构示意图;[0016]图4是本发明另一实施例提出的数据的调用方法的流程示意图;[0017]图5是本发明另一实施例提出的数据的调用方法的流程示意图;[0018]图6是本发明另一实施例提出的数据的调用方法的流程示意图;[0019]图7是本发明另一实施例提出的数据的调用装置的结构示意图;[0020]图8是本发明另一实施例提出的数据的调用装置的结构示意图。具体实施方式[0021]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。[0022]图1是本发明一实施例提出的数据的调用方法的流程示意图。[0023]本实施例以该数据的调用方法被配置为数据的调用装置中来举例说明。该数据的调用方法可以应用于WEB系统中访问数据库时,可选地,该数据库可以为key-value数据库。用户在WEB系统的前端界面上进行操作时,web系统的后端模块会根据用户的操作指令去调用key-value数据库中的数据,以响应用户的操作指令。[0024]参见图1,该方法可以包括:[00251S11:获取WEB系统中访问数据库的通信请求,并获取通信请求中的调用指令。[0026]其中,通丨目请求可以例如超文本传输协议HyperTextTransferProtocol,HTTP请求。在计算机处理器内,通信请求可以以二进制码的形式存储。WEB系统中的后端模块可以向数据库发送访问数据集合A的通信请求。该通信请求可以由用户在WEB系统的前端界面上进行操作触发。[0027]根据key-value数据库的执行规范,在通信请求中包含调用指令,其中,该调用指令中包含需要调用的键key,业务模块根据key对数据库中相应的值value做操作(例如读取),再进行后续的业务逻辑处理。例如,对应的值为数据A,与通信请求对应的业务处理逻辑为将数据A返回给用户,则在读取到数据A后,WEB系统会将数据A返回给用户。或者,对应的业务处理逻辑也可以为对key-value数据库中的数据集合进行设置、删除等,本发明实施例对此不作限制。[0028]调用指令可以由WEB系统根据通信请求生成,例如,WEB系统可以将二进制码形式的通信指令生成包含需要调用的key的调用指令。进一步,通信请求可以包含一条或者多条调用指令。[0029]S12:在预设调用模型中识别出调用指令中与数据库交互相关的调用指令集,其中,预设调用模型包括前缀信息字典树和调用关系模型。[0030]其中,预设调用模型是预先建立的。[0031]一些实施例中,参见图2,预设调用模型可以通过以下步骤建立:[0032]SW:获取WEB系统中访问数据库的通信日志,并获取通信日志中的历史通信请求中的调用指令。[0033]通常在WEB系统的后端模块接收到需要调用的键key后,会根据key调用数据库中的数据,例如,后端模块根据一个key的集合,采用一个循环函数遍历该集合的方式,对每一个key都进行一次数据库操作例如,根据key对key-value数据库中的存储对象进行设置、删除、读取等操作),这种方式下,WEB系统的后端模块和数据库的通信次数与数据集合的数据量关联,会产生多次的通信交互,消耗大量数据库和后台服务器的通信资源,并且降低数据库的负载能力,WEB系统响应耗时变长。[0034]而本发明的实施例中,通过对WEB系统通信日志的历史通信请求进行分析处理建立预设调用模型,可以预先分析出因key-value数据库循环、重复调用而产生的额外耗时,后续对调用指令集中目标前缀相同的调用指令进行合并处理,并根据合并处理后的调用指令集对数据库中的数据进行调用,有效提升WEB系统性能,减少资源开销。[0035]根据WEB系统中数据库的访问规范,WEB系统的后端模块在每次向数据库发送访问数据集合的通信请求时,WEB系统会在对该通信请求作出响应的同时,将该通信请求存储在系统的通信日志中,通信日志可以用于使测试人员对系统性能进行后续测试。例如,通信曰志中可以包含一条或者多条的历史通信请求,每条历史通信请求对应一个请求ID,该请求ID可以用于标识通信请求的调用顺序。[0036]可选地,获取WEB系统中访问数据库的通信日志可以例如,通过LogAgent应用采集由WEB系统的中间件打印出的通信日志,以及使用Scribe应用进行日志收集和传输,其中,LogAgent应用为一种日志采集系统,Scribe应用为一种日志收集系统,在传输通信日志时,可以采用protocolbuffer协议,protocolbuffer协议为Google的一种数据交换的格式。[0037]S22:根据历史通信请求中的调用指令建立调用关系模型。[0038]例如,可以对历史通信请求进行数据抽取、清洗、转换、装载Extract-Transform-Load,ETL处理,构建WEB系统中模块间的调用关系模型。在WEB系统中,一次通信请求对应唯一请求ID,每条通信请求表示WEB系统中模块间的一次交互,通过请求ID可以将所有的交互串联起来训练生成调用关系模型,用于表示一次通信请求所产生的WEB系统中模块间的调用关系。[0039]本步骤中,可以根据历史通信请求中调用指令之间的调用关系生成调用关系模型,并可以用请求ID唯一标识该调用关系,能够预先分析出因key-value数据库循环、重复调用而产生的额外耗时,有效减少分析建模过程中的人工成本。[0040]S23:对历史通信请求中的调用指令进行预处理,并根据预处理后的调用指令生成前缀信息字典树。[0041]在采集到通信日志后,可以对通信日志中的历史通信请求进行预处理得到样本数据集。预处理可以例如:对历史通信请求进行数据清洗,过滤掉异常数据,对历史通信请求进行分析,筛选出历史通信请求中访问key-value数据库的通信请求,并获取访问key-value数据库的调用请求所包含的key组成的样本集,得到样本数据集。[0042]可选地,可以对样本数据集中的每个key按照预设分隔符切词,其中,预设分隔符例如下划线对切词后的每个字符在样本数据集中出现的次数即,词数进行统计,并对切词后的每个字符在样本数据集中出现的概率即,词频进行统计,训练生成前缀信息字典树,树节点属性包含词、词数、词频。[0043]以样本数据集中包含5组key:a_b_c、a_c、b_c、b_d,以及b_c_d,且预设分隔符例如下划线“」’为例,其中,词包含a、b、c,以及d,统计每个词在样本数据集的5组key中出现的词数和词频,训练生成的前缀信息字典树参见图3。[0044]本实施例中,可以预先分析出因key-value数据库循环、重复调用而产生的额外耗时,减小由人工分析通信请求的业务处理逻辑和通信日志所耗费的成本,后续对调用指令集中目标前缀相同的调用指令进行合并处理,并根据合并处理后的调用指令集对数据库中的数据进行调用,有效提升WEB系统性能,减少资源开销。[0045]另一些实施例中,参见图4,在在预设调用模型中识别出调用指令中与数据库交互相关的调用指令集后,还包括:[0046]S41:根据调用指令集训练前缀信息字典树。[0047]在本发明的实施例中,在获取WEB系统中访问数据库的通信请求,并获取通信请求中的调用指令集后,还可以通过调用指令集对前缀信息字典树进行动态训练,训练步骤同S23,在此不再赘述,以完善每条调用指令的目标前缀识别的精准度。[0048]另一些实施例中,参见图5,在在预设调用模型中识别出调用指令中与数据库交互相关的调用指令集之后,还可以包括:[0049]S51:获取调用指令集中每条调用指令的前缀信息,并对前缀信息进行切词处理,得到至少一个的字符组合。[0050]在获取WEB系统中访问数据库的通信请求,并识别出调用指令中与数据库交互相关的调用指令集后,可以根据S23中的方法对调用指令集中每条调用指令的前缀信息按照预设分隔符切词处理,其中,预设分隔符例如下划线“,得到至少一个的字符组合。例如,以调用指令A包含字符abc_123为例,则前缀信息可以预设为abc,按照预设分隔符切词处理后至少一个的字符组合为a、a_b、a_c,以及a_b_c。[0051]S52:根据至少一个的字符组合在前缀信息字典树中获取每条调用指令的目标前缀。[0052]另一些实施例中,参见图6,根据至少一个的字符组合在前缀信息字典树中获取每条调用指令的目标前缀,包括:[0053]S61:获取每条调用指令的至少一个的字符组合中每个字符组合在前缀信息字典树中出现的概率。[0054]例如,可以对调用指令A的至少一个的字符组合为a、a—b、a_c,以及a_b—C,结合前缀fg息字典树中树节点的属性,获取每个字符组合在前缀信息字典树中出现的概率。[0055]S62:将每个字符组合在前缀信息字典树中出现的概率达到预设概率阈值的字符组合作为目标前缀。[0056]可选地,可以预先设置预设概率阈值,预设概率阈值例如为80%,则根据前缀信息字典树获知字符组合a_b_c出现的概率为80%,达到预设概率阈值80%,则可以将a_b_c作为调用指令A目标前缀。同理,可以获取调用指令集中每条调用指令的目标前缀。[0057]S13:对调用指令集中目标前缀相同的调用指令进行合并处理,并根据合并处理后的调用指令集对数据库中的数据进行调用,以响应WEB系统中访问数据库的通信请求。[Goss]可选地,在获取调用指令集中每条调用指令的目标前缀后,可以获取前缀信息字典树的样本数据集中与目标前缀对应的key所属的调用指令的请求ID,并根据请求ID在调用关系模型读取与目标前缀匹配的调用指令集,以将调用指令集中目标前缀相同的调用指令进行合并处理。[0059]本实施例中,通过对调用指令集中目标前缀相同的调用指令进行合并处理,并根据合并处理后的调用指令集对数据库中的数据进行调用,能够有效提升WEB系统中访问key-value数据库的通信请求的响应效率,提升用户的使用体验。[0060]图7是本发明另一实施例提出的数据的调用装置的结构示意图。[0061]该数据的调用装置可以设置在WEB系统中。可选地,该数据库可以为key-value数据库。用户在系统的前端界面上进行操作时,WEB系统的后端模块会根据用户的操作指令去调用key-value数据库中的数据,以响应用户的操作指令。[0062]参见图7,该装置70包括:第一获取模块7〇1、识别模块702,以及调用模块703。[0063]第一获取模块701,用于获取WEB系统中访问数据库的通信请求,并获取通信请求中的调用指令。[0064]识别模块702,用于在预设调用模型中识别出调用指令中与数据库交互相关的调用指令集,其中,预设调用模型包括前缀信息字典树和调用关系模型。[0065]调用模块703,用于对调用指令集中前缀信息相同的调用指令进行合并处理,并根据合并处理后的调用指令集对数据库中的数据进行调用,以响应WEB系统中访问数据库的通信请求。[0066]一些实施例中,参见图8,该装置70还包括:模型建立模块704,模型建立模块704用于:获取WEB系统中访问数据库的通信日志,并获取通信日志中的历史通信请求中的调用指令;根据历史通信请求中的调用指令建立调用关系模型;对历史通信请求中的调用指令进行预处理,并根据预处理后的调用指令生成前缀信息字典树。[0067]一些实施例中,参见图8,还包括:[0068]训练模块705,用于根据调用指令集训练前缀信息字典树。[0069]第二获取模块706,用于获取调用指令集中每条调用指令的前缀信息,并对前缀信息进行切词处理,得到至少一个的字符组合。[0070]第三获取模块707,用于根据至少一个的字符组合在前缀信息字典树中获取每条调用指令的目标前缀。[0071]可选地,第三获取模块707具体用于:获取每条调用指令的至少一个的字符组合中每个字符组合在前缀信息字典树中出现的概率;将每个字符组合在前缀信息字典树中出现的概率达到预设概率阈值的字符组合作为目标前缀。[0072]需要说明的是,前述对数据的调用方法实施例的解释说明也适用于该实施例的数据的调用装置70,其实现原理类似,此处不再赘述。[0073]本实施例中,通过对调用指令集中目标前缀相同的调用指令进行合并处理,并根据合并处理后的调用指令集对数据库中的数据进行调用,能够有效提升WEB系统中访问key-value数据库的通信请求的响应效率,提升用户的使用体验。[0074]需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。[0075]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。[0076]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列PGA,现场可编程门阵列FPGA等。[0077]本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。[0078]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。[0079]上述提到的存储介质可以是只读存储器,磁盘或光盘等。[0080]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。[0081]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

权利要求:1.一种数据的调用方法,其特征在于,包括以下步骤:获取WEB系统中访问数据库的通信请求,并获取所述通信请求中的调用指令;在预设调用模型中识别出所述调用指令中与所述数据库交互相关的调用指令集,其中,所述预设调用模型包括前缀信息字典树和调用关系模型;对所述调用指令集中目标前缀相同的调用指令进行合并处理,并根据合并处理后的调用指令集对所述数据库中的数据进行调用,以响应所述WEB系统中访问数据库的通信请求。2.如权利要求1所述的数据的调用方法,其特征在于,所述预设调用模型通过以下步骤建立:获取所述WEB系统中访问数据库的通信日志,并获取所述通信日志中的历史通信请求中的调用指令;根据所述历史通信请求中的调用指令建立调用关系模型;对所述历史通信请求中的调用指令进行预处理,并根据预处理后的调用指令生成所述前缀信息字典树。3.如权利要求2所述的数据的调用方法,其特征在于,在所述在预设调用模型中识别出所述调用指令中与所述数据库交互相关的调用指令集后,还包括:根据所述调用指令集训练所述前缀信息字典树。4.如权利要求1所述的数据的调用方法,其特征在于,在所述在预设调用模型中识别出所述调用指令中与所述数据库交互相关的调用指令集之后,还包括:获取所述调用指令集中每条调用指令的前缀信息,并对所述前缀信息进行切词处理,得到至少一个的字符组合;根据所述至少一个的字符组合在所述前缀信息字典树中获取所述每条调用指令的目标前缀。5.如权利要求4所述的数据的调用方法,其特征在于,所述根据所述至少一个的字符组合在所述前缀信息字典树中获取所述每条调用指令的目标前缀,包括:获取所述每条调用指令的至少一个的字符组合中每个字符组合在所述前缀信息字典树中出现的概率;将所述每个字符组合在所述前缀信息字典树中出现的概率达到预设概率阈值的字符组合作为所述目标前缀。6.如权利要求4所述的数据的调用方法,其特征在于,所述数据库为key-value数据库。7.—种数据的调用装置,其特征在于,包括:第一获取模块,用于获取WEB系统中访问数据库的通信请求,并获取所述通信请求中的调用指令;识别模块,用于在预设调用模型中识别出所述调用指令中与所述数据库交互相关的调用指令集,其中,所述预设调用模型包括前缀信息字典树和调用关系模型;调用模块,用于对所述调用指令集中前缀信息相同的调用指令进行合并处理,并根据合并处理后的调用指令集对所述数据库中的数据进行调用,以响应所述WB系统中访问数据库的通信请求。8.如权利要求7所述的数据的调用装置,其特征在于,还包括:模型建立模块,所述模型建立模块用于:获取所述WEB系统中访问数据库的通信日志,并获取所述通信日志中的历史通信请求中的调用指令;根据所述历史通信请求中的调用指令建立调用关系模型;对所述历史通信请求中的调用指令进行预处理,并根据预处理后的调用指令生成所述前缀信息字典树。9.如权利要求7所述的数据的调用装置,其特征在于,还包括:训练模块,用于根据所述调用指令集训练所述前缀信息字典树。10.如权利要求7所述的数据的调用装置,其特征在于,还包括:第二获取模块,用于获取所述调用指令集中每条调用指令的前缀信息,并对所述前缀信息进行切词处理,得到至少一个的字符组合;第三获取模块,用于根据所述至少一个的字符组合在所述前缀信息字典树中获取所述每条调用指令的目标前缀。11.如权利要求10所述的数据的调用装置,其特征在于,所述第三获取模块具体用于:获取所述每条调用指令的至少一个的字符组合中每个字符组合在所述前缀信息字典树中出现的概率;将所述每个字符组合在所述前缀信息字典树中出现的概率达到预设概率阈值的字符组合作为所述目标前缀。12.如权利要求10所述的数据的调用装置,其特征在于,所述数据库为key-value数据库。

百度查询: 北京星选科技有限公司 数据的调用方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。