全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210725057.2 (22)申请日 2022.06.23 (71)申请人 新华三技术有限公司 地址 310052 浙江省杭州市滨江区长河路 466号 (72)发明人 张兰坤  (74)专利代理 机构 北京三聚阳光知识产权代理 有限公司 1 1250 专利代理师 陈刚 (51)Int.Cl. G06F 16/23(2019.01) G06F 16/2455(2019.01) (54)发明名称 数据库多线程处理方法、 装置、 设备及存储 介质 (57)摘要 本申请是关于一种数据库多线程处理方法、 装置、 设备及存储介质, 具体涉及数据库技术领 域。 所述方法包括: 创建各个子线程, 并分别向各 个子线程分配各个数据库; 当第一子线程接收到 客户端请求时, 对客户端请求进行解析, 获得第 一命令; 当第一命令指示在第一子线程所匹配的 数据库中执行操作时, 则第一子线程根据第一命 令, 对匹配的数据库执行操作; 当第一命令指示 不在第一子线程所匹配的数据库中执行操作时, 根据第一命令, 查询相匹配的第二子线程, 并将 第一命令发送至第二子线程。 上述方案无需进行 加锁即可并行处理命令, 避免了因为互斥操作造 成低效率锁 等待, 提高了数据库的多线程处理效 率。 权利要求书2页 说明书12页 附图6页 CN 115309757 A 2022.11.08 CN 115309757 A 1.一种数据库多线程处理方法, 其特征在于, 所述方法应用于目标服务器中, 所述数据 库为运行于所述目标服 务器上的内存数据库, 所述方法包括: 创建各个子线程, 并分别向各个所述子线程分配各个数据库; 针对各个所述子线程中的第一子线程, 当所述第一子线程接收到客户端请求时, 对所 述客户端请求进行解析, 获得第一命令; 当所述第一命令指示在所述第 一子线程所匹配的数据库中执行操作时, 则第 一子线程 根据所述第一命令, 对匹配的数据库执 行操作; 当所述第一命令指示不在第 一子线程所匹配的数据库中执行操作时, 根据所述第 一命 令, 查询相匹配的第二子线程, 并将所述第一命令发送至所述第二子线程, 以使 所述第二子 线程根据所述第一命令, 对匹配的数据库执 行操作。 2.根据权利要求1所述的方法, 其特征在于, 所述第一命令中包含目标键值; 所述方法 还包括: 对所述目标键值进行哈希运 算, 以获得目标哈希值; 将所述目标哈希值与 所述第一子线程对应的哈希范围进行匹配, 以确定所述第 一命令 是否指示在所述第一子线程所匹配的数据库中执 行操作。 3.根据权利要求1或2所述的方法, 其特征在于, 所述各个子线程具有各自对应的客户 端连接池; 当所述第一子线程接收到客户端请求时, 对所述 客户端请求进行解析之前, 还 包括: 当所述第一子线程对应的客户端连接池接收到第一请求时, 判断所述第一请求的类 型; 当所述第一请求 为客户端请求时, 则第一子线程 根据所述第一请求执 行解析步骤; 当所述第 一请求为线程请求 时, 根据所述线程请求中的指针信 息, 获取第 二命令, 以使 第一子线程 根据所述第二命令, 对匹配的数据库执 行操作。 4.根据权利要求3所述的方法, 其特 征在于, 所述方法还 包括: 创建主线程; 所述主 线程用于 接收各个所述 客户端请求; 当所述主线程接收到各个所述客户端请求后, 则将各个所述客户端请求依次放入各个 所述子线程各自对应的客户端连接池; 或者, 当所述主线程接收到各个所述客户端请求后, 则将各个所述客户端请求随机放 入各个所述子线程各自对应的客户端连接池。 5.根据权利要求1或2所述的方法, 其特征在于, 所述将所述第一命令发送至所述第二 子线程, 包括: 将第一命令对应的指针信 息打包生成线程请求, 并发送至所述第 二子线程对应的客户 端连接池。 6.根据权利要求5所述的方法, 其特征在于, 当所述第一命令中包含多个命令时, 所述 将第一命令对应的指针信息打包生成线程请求, 包括: 将所述第一命令中的多个命令依序排列, 以获得第一队列; 将所述第一队列中的第 一个命令的指针信 息保存在线程请求中, 并将所述第 一队列中 后一个命令的指针信息保存在前一个命令的数据文件中。 7.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括:权 利 要 求 书 1/2 页 2 CN 115309757 A 2将根据所述第一命令执行操作完成后的执行结果, 保存至所述第一命令中, 并将所述 第一命令中的完成标志置位, 以当所述客户端请求所对应的各个命令的完成标志置位时, 返回所述各个命令所对应的执 行结果。 8.一种数据库多线程处理装置, 其特征在于, 所述装置应用于目标服务器中, 所述数据 库为运行于所述目标服 务器上的内存数据库, 所述装置包括: 线程创建模块, 用于创建各个子线程, 并分别向各个所述子线程分配各个数据库; 客户端解析模块, 用于针对各个所述子线程中的第一子线程, 当所述第一子线程接收 到客户端请求时, 对所述 客户端请求进行解析, 获得第一命令; 操作执行模块, 用于当所述第 一命令指示在所述第 一子线程所匹配的数据库中执行操 作时, 则第一子线程 根据所述第一命令, 对匹配的数据库执 行操作; 命令转发模块, 用于当所述第 一命令指示不在第 一子线程所匹配的数据库中执行操作 时, 根据所述第一命令, 查询相匹配的第二子线程, 并将所述第一命令发送至所述第二子线 程, 以使所述第二子线程 根据所述第一命令, 对匹配的数据库执 行操作。 9.一种计算机设备, 其特征在于, 所述计算机设备包括处理器和存储器, 所述存储器中 存储有至少一条指 令, 所述至少一条指 令由所述处理器加载并执行以实现如权利要求 1至7 任一所述的数据库多 线程处理方法。 10.一种计算机可读存储介质, 所述存储介质中存储有至少一条指令, 所述至少一条指 令由所述处 理器加载并执 行以实现如权利要求1至7任一所述的数据库多 线程处理方法。权 利 要 求 书 2/2 页 3 CN 115309757 A 3

PDF文档 专利 数据库多线程处理方法、装置、设备及存储介质

文档预览
中文文档 21 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共21页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 数据库多线程处理方法、装置、设备及存储介质 第 1 页 专利 数据库多线程处理方法、装置、设备及存储介质 第 2 页 专利 数据库多线程处理方法、装置、设备及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:46:21上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。