一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据库的数据处理方法、装置、电子设备与流程

2021-10-29 20:37:00 来源:中国专利 TAG:
1.本技术涉及数据库技术,尤其涉及一种数据库的数据处理方法、装置、电子设备及计算机可读存储介质。
背景技术
::2.人工智能(ai,artificialintelligence)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能广泛应用于互联网企业中,例如,基于人工智能进行数据管理。3.然而,在互联网企业的数据管理中,随着业务的发展和用户活跃度提升,大量有价值的数据沉淀在数据表中。相关技术中,通过数据的数据库管理员对数据库进行整理维护,导致不必要的人力消耗,且效率较低。4.对于如何基于人工智能技术对数据库进行自动化数据管理,相关技术缺乏有效方案。技术实现要素:5.本技术实施例提供一种数据库的数据处理方法、装置、电子设备及计算机可读存储介质,能够对数据库实现智能化的数据管理,从而提高数据管理效率。6.本技术实施例的技术方案是这样实现的:7.本技术实施例提供一种数据库的数据处理方法,包括:8.查询数据库中缺失业务领域的数据表,并获取所述数据表的特征信息;9.获取与所述特征信息对应的特征向量,将所述特征向量映射为多个候选的业务领域的概率;10.将满足概率取值条件的概率对应的业务领域确定为所述数据表所属的业务领域;11.在所述数据库的所述数据表中,写入所述数据表所属的业务领域。12.本技术实施例提供一种数据库的数据处理装置,包括:13.查询模块,用于查询数据库中缺失业务领域的数据表;14.获取模块,用于获取所述数据表的特征信息,以及用于获取与所述特征信息对应的特征向量,将所述特征向量映射为多个候选的业务领域的概率;15.确定模块,用于将满足概率取值条件的概率对应的业务领域确定为所述数据表所属的业务领域;16.写入模块,用于在所述数据库的所述数据表中,写入所述数据表所属的业务领域。17.上述方案中,所述获取模块,还用于:18.确定所述特征信息中每个词对应的索引值;19.基于所述索引值进行转换,得到每个词对应的词向量;20.对每个词对应的词向量进行加和平均处理,得到平均词向量;21.将所述平均词向量作为所述特征信息对应的特征向量。22.上述方案中,所述获取模块,还用于:23.对所述特征信息包括的所述数据表的表名称和表描述信息进行分词处理,得到多个词;24.确定每个词在索引表中对应的索引值;25.其中,所述索引表包括不同的词与对应的索引值。26.上述方案中,所述获取模块,还用于:27.基于每个词对应的索引值进行转换处理,得到对应的独热向量;28.将每个词对应的独热向量与权重矩阵相乘,得到每个词对应的词向量。29.上述方案中,所述获取模块,还用于:30.对所述特征向量进行编码处理,得到编码处理结果;31.对所述编码处理进行激活处理,得到对应多个候选的业务领域的概率。32.上述方案中,所述确定模块,还用于:33.将概率最大的业务领域作为所述数据表所属的业务领域;或34.对超过概率阈值的概率所对应的业务领域按照概率降序排序,选取排序在前的多个业务领域作为所述数据表所属的业务领域。35.上述方案中,所述查询模块,还用于:36.从所述数据库的日志中筛选出多个候选数据表,所述候选数据表满足以下条件至少之一:使用频率低于频率阈值、最后一次使用时间在预设时间之前;37.从所述多个候选数据表中确定缺失业务领域的数据表。38.上述方案中,所述查询模块,还用于:39.确定所述分布式数据库对应的多个节点中互不重合的数据表;40.遍历各个节点中分别存储的互不重合的数据表,以确定缺失业务领域的数据表。41.上述方案中,所述数据库的数据处理装置还包括替换模块,用于:42.周期性遍历所述数据库中的数据表以确定发生数据变化的数据表,所述数据变化的类型包括以下至少之一:增加数据、删除数据、改变数据;43.获取所述发生数据变化的数据表的特征信息,并基于所述发生数据变化的数据表的特征信息确定新业务领域;44.将所述发生数据变化的数据表所属的业务领域替换为所述新业务领域。45.上述方案中,所述确定模块,还用于:46.确定缺失业务领域的多个数据表中相似度超过相似度阈值的多组数据表,其中,每组数据表包括至少两个数据表;47.在每组数据表中选取一个数据表作为代表数据表,获取每个所述代表数据表的特征信息,并基于所述特征信息确定所述代表数据表所属的业务领域;48.将所述代表数据表所属的业务领域作为同组数据表中其他数据表所属的业务领域。49.上述方案中,所述数据库的数据处理装置还包括检索模块,用于:50.响应于检索请求,基于所述数据库中数据表所属的业务领域进行筛选,得到第一范围内的数据表;51.基于所述第一范围内的数据表的表描述信息进行筛选,得到第二范围内的数据表;52.基于所述第二范围内的数据表的表名称进行筛选,将得到的目标范围内的数据表作为检索结果返回。53.上述方案中,所述业务领域是通过机器学习模型确定的,所述数据库的数据处理装置还包括训练模块,用于:54.通过所述机器学习模型执行以下处理:获取数据表样本的特征信息,基于所述数据表样本的特征信息确定所述数据表样本所属的预测业务领域;55.基于所述数据表样本的预测业务领域与所述数据表样本的标注业务领域确定误差;56.在所述机器学习模型中反向传播所述误差,以更新所述机器学习模型的参数。57.本技术实施例提供一种电子设备,包括:58.存储器,用于存储可执行指令;59.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的数据库的数据处理方法。60.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本技术实施例提供的数据库的数据处理方法。61.本技术实施例具有以下有益效果:62.通过提供缺失业务领域的数据表的特征信息,来预测数据表的业务领域,并自动在数据表中填充业务领域,实现了自动补全数据表的业务领域,对于需要在数据表中运维海量数据表的业务而言,显著节约了数据库的运维成本,提高了数据管理效率。附图说明63.图1a是本技术实施例提供的数据处理系统10的架构示意图;64.图1b是本技术实施例提供的数据处理系统10的架构示意图;65.图1c是本技术实施例提供的数据处理系统10的架构示意图;66.图2是本技术实施例提供的服务器200‑1的结构示意图;67.图3a是本技术实施例提供的数据库的数据处理方法的流程示意图;68.图3b是本技术实施例提供的数据库的数据处理方法的流程示意图;69.图4是本技术实施例提供的互联网业务的业务领域的示意图;70.图5a是本技术实施例提供的电子商务问题表的示意图;71.图5b是本技术实施例提供的电子商务问题表的示意图;72.图6是本技术实施例提供的文本分类模型的结构示意图;73.图7是本技术实施例提供的数据库的数据处理方法的交互流程示意图;74.图8是本技术实施例提供的文本分类模型的训练及预测的示意图。具体实施方式75.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。76.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。77.在以下的描述中,所涉及的术语“第一/第二/第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。78.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的
技术领域
:的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。79.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。80.1)元数据:用于描述数据的数据,主要用于描述数据属性的信息,可支持指示存储位置、历史数据、资源查找和文件记录等功能。81.2)数据表:又称表格,是一系列二维数组的集合,用来代表和储存数据对象之间的关系。表是构成表空间的基本结构,由区间构成。它由纵向的列和横向的行组成,例如一个有关作者信息的名为authors的表格中,每个列包含的是所有作者的某个特定类型的信息,比如“姓氏”,而每行则包含了某个特定作者的所有信息:姓、名、住址等等。82.3)分布式数据库:分布式数据库中的数据表存储在不同的物理节点上,由不同的数据库管理系统进行管理,在不同的机器上运行,由不同的操作系统支持,被不同的通信网络连接在一起。用于存储数据表的物理节点包括主节点和从节点两类,每个主节点都有与之同步的至少一个从节点。分布式数据库中所有的数据表分散存储于各个主节点中,从节点用于提高数据库的可靠性和可用性,防止由于主节点故障导致整个数据库崩溃。83.4)结构化查询语言(sql,structuredquerylanguage):是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。84.数据库中以表为组织单位存储数据。在互联网企业的数据管理中,随着业务的发展和用户活跃度提升,大量有价值的数据会沉淀在数据表中。业务领域作为元数据中的一部分,从业务维度归类数据,便于数据库管理员使用。然而,如果有一些有价值的数据表缺少具体业务领域,则难以得到数据库管理员的管理维护,这些数据表的使用价值将会大打折扣。85.相关技术中,补全元数据中的业务领域的方法主要有两种:1、人工补齐,即找到所有数据表的数据库管理员,通过数据库管理员补全所有缺失信息;2、系统性限制,该方法限制数据库管理员在创建新任务时必须填充数据表所属业务领域,否则无法保存数据表。86.方法1的缺点有两点:一、考虑到人员变动,每个数据表不确定能分配到具体的数据库管理员,这也导致有些数据表无法补全所属业务领域;二、人工补齐需要消耗大量的人力。具体场景中可能有的数据库管理员需要补齐成百上千的业务领域,这样的工作量会直接影响数据库管理员的正常工作,甚至会影响到某一业务的正常运。方法2的缺点是只能保证新增数据表都有完整的业务领域,但是之前的数据表中仍有大量数据表缺乏业务领域,依旧严重影响数据表的使用价值。87.本技术实施例提供一种数据库的数据处理方法,对数据库实现智能化的数据管理,从而提高数据管理的效率。88.本技术实施例提供的数据库的数据处理方法可以由各种电子设备实施,例如,可以由终端或服务器单独实施,也可以由服务器和终端协同实施。例如终端独自承担下文所述的数据库的数据处理方法,或者,终端向服务器发送数据处理请求,服务器根据接收的数据处理请求执行数据库的数据处理方法。89.本技术实施例提供的电子设备可以是各种类型的终端设备或服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器;终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术对此不做限制。90.以服务器为例,例如可以是部署在云端的服务器集群,向用户开放人工智能云服务(aiasaservice,aiaas),aiaas平台会把几类常见的ai服务进行拆分,并在云端提供独立或者打包的服务,这种服务模式类似于一个ai主题商城,所有的用户都可以通过应用程序编程接口的方式来接入使用aiaas平台提供的一种或者多种人工智能服务。91.例如,其中的一种人工智能云服务可以为数据处理服务,即云端的服务器封装有本技术实施例提供的数据处理程序。数据库管理员的终端响应于数据库管理员针对数据表的处理触发操作,向云端的服务器发送数据处理请求,云端的服务器调用封装的数据处理程序,确定数据库中缺失业务领域的数据表,并确定数据表对应的业务领域,在数据表中写入业务领域,并将业务领域返回给数据库管理员的终端。92.在一些实施例中,以服务器单独实施本技术实施例提供的数据库的数据处理方法为例进行说明。服务器周期性遍历数据库中的数据表,以确定数据库中缺失业务领域的数据表,并获取缺失业务领域的数据表的特征信息;基于特征信息确定数据表所对应的业务领域;将业务领域替换为新业务领域写入对应的数据表中。93.在一些实施例中,以服务器和终端协同实施本技术实施例提供的数据库的数据处理方法为例进行说明一个示例性的数据处理系统。参见图1a,图1a是本技术实施例提供的数据处理系统10的架构示意图。终端400‑1通过网络300连接服务器200‑1和服务器200‑2,网络300可以是广域网或者局域网,又或者是二者的组合。其中,服务器200‑1可以是数据库服务器,可基于数据库服务器确定数据表所属的业务领域。例如,服务器200‑1通过网络300接收来自于数据库管理员的终端400‑1的数据处理请求,基于数据处理请求确定数据表对应的业务领域,将确定出的业务领域写入数据表中,并将业务领域的写入情况通过网络300返回给终端400‑1。图1a中服务器200‑2是数据库服务器部署的专用于确定数据表中缺失的业务领域的服务器。在一些可能的实例中,也可由服务器200‑2确定数据表所属的业务领域。如图1a所示,服务器200‑1将接收到的来自于终端400‑1的数据处理请求转发给服务器200‑2,以使服务器200‑2确定业务领域,然后由服务器200‑1将确定出的业务领域写入数据表中,并将业务领域的写入情况返回给终端400‑1。94.在另一些实施例中,数据处理系统可如图1b所示。互联网用户的终端400‑2通过网络300连接服务器200‑1和服务器200‑3,服务器200‑3是互联网应用的后台服务器。服务器200‑3接收终端400‑2中互联网应用客户端的业务请求,如针对特定业务领域的答题请求,向服务器200‑1发送查询请求,以在服务器200‑1的数据库中查询对应业务领域的数据表。若在查询过程中发现存在缺失业务领域的数据表,则先通过本技术实施例提供的数据库的数据处理方法填充数据表中缺失的业务领域,然后确定与特定业务领域对应的数据表(如答题表),将数据处理结果(数据表)返回给互联网用户的终端400‑2。95.例如,互联网应用客户端为答题客户端,在用户登录答题客户端后,终端400‑2接收到用户的答题操作,显示多个业务领域供用户选择,在接收到用户针对业务领域的选择操作后,向服务器200‑1发送针对用户所选择的业务领域的数据表的查询请求。响应于查询请求,服务器200‑1遍历答题客户端对应的数据库中的数据表,获取用户所选择的业务领域的数据表。同时,对于在遍历数据库时发现的缺乏业务领域的数据表,为其填充业务领域。服务器200‑1从所获取的数据表中选取多个题目,并将所选取的题目发送给终端400‑2,终端接收题目后,显示答题页面。96.本技术实施例还可以通过区块链技术来实现,参见图1c,上文所述的服务器以及终端都可以加入区块链网络300而成为其中的一个节点。区块链网络300的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如服务器,都可以在不需要授权的情况下接入区块链网络300,以作为区块链网络300的共识节点,例如服务器200‑3映射为区块链网络300中的共识节点300‑0,服务器200‑1映射为区块链网络300中的共识节点300‑1,服务器200‑2映射为区块链网络300中的共识节点300‑2。97.以区块链网络300为联盟链为例,服务器200‑1、服务器200‑2和服务器200‑3在获得授权后可以接入区块链网络300而成为节点。当节点接收到确定出的业务领域时,可以以执行智能合约的方式确定是否将业务领域写入数据表中。当节点确定可将业务领域写入数据表,将对业务领域签署数字签名(即背书),当一个业务领域有足够的背书时,例如超过数目阈值的节点的背书时,业务领域将被所有服务器写入各自所维护的数据表,数据表所在的数据库可以运行在区块链网络300或服务器200‑1中,也可以是独立于区块链网络300和服务器200‑1而部署的。可见,通过多个节点对业务领域进行共识确认,进一步提高了写入数据表中的业务领域的可靠性和准确性。98.其中,若节点发现与该数据表中表描述信息相似的其他具有业务领域的数据表,可直接将其他数据表的业务领域作为该数据表的业务领域写入数据表中。99.以实施本技术实施例的电子设备为图1a示出的服务器200‑1为例,说明本技术实施例提供的电子设备的结构。参见图2,图2是本技术实施例提供的服务器200‑1的结构示意图,图2所示的服务器200‑1包括:至少一个处理器210、存储器240、至少一个网络接口220。服务器200‑1中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统230。100.处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。101.存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器210的一个或多个存储设备。102.存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,readonlymemory),易失性存储器可以是随机存取存储器(ram,randomaccessmemory)。本技术实施例描述的存储器240旨在包括任意适合类型的存储器。103.在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。104.操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;105.网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universalserialbus)等;106.在一些实施例中,本技术实施例提供的数据库的数据处理装置可以采用软件方式实现,图2示出了存储在存储器240中的数据库的数据处理装置243,其可以是程序和插件等形式的软件,包括以下软件模块:查询模块2431、获取模块2432、确定模块2433、写入模块2434、替换模块2435、检索模块2436和训练模块2437,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。107.以下是以服务器为数据库的数据处理方法的执行主体进行说明,具体可由服务器通过运行上文的各种计算机程序来实现的;当然,根据对下文的理解,不难看出也可以由终端和服务器协同实施本技术实施例提供的数据库的数据处理方法。108.参见图3a,图3a是本技术实施例提供的数据库的数据处理方法的流程示意图,将结合图3a示出的步骤进行说明。109.在步骤101中,查询数据库中缺失业务领域的数据表,并获取数据表的特征信息。110.在一些实施例中,数据库包括关系数据库、非关系型数据库和键值数据库。其中,关系数据库可以是mysql、sybase等,非关系型数据库可以是bigtable、cassandra等,键值数据库可以是apachecassandra、dynamo等。数据表的特征信息可以包括数据表的表名称和表描述信息。111.每个数据表都有对应的表名称、表描述信息和业务领域。表名称是用户访问该数据表的唯一标识,它在数据库中具有唯一性。业务领域是用于标识数据表中内容所针对的业务类型。业务领域有多种,如图4所示,图4是本技术实施例提供的互联网业务的业务领域的示意图,互联网业务可分为互联网基础服务业和互联网应用服务业两大类。其中,互联网基础服务业细分的业务领域可以是接入服务、域名服务器(dns,domainnameserver)服务、互联网数据中心(idc,internetdatacenter)服务、内容分发网络(cdn,contentdeliverynetwork)服务和电子商务,互联网应用服务业细分的业务领域可以是网络娱乐、网络内容、网络通讯、信息检索、数据挖掘和新兴应用。表描述信息可包括字段id、字段名、数据类型、长度、精度、是否为null、默认值、是否自增、是否是主键和列描述等。112.以答题客户端所对应的数据库中的数据表为例说明表描述信息,这些数据表包括问题表、好友表和默契值表等,如图5a所示,表描述信息可在数据表中呈现,图5a中数据表的表名称可以是“电子商务问题表”,其中第一列为字段名,第二列为数据类型,第三列为长度、第四列为精度、第五列(该列相关数据缺省)为是否可以为null。在一些实施例中,可以通过sql查询语句查询数据库中各数据表对应的业务领域,以确定缺失业务领域的数据表。113.在另一些实施例中,考虑到数据库中访问较少的数据表有可能是因为自身使用价值较低,也可能是因为缺失业务领域导致的,同时,部分数据表虽然缺失业务领域,但仍可以根据其表名称和/或表描述信息等快速访问到这些数据表,所以这些数据表的访问频率仍然可能很高。所以,在查询数据库中缺失业务领域的数据表,即确定需要补全业务领域的数据表时,为了提高效率,可以重点关注那些较少被访问的数据表,以从中发掘出可能的使用价值较高的数据表,并为其补全缺失的业务领域。114.在一些可能的示例中,基于数据库中的日志所记录的输入/输出(io,input/output)等信息从数据库中筛选出使用频率低于频率阈值和/或最后一次使用时间在预设时间之前的多个候选数据表;从多个候选数据表中确定缺失业务领域的数据表。其中,使用频率即数据表被使用的频率,使用包括数据库管理员或互联网用户的访问(即查找)和数据库管理员对数据表进行增加、删除、修改等修改操作。最后一次使用时间可以是数据库管理员或互联网用户最后一次访问数据表的时间,也可以是数据库管理员最后一次对数据表进行修改操作的时间。预设时间可以是确切的时间点(如2020年10月1日),也可以是当前时间之前的一段时间(如当前时间之前的3个月),当前时间是指确定数据表缺失业务领域的时间。115.例如,设定的频率阈值为10,若基于日志进行筛选,确定数据表h的使用频率为3,可以确定数据表h的使用频率较低,将数据表h确定为候选数据表。再例如,若预设时间为当前时间之前的3个月,数据表g最后一次被访问的时间是4个月前,超出了预设时间的3个月,可知数据表g最近未被使用,将数据表g作为候选数据表。在确定出候选数据表之后,可通过sql查询语句从候选数据表中确定缺失业务领域的数据表。116.可见,本技术实施例从使用较少的数据表中确定出缺失业务领域的数据表,从而大大减少了需要遍历查询的数据表的数量,提高了查询效率。117.在一些实施例中,当数据库为分布式数据库时,确定分布式数据库对应的节点中互不重合的数据表,即确定各个主节点中的数据表。其中,主节点可以是存储数据表的服务器。然后,遍历各个主节点中存储的数据表,以确定各个主节点中缺失业务领域的数据表,将这些数据表汇总,并获取汇总的数据表中各个数据表的特征信息。可见,当数据为分布式数据库时,不仅可以减轻服务器的存储压力,而且还可以在不同的节点上同时对所存储的互不重合的数据表进行查询,以确定缺失业务领域的数据表,节省查询所需用时,提高查询效率。118.在步骤102中,获取与特征信息对应的特征向量,将特征向量映射为多个候选的业务领域的概率。119.在一些实施例中,获取与特征信息对应的特征向量,可以采用如图3b所示的步骤1021至步骤1024实现。120.在步骤1021中,确定特征信息中每个词对应的索引值。121.在一些实施例中,如图6所示,图6是本技术实施例提供的文本分类模型的结构示意图。文本分类模型包括输入层、嵌入层、全连接层和softmax层。可在文本分类模型的输入层中对特征信息包括的数据表的表名称和表描述信息进行分词处理,得到多个词。例如,在答题客户端对应的数据表中,其中一个缺失业务领域的数据表的表名称是“电子商务问题表”,表描述信息是“电子商务的发展历史”。此时,输入层中的特征信息如图6示出的“电子商务……史”,对特征信息粉刺处理后得到的多个词是“电子”和“商务”等。然后,确定每个词在索引表中对应的索引值,其中,索引表包括不同的词与对应的索引值。当特征信息为中文时,索引表中存储着各个汉字/词语与对应的索引值,例如,索引表中与“电子”对应的索引值为1100,与“商务”对应的索引值为0100。122.在一些可能的示例中,特征信息也可能包括英文,此时,可查询对应的英文索引表,英文索引表中存储着各个字母所对应的索引值。例如,索引表中字母a对应0(对应的二进制编码为0……00,一共27位),b对应1(对应的二进制编码为0……01,一共27位)……z对应25,空格对应26。对于任意一个单词,可通过查询索引表确定其中每个字母对应的二进制编码,将各字母对应的二进制编码进行拼接,可确定该单词对应的索引值。123.在步骤1022中,基于索引值进行转换,得到每个词对应的词向量。124.在一些实施例中,在文本分类模型的嵌入层中将每个词对应的索引值转换为独热向量,即可得到对应的独热向量。然后,将每个词对应的独热向量与嵌入层的权重矩阵相乘,得到每个词对应的词向量。其中,独热向量中只有1个元素为1,其余元素全为0。嵌入层用于提取特征向量,即提取词对应的词向量。125.在步骤1023中,对每个词对应的词向量进行加和平均处理,得到平均词向量。126.例如,若“电子”对应的词向量为[0,0,1],“商务”对应的词向量为[1,0,1],对这两个词对应的词向量进行加和平均处理,得到平均词向量[0.5,0,1]。[0127]在步骤1024中,将平均词向量作为特征信息对应的特征向量。[0128]在一些实施例中,将特征向量映射为多个候选的业务领域的概率,可以采用如下方式实现:对特征向量进行编码处理,得到编码处理结果;通过softmax函数对编码处理进行激活处理,得到对应多个候选的业务领域的概率。其中,编码处理包括下采样处理、卷积处理和线性变换处理。对特征向量进行编码处理,即依次对其进行下采样处理、卷积处理和线性变换处理。其中,线性变换处理可以通过文本分类模型中的全连接层实现。[0129]在步骤103中,将满足概率取值条件的概率对应的业务领域确定为数据表所属的业务领域。[0130]在一些实施例中,概率取值条件可以包括:概率最大;超过概率阈值。相应地,可以将概率最大的业务领域作为数据表所属的业务领域;或将超过概率阈值的概率所对应的一个或多个业务领域作为数据表所属的业务领域。例如,将超过概率阈值的概率所对应的多个业务领域(如电子商务、网络娱乐和网络内容)作为数据表所属的业务领域时,业务领域可以采用“电子商务‑网络娱乐‑网络内容”的形式存储。[0131]上述条件可以结合使用,例如在一些可能的示例中,当概率取值条件是概率最大时,在确定最大概率的业务领域后,还可以进一步判断其是否大于概率阈值,若大于,则将其作为数据表所属的业务领域,之后将其写入数据表;若不大于,则说明确定的业务领域不准确,放弃将其写入数据表。[0132]可见,本技术实施例不仅可以高效地确定出数据表所属的业务领域,而且当根据数据表的特征信息确定出多个业务领域时,可一并将之作为数据表所属的业务领域。如此,在进行检索等任务时,可基于业务领域进行检索,扩大检索范围,使其尽可能地覆盖到可能的数据表,以减少检索结果中的遗漏。[0133]在步骤104中,在数据库的数据表中,写入数据表所属的业务领域。[0134]例如,若确定上文图5a中的数据表所属的业务领域为“电子商务”,则可在如图5b所示,在数据表中增添一列,以将业务领域写入数据表。[0135]在一些实施例中,在将业务领域写入数据表前,可以触发管理侧的人机交互的确认。服务器向终端发送写入确认请求,在终端中会显示数据表的表名称、表描述信息以及确定的业务领域,并显示确定按钮和拒绝按钮。若数据库管理员点击确认按钮,则业务领域将被写入数据表;若数据库管理员点击拒绝按钮,则业务领域不会被写入数据表。可见,在将业务领域写入数据表之前引入人工确认环节可以进一步提升业务领域的准确性。[0136]在一些可能的示例中,考虑到若每一个缺失业务领域的数据表都经由数据库管理员确认后才写入数据表,会加大数据库管理员工作量,且效率较低,可设置在以下两种情况中才需要数据库管理员确认。[0137]第一种情况是对于首个或者首批(如10个或20个)缺失业务领域的数据表,在确定它们对应的业务领域后,需要经过数据库管理员的确认,才能将业务领域写入数据表。如此,可将这些缺失业务领域的数据表作为样本供机器学习模型学习,从而训练机器学习模型,以预测缺失业务领域的数据表所属的业务领域。[0138]第二种情况是只对数据库中特定位置(例如,以数据表的编号代表数据表所在位置)处的数据表进行确认,其中,特定位置可以是缺失业务领域的数据表的密集分布位置处(例如,在密集分布位置处平均每5个数据表中存在一个缺失业务领域的数据表),也可以是访问量高于平均访问量的数据表的密集分布位置处。如此,可以集中对容易出现缺失业务领域的数据表以及使用较多的数据表进行确认,提高确认效率。并且,所确认的数据表可进一步作为机器学习模型的样本,对机器学习模型进行增量训练,提高其预测的准确性。[0139]在一些实施例中,业务领域是通过机器学习模型确定的,机器学习模型可以是上文中的文本分类模型,也可以是fasttext、textcnn、bert、roberta或electra等全连接网络模型,还可以是注意力网络模型、循环神经网络模型或卷积神经网络模型。[0140]作为示例,上述机器学习模型的训练过程如下:通过机器学习模型获取数据表样本的特征信息,基于数据表样本的特征信息确定数据表样本所属的预测业务领域;基于数据表样本的预测业务领域与数据表样本的标注业务领域确定误差;在机器学习模型中反向传播误差,以更新机器学习模型的参数。在训练过程中,可以通过梯度下降的方法逐层更新机器学习模型中的参数(如权重和偏差),梯度下降的方法可以是全量梯度下降法、随机梯度下降法、小批量梯度下降法和动量梯度下降法等。[0141]在一些可能的示例中,机器学习模型最初是基于通用训练集训练得到的,在人工确认环节中会得到业务领域正确的数据表以及业务领域错误的数据表,将业务领域错误的数据表相关数据作为负样本,将业务领域正确的数据表相关数据作为正样本,构成专用训练集,并利用专用训练集定期或实时地对机器学习模型进行增量训练,直至后续人工确认环节中错误率低于阈值或在窗口时间内的错误次数低于预设次数,如此,可以提高机器学习模型预测的精确性。其中,实时地对机器学习模型进行增量训练即在每个人工确认后都进行训练。若增量训练(实时训练或定期训练)的过程中样本不足(即低于每轮训练的最小样本数),可在针对数据库收集的样本的基础上进行样本增广和/或使用通用训练集中的样本来补足专用训练集。随着人工确认环节收集的样本的增多,可逐渐减少使用的通用训练集中的样本的数量。[0142]在一些实施例中,数据处理系统10支持业务领域的写入回退功能,即服务器在数据表中自动写入业务领域后,若后续数据库管理员(如运维人员)发现业务领域不合理,可以撤回写入并写入更新的业务领域,从而可保证数据表的可回溯性。[0143]在一些实施例中,周期性遍历数据库中的数据表以确定发生数据变化的数据表,数据变化的类型包括以下至少之一:增加数据、删除数据、改变数据;获取发生数据变化的数据表的特征信息,并基于发生数据变化的数据表的特征信息确定新业务领域;将发生数据变化的数据表所属的业务领域替换为新业务领域。其中,周期性遍历可以是每隔一个月遍历一次,也可以是每隔一周遍历一次,本技术实施例对此不做限制。[0144]可见,当用户访问数据表并对数据表进行了修改操作,使数据表中数据发生变化时,本技术实施例可及时根据数据表中变化的特征信息调整数据表所属的业务领域,保证业务领域的精确性。[0145]在一些实施例中,考虑到数据库中数据表的数量过多,若一一为缺失业务领域的数据表确定其业务领域,可能耗费大量的时间。因此,可以先确定出数据库中相似的多个缺失业务领域的数据表,对于相似的多个数据表不用重复计算业务领域,只用将相似的多个数据表中其中一个数据表的业务领域作为其他相似的数据表所属的业务领域即可。其实现过程如下:确定缺失业务领域的多个数据表中相似度超过相似度阈值的多组数据表,其中,每组数据表包括至少两个数据表;在每组数据表中随机选取一个数据表作为代表数据表,获取每个代表数据表的特征信息,并基于特征信息确定代表数据表所属的业务领域;将代表数据表所属的业务领域作为同组数据表中其他数据表所属的业务领域。[0146]可见,对于相似的多个缺失业务领域的数据表,可通过本技术实施例提供的数据库的数据处理方法确定出其中一个数据表所属业务领域,并将该业务领域作为相似的其他数据表所属业务领域,从而大大地提高了业务领域补全的效率。[0147]在一些实施例中,在确定数据库中数据表所属的业务领域后,可以基于数据表的业务领域等信息进行检索,以下对检索过程进行介绍。响应于携带关键词的检索请求,服务器基于数据库中数据表所属的业务领域进行筛选,得到第一范围内的数据表;基于第一范围内的数据表的表描述信息进行筛选,得到第二范围内的数据表;基于第二范围内的数据表的表名称进行筛选,将得到的目标范围内的数据表作为检索结果返回。[0148]在一些可能的示例中,在层层筛选数据表的过程中,若得到的范围内的数据表的数量小于或等于数量阈值,停止筛选,并将该范围内的数据表作为检索结果返回。例如,数量阈值为50,若第一范围内的数据表为45,将第一范围内的数据表作为检索结果返回给终端。[0149]可见,在确定数据表对应的业务领域之后,还可基于业务领域优化检索策略,提高检索的精确度。[0150]可以看出,本技术实施例通过提供缺失业务领域的数据表的特征信息,来预测数据表的业务领域,并自动在数据表中填充业务领域,实现了自动补全数据表的业务领域,对于需要在数据表中运维海量数据表的业务而言,显著节约了数据库的运维成本,提高了数据管理效率。[0151]下面,假设互联网用户的终端中运行有答题客户端,用户可在答题客户端中参与各种业务领域的答题或者出题的互动,且用户可选择答题/出题的业务领域。例如,当用户选择针对电子商务这一业务领域进行答题时,终端响应于用户的答题请求,向互联网应用的后台服务器发送答题请求,以获取电子商务领域的题目。将结合图7所示的交互流程图中的步骤说明在互联网应用的答题场景中的示例性应用。[0152]在步骤201中,终端响应于针对电子商务的答题请求,向后台服务器发送答题请求。[0153]在答题请求中携带了需要解答的题目的业务领域,这里,以电子商务领域为例。[0154]在步骤202中,后台服务器响应于答题请求,向数据库服务器发送查询请求。[0155]查询请求用于查询数据库服务器的数据库中电子商务领域的题目。[0156]在步骤203中,数据库服务器遍历数据库,以获取除缺失业务领域的数据表以外的其他数据表中业务领域为电子商务的数据表。[0157]在一些实施例中,与答题客户端对应的数据库中针对每个业务领域都存在多个类型的数据表,且每个类型的表的数量可以为多个。例如,当业务领域为电子商务时,对应的数据表可以包括问题表、好友表和默契值表等。问题表中存储着针对电子商务领域的多个问题,好友表中存储着与一个用户关联的其他好友的信息(如用户名等),默契值表表明用户和各个好友之间的默契值。因为数据库中存在部分缺失业务领域的数据表(可能是数据表在存入数据库的过程中遗漏了业务领域这一字段,导致缺失),所以先从除缺失业务领域的数据表以外的其他数据表中筛选出业务领域为电子商务的数据表。[0158]在步骤204中,数据库服务器根据缺失业务领域的数据表的表名称和表描述信息确定对应的业务领域。[0159]在一些实施例中,步骤204可通过图6所示的文本分类模型实现。文本分类模型也可以替换为fasttext、textcnn、bert、roberta或electra等全连接网络模型,还可替换为注意力网络模型、循环神经网络模型或卷积神经网络模型。[0160]如图8所示,图8是本技术实施例提供的文本分类模型的训练及预测的示意图。在训练文本分类模型的过程中,以数据表的表名称和表描述信息为样本数据,并以数据表的业务领域为标签(即标注业务领域)对模型进行训练,保存训练得到的模型参数。其中,可以使用随机梯度下降的方法训练文本分类模型,以使文本分类模型实现参数最优或者局部最优。在预测数据表所属业务领域的过程中,先加载模型参数,然后将表名称和表描述信息作为训练好的文本分类模型的输入,由文本分类模型输出数据表所属业务领域。[0161]以下将结合文本分类模型的结构对预测数据表所属业务领域的过程进行具体说明。[0162]文本分类模型包括输入层、嵌入层、全连接层和softmax层。在输入层中,对表名称或者表描述信息进行分词处理并确定其对应的索引值。在分词处理过程中,文本中的句子被切分为词或者字。在确定索引值中,需要为每个切分出的词或者字寻找一个对应的索引值。比如输入的文本中第i个词为wi经过索引之后得到唯一的一个整型编号ii=i(wi),其中,i表示在索引表中整形编号(即索引值)与文本中的词的对应关系。[0163]在嵌入层中,利用每个词的索引值从嵌入层获取文本对应的句向量。假设嵌入层的矩阵为e∈rv×d,其中,v为所有词的总数,d为每个向量的维度。为了获得文本中第i个词对应的词向量ei,首先将第i个词的索引值转换为独热向量,将得到v个独热向量,每个独热向量中除第i个位置的元素为1以外,其余元素均为0。然后,将第i个词对应的独热向量矩阵乘嵌入层对应的权重矩阵e,得到第i个词对应的词向量ei。[0164]在确定每个词分别对应的词向量后,将每个词对应的词向量相加求平均获得文本对应的句向量。假设文本包括l个单词,则句向量s可表示为:[0165]在全连接层中,通过如下公式(1)对句向量进行变换。[0166]a=f(ws b)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(1)[0167]其中,w是全连接层的权重参数,b是全连接层的偏置参数,f是激活函数,a是全连接层的输出,a是一个a维的向量,a是候选的业务领域的总数。[0168]在softmax层中,输出数据表可能属于的候选的业务领域的概率pi,概率计算如公式(2)所示。[0169][0170]其中,ai表示a中第i个的元素,i的取值范围为0~a。[0171]最后,选择概率最大的业务领域作为数据表所属的业务领域并输出。通过这种方法可以确定数据库中所有缺失业务领域的数据表对应的业务领域。[0172]在步骤205中,数据库服务器从缺失业务领域的数据表中获取业务领域为电子商务的数据表。[0173]在确定各个缺失业务领域的数据表所属的业务领域并写入对应的数据表后,可根据数据库中每个数据表的业务领域进行筛选,从中查找出业务领域为电子商务的数据表。[0174]在步骤206中,数据库服务器根据表名称和/或表描述信息从业务领域为电子商务的数据表中筛选出问题表。[0175]因为每个业务领域都对应多个类型的表,所以还需要从业务领域为电子商务的数据表中筛选出类型为问题表的数据表。可以根据表名称(如***问题表)确定问题表,也可以根据表描述信息(如表描述信息中的问号“?”)确定问题表。[0176]在步骤207中,数据库服务器根据各问题表中的问题随机生成多个题目。[0177]数据库服务器在获取整个数据库中电子商务领域的问题表后,提取问题表中的问题,并对其进行汇总,从中随机挑选出多个(如指定数量)题目作为数据处理结果。[0178]在步骤208中,数据库服务器向终端发送电子商务领域的多个题目。[0179]数据库服务器向终端发送数据处理结果,即电子商务领域的多个题目(以及对应的答案)。[0180]在步骤209中,终端显示多个题目。[0181]在步骤210中,终端获取用户对于多个题目的答案,并给出对应的分数。[0182]终端根据题目对应的答案确定用户选择的答案/填入的答案是否正确,并根据评分标准给出相应的得分。[0183]可见,本技术实施例基于数据表中的数据表名称/表描述信息确定出数据表所属的业务领域,从而可进一步确定出数据库中所有所属于特定业务领域(如电子商务)的问题表,并向用户返回问题表中的题目。如此,增加了数据库中有效题目的数量,可向用户提供更具多样性的题目,有利于提高用户参与答题的积极性。并且通过机器学习模型自动地确定业务领域,不需要人为参与,减少了人力的消耗,同时保证了数据表的领域信息的完整性。[0184]下面继续说明本技术实施例提供的数据库的数据处理装置243的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器240的数据库的数据处理装置243中的软件模块可以包括:查询模块2431、获取模块2432、确定模块2433、写入模块2434。[0185]查询模块2431,用于查询数据库中缺失业务领域的数据表;获取模块2432,用于获取数据表的特征信息,以及用于获取与特征信息对应的特征向量,将特征向量映射为多个候选的业务领域的概率;确定模块2433,用于将满足概率取值条件的概率对应的业务领域确定为数据表所属的业务领域;写入模块2434,用于在数据库的数据表中,写入数据表所属的业务领域。[0186]在一些实施例中,获取模块2432,还用于确定特征信息中每个词对应的索引值;基于索引值进行转换,得到每个词对应的词向量;对每个词对应的词向量进行加和平均处理,得到平均词向量;将平均词向量作为特征信息对应的特征向量。[0187]在一些实施例中,获取模块2432,还用于对特征信息包括的数据表的表名称和表描述信息进行分词处理,得到多个词;确定每个词在索引表中对应的索引值;其中,索引表包括不同的词与对应的索引值。[0188]在一些实施例中,获取模块2432,还用于基于每个词对应的索引值进行转换处理,得到对应的独热向量;将每个词对应的独热向量与权重矩阵相乘,得到每个词对应的词向量。[0189]在一些实施例中,获取模块2432,还用于对特征向量进行编码处理,得到编码处理结果;对编码处理进行激活处理,得到对应多个候选的业务领域的概率。[0190]在一些实施例中,确定模块2433,还用于将概率最大的业务领域作为数据表所属的业务领域;或对超过概率阈值的概率所对应的业务领域按照概率降序排序,选取排序在前的多个业务领域作为数据表所属的业务领域。[0191]在一些实施例中,查询模块2431,还用于从数据库的日志中筛选出多个候选数据表,候选数据表满足以下条件至少之一:使用频率低于频率阈值、最后一次使用时间在预设时间之前;从多个候选数据表中确定缺失业务领域的数据表。[0192]在一些实施例中,查询模块2431,还用于确定分布式数据库对应的多个节点中互不重合的数据表;遍历各个节点中分别存储的互不重合的数据表,以确定缺失业务领域的数据表。[0193]在一些实施例中,数据库的数据处理装置还包括替换模块2435,用于周期性遍历数据库中的数据表以确定发生数据变化的数据表,数据变化的类型包括以下至少之一:增加数据、删除数据、改变数据;获取发生数据变化的数据表的特征信息,并基于发生数据变化的数据表的特征信息确定新业务领域;将发生数据变化的数据表所属的业务领域替换为新业务领域。[0194]在一些实施例中,确定模块2433,还用于确定缺失业务领域的多个数据表中相似度超过相似度阈值的多组数据表,其中,每组数据表包括至少两个数据表;在每组数据表中选取一个数据表作为代表数据表,获取每个代表数据表的特征信息,并基于特征信息确定代表数据表所属的业务领域;将代表数据表所属的业务领域作为同组数据表中其他数据表所属的业务领域。[0195]在一些实施例中,数据库的数据处理装置还包括检索模块2436,用于响应于检索请求,基于数据库中数据表所属的业务领域进行筛选,得到第一范围内的数据表;基于第一范围内的数据表的表描述信息进行筛选,得到第二范围内的数据表;基于第二范围内的数据表的表名称进行筛选,将得到的目标范围内的数据表作为检索结果返回。[0196]在一些实施例中,业务领域是通过机器学习模型确定的,数据库的数据处理装置还包括训练模块2437,用于通过机器学习模型执行以下处理:获取数据表样本的特征信息,基于数据表样本的特征信息确定数据表样本所属的预测业务领域;基于数据表样本的预测业务领域与数据表样本的标注业务领域确定误差;在机器学习模型中反向传播误差,以更新机器学习模型的参数。[0197]本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的数据库的数据处理方法。[0198]本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的数据库的数据处理方法,例如,如图3a示出的数据库的数据处理方法。[0199]在一些实施例中,存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd‑rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。[0200]在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。[0201]作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以被存储在保存其它程序或数据的文件的一部分,例如,存储在超日志标记语言(html,hypertextmarkuplanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。[0202]作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。[0203]综上所述,本技术实施例首先确定数据库中缺失业务领域的数据表;然后通过文本分类模型确定这些数据表所属业务领域,最后将业务领域写入数据表中,实现了自动补全数据表的业务领域,减少了人力消耗,提高了数据管理效率。对于相似的多个缺失业务领域的数据表,可通过本技术实施例提供的数据库的数据处理方法确定出其中一个数据表所属业务领域,并将该业务领域作为相似的其他数据表所属业务领域,从而大大地提高了业务领域补全的效率。当数据表发生变换时,可及时根据变化的特征信息调整数据表所属的业务领域,保证了业务领域的精确性。此外,在确定数据表对应的业务领域之后,还可基于业务领域优化检索策略,提高检索的精确度。[0204]以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜