一种数据库表切分方法、装置、系统和介质制造方法及图纸

技术编号:18204248 阅读:26 留言:0更新日期:2018-06-13 06:19
本发明专利技术公开了一种数据库表切分方法、装置、系统和介质,用以对数据库中存储的数据进行灵活切分,保证数据库的访问性能。所述数据库表切分系统,包括:Mycat服务器,用于根据用户标识以预设的用户数量为单位对数据库服务器中存储的视频数据进行分片,针对每一分片中包含的视频数据,根据该视频数据对应的用户标识确定其对应的数据库子库;将该视频数据存储至确定出的数据库子库中;向服务注册中心写入访问链路配置信息;视频业务服务器,用于读取访问链路配置信息并创建与Mycat服务器之间的访问链路;在接收到数据访问请求时,根据数据库访问状态位确定使用Mycat链路访问时,通过创建的访问链路访问Mycat服务器。

【技术实现步骤摘要】
一种数据库表切分方法、装置、系统和介质
本专利技术涉及数据库
,尤其涉及一种数据库表切分方法、装置和介质。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。在网络视频监控系统中,部署最多的设备是视频数据存储设备,前端设备(摄像头)采集监控图像,经编码压缩处理成数字监控码流即视频数据,然后通过网络传送到视频数据存储设备,视频数据存储设备包括视频业务平台和视频数据存储数据库,视频业务平台间将接收的视频数据写入视频数据存储数据库中存储,另外,通过视频业务平台还可以读取视频数据存储数据库存储的视频数据进行回看。网络视频业务中的时间轴(timeline)是一个以时间维度结合设备维度的大数据量时间维度数据存储,系统设计初期考虑到业务特点已经对此业务的数据表做过一层单库类业务表按用户标识(id)分表的逻辑,但是,随着日益增长的设备和业务,如何对存储的数据进行灵活切分,保证数据库的访问性能成为现有技术中亟待解决的技术问题之一。
技术实现思路
本专利技术实施例提供了一种数据库表切分方法、装置、系统和介质,用以对数据库中存储的数据进行灵活切分,保证数据库的访问性能。第一方面,提供一种数据库表切分系统,包括视频业务服务器,Mycat服务器和数据库服务器,其中:所述Mycat服务器,用于根据用户标识以预设的用户数量为单位对数据库服务器中存储的视频数据进行分片,针对每一分片中包含的视频数据,根据该视频数据对应的用户标识确定其对应的数据库子库;将该视频数据存储至确定出的数据库子库中;以及向服务注册中心写入访问链路配置信息;所述视频业务服务器,用于从所述服务注册中心读取访问链路配置信息,根据读取的访问链路配置信息创建与所述Mycat服务器之间的访问链路;以及在接收到数据访问请求时,根据当前数据库访问状态位确定使用Mycat链路访问数据库服务器时,通过创建的访问链路访问所述Mycat服务器。可选地,所述Mycat服务器,具体用于针对每一分片中包含的视频数据,利用哈希函数确定该视频数据对应的用户标识的哈希值,根据确定出的哈希值确定其对应的数据库子库。可选地,所述Mycat服务器,还用于在通过心跳检测确定任一访问链路故障时,通知所述服务注册中心移除故障链路,并修改所述访问链路配置信息;所述视频业务服务器,还用于在检测到自身与Mycat服务器之间的访问链路故障时,重新从从所述服务注册中心读取访问链路配置信息,根据读取的访问链路配置信息重新创建与所述Mycat服务器之间的访问链路。可选地,所述视频业务服务器,还用于在接收到数据访问请求时,根据其中携带的用户标识判断用户开通业务时长是否不大于预设时长,如果判断结果为是且所述数据访问请求为写数据访问请求,则采用双写方式分别写入Mycat数据库和Mysql数据中,如果判断结果为是且所述数据访问请求为读数据访问请求,则选择从Mycat数据库或者Mysql数据中读取数据;如果判断结果为否且所述数据访问请求为写数据请求,则写入Mycat数据库或者Mysql数据;如果判断结果为否且所述数据访问请求为读数据请求,则从存储有相应数据的数据库中读取数据。可选地,所述视频业务服务器,还用于在接收到读数据访问请求时,确定数据读取状态位和白名单访问状态位;如果确定所述数据读取状态位为从Mycat数据读取数据且所述白名单访问状态为开启状态,则根据所述数据访问请求中携带的用户标识判断其是否位于访问白名单中,如果存在,则通过与Mycat数据库之间的访问链路从Mycat数据库中读取数据;如果确定所述数据读取状态位为从Mycat数据读取数据且所述白名单访问状态为关闭状态,则直接通过与Mycat数据库之间的访问链路从Mycat数据库中读取数据;如果确定所述数据读取状态位为从Mysql数据读取数据且所述白名单访问状态为开启状态,则根据所述数据访问请求中携带的用户标识判断其是否位于访问白名单中,如果存在,则从Mysql数据库中读取数据;如果确定所述数据读取状态位为从Mysql数据读取数据且所述白名单访问状态为关闭状态,则直接从Mysql数据库中读取数据。第二方面,提供一种数据库表切分方法,包括:根据用户标识以预设的用户数量为单位对数据库服务器中存储的视频数据进行分片;针对每一分片中包含的视频数据,根据该视频数据对应的用户标识确定其对应的数据库子库;将该视频数据存储至确定出的数据库子库中;并向服务注册中心写入访问链路配置信息。可选地,针对每一分片中包含的视频数据,根据该视频数据对应的用户标识确定其对应的数据库子库,具体包括:针对每一分片中包含的视频数据,利用哈希函数确定该视频数据对应的用户标识的哈希值,根据确定出的哈希值确定其对应的数据库子库。可选地,所述数据库表切分方法,还包括:在通过心跳检测确定任一访问链路故障时,通知所述服务注册中心移除故障链路;并修改所述访问链路配置信息。第三方面,提供一种数据库表切分装置,包括:分片单元,用于根据用户标识以预设的用户数量为单位对数据库服务器中存储的视频数据进行分片;确定单元,用于针对每一分片中包含的视频数据,根据该视频数据对应的用户标识确定其对应的数据库子库;存储单元,用于将该视频数据存储至确定出的数据库子库中;写入单元,用于向服务注册中心写入访问链路配置信息。可选地,所述确定单元,具体用于针对每一分片中包含的视频数据,利用哈希函数确定该视频数据对应的用户标识的哈希值,根据确定出的哈希值确定其对应的数据库子库。可选地,所述数据库表切分装置,还包括:通知单元,用于在通过心跳检测确定任一访问链路故障时,通知所述服务注册中心移除故障链路;修改单元,用于修改所述访问链路配置信息。第四方面,提供一种计算装置,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行上述任一所述数据库表切分方法的步骤。第五方面,提供一种计算机可读介质,其存储有可由计算装置执行的计算机程序,当所述程序在计算装置上运行时,使得所述计算装置执行上述任一所述数据库表切分方法的步骤。本专利技术实施例提供的数据库表切分方法、装置、系统和介质,Mycat服务器根据用户标识以预设的用户数量为单位对数据库服务器中存储的视频数据进行分片,针对每一分片中包含的视频数据,根据该视频数据对应的用户标识确定其对应的数据库子库;将该视频数据存储至确定出的数据库子库中;以及向服务注册中心写入访问链路配置信息;这样,视频业务服务器可以从所述服务注册中心读取访问链路配置信息,根据读取的访问链路配置信息创建与所述Mycat服务器之间的访问链路;以及在接收到数据访问请求时,根据当前数据库访问状态位确定使用Mycat链路访问数据库服务器时,通过创建的访问链路访问所述Mycat服务器,上述过程中以Mycat服务器作为中间件来处理数据的切分,使得数据能够均匀地分布于各个数据库子库中,避免热点数据访问的问题,从而保证了数据访问性能。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构本文档来自技高网...
一种数据库表切分方法、装置、系统和介质

【技术保护点】
一种数据库表切分系统,其特征在于,包括视频业务服务器,Mycat服务器和数据库服务器,其中:所述Mycat服务器,用于根据用户标识以预设的用户数量为单位对数据库服务器中存储的视频数据进行分片,针对每一分片中包含的视频数据,根据该视频数据对应的用户标识确定其对应的数据库子库;将该视频数据存储至确定出的数据库子库中;以及向服务注册中心写入访问链路配置信息;所述视频业务服务器,用于从所述服务注册中心读取访问链路配置信息,根据读取的访问链路配置信息创建与所述Mycat服务器之间的访问链路;以及在接收到数据访问请求时,根据当前数据库访问状态位确定使用Mycat链路访问数据库服务器时,通过创建的访问链路访问所述Mycat服务器。

【技术特征摘要】
1.一种数据库表切分系统,其特征在于,包括视频业务服务器,Mycat服务器和数据库服务器,其中:所述Mycat服务器,用于根据用户标识以预设的用户数量为单位对数据库服务器中存储的视频数据进行分片,针对每一分片中包含的视频数据,根据该视频数据对应的用户标识确定其对应的数据库子库;将该视频数据存储至确定出的数据库子库中;以及向服务注册中心写入访问链路配置信息;所述视频业务服务器,用于从所述服务注册中心读取访问链路配置信息,根据读取的访问链路配置信息创建与所述Mycat服务器之间的访问链路;以及在接收到数据访问请求时,根据当前数据库访问状态位确定使用Mycat链路访问数据库服务器时,通过创建的访问链路访问所述Mycat服务器。2.如权利要求1所述的方法,其特征在于,所述Mycat服务器,具体用于针对每一分片中包含的视频数据,利用哈希函数确定该视频数据对应的用户标识的哈希值,根据确定出的哈希值确定其对应的数据库子库。3.如权利要求1所述的系统,其特征在于,所述Mycat服务器,还用于在通过心跳检测确定任一访问链路故障时,通知所述服务注册中心移除故障链路,并修改所述访问链路配置信息;所述视频业务服务器,还用于在检测到自身与Mycat服务器之间的访问链路故障时,重新从从所述服务注册中心读取访问链路配置信息,根据读取的访问链路配置信息重新创建与所述Mycat服务器之间的访问链路。4.如权利要求1所述的系统,其特征在于,所述视频业务服务器,还用于在接收到数据访问请求时,根据其中携带的用户标识判断用户开通业务时长是否不大于预设时长,如果判断结果为是且所述数据访问请求为写数据访问请求,则采用双写方式分别写入Mycat数据库和Mysql数据中,如果判断结果为是且所述数据访问请求为读数据访问请求,则选择从Mycat数据库或者Mysql数据中读取数据;如果判断结果为否且所述数据访问请求为写数据请求,则写入Mycat数据库或者Mysql数据;如果判断结果为否且所述数据访问请求为读数据请求,则从存储有相应数据的数据库中读取数据。5.如权利要求1所述的系统,其特征在于,所述视频业务服务器,还用于在接收到读数据访问请求时...

【专利技术属性】
技术研发人员:杨帆陈帅斌蒋泽飞夏虹
申请(专利权)人:杭州登虹科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1