【技术实现步骤摘要】
对象持久化方法、装置、介质和系统
本申请涉及一种对象持久化方法、装置、介质和系统。
技术介绍
在大型的互联网应用中,数据量通常是非常庞大的,当一张表的数据达到几千万时,查询一次所花的时间会变长。数据量的庞大会伴随着非常高的读写并发,容易突破单个数据库实例的性能上限。分库分表的思想是把一个数据库分成多个部分,存放在多个数据库上,把一个大表拆成多张小表,从而有效缓解单个数据库或者单个表的读写压力,让数据库服务获得无限扩展的能力,从而有效地减小数据库的负担,提高数据库的效率,缩短查询时间。
技术实现思路
目前的数据库大多仅支持静态建立分库,在对象持久化时,需要事先手动创建分库,而本申请的目的则是提供一种在对象持久化时动态创建分库的方案。本申请的第一方面提供了一种对象持久化方法,该方法可以包括:接收对象持久化请求,其中,对象持久化请求中包括对象要存储的数据库的分库名称,从对象持久化请求中提取对象要存储的数据库的分库名称;根据分库名称判断分库是否存在;在分库存在的情况下,将对象存储到分库中,以及在分 ...
【技术保护点】
1.一种对象持久化方法,其特征在于,包括:/n接收对象持久化请求,其中,所述对象持久化请求中包括对象要存储的数据库的分库名称;/n从所述对象持久化请求中提取所述对象要存储的数据库的分库名称;/n根据所述分库名称判断分库是否存在;/n在所述分库存在的情况下,将所述对象存储到所述分库中,以及/n在所述分库不存在的情况下,新建所述分库,并将所述对象存储到新建的分库中。/n
【技术特征摘要】
1.一种对象持久化方法,其特征在于,包括:
接收对象持久化请求,其中,所述对象持久化请求中包括对象要存储的数据库的分库名称;
从所述对象持久化请求中提取所述对象要存储的数据库的分库名称;
根据所述分库名称判断分库是否存在;
在所述分库存在的情况下,将所述对象存储到所述分库中,以及
在所述分库不存在的情况下,新建所述分库,并将所述对象存储到新建的分库中。
2.根据权利要求1所述的对象持久化方法,其特征在于,所述分库为所述对象所对应的默认分库,所述分库名称为所述对象所对应的默认分库的名称。
3.根据权利要求1所述的对象持久化方法,其特征在于,
所述分库为所述对象所对应的非默认分库,所述分库名称为所述对象所对应的非默认分库的名称;
所述非默认分库的名称包括所述对象所对应的默认分库的名称和后缀。
4.根据权利要求3所述的对象持久化方法,其特征在于,从所述对象持久化请求中提取所述对象要存储的数据库的分库名称包括:
从所述对象持久化请求中提取所述后缀,并将所述后缀存储到线程局部变量中;和
将所述默认分库的名称和所述后缀拼接,得到所述非默认分库的名称。
5.根据权利要求1所述的对象持久化方法,其特征在于,还包括判断所述对象能否得到所述数据库的支持的操作;并在所述对象能够得到所述数据库的支持的情况下,执行根据所述分库名称判断分库是否存在的操作。
6.根据权利要求5所述的对象持久化方法,其特征在于,所述数据库为视图库,所述能够得到所述数据库支持的对象包括:人脸、车辆、物品、街道和/或图像中的至少一种。
7.根据权利要求1所述的对象持久化方法,其特征在于,所述对象持久化方法在Spring框架下执行。
8.一种对象持久化装置,其特征在于,包括:
请求接收模块,用于接收对象持久化请求,其中,所述对象持久化请求中包括对象要存储的数据库的分库名称;
分库名称提取模块,用于从所述对象持久化请求中提取所述对象要存储的数据库的分库名称;
第一判断模块,用于根据所述分库名称判断分库是否存在;
持久化模块,用于在所述分库存在的情况下,将所述对象存储到所述分库中,以及在所述分库不存在的情况下,新建所述分库,并将所述对象存储到新建的分库中。
9.根据权利要求8所述的对象持久化装置,...
【专利技术属性】
技术研发人员:刘康宇,曹玮,秦妤嘉,吴永军,陈萌辉,
申请(专利权)人:上海依图网络科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。