【技术实现步骤摘要】
本专利技术属于计算机数据库领域,具体涉及一种基于多线程异步的高频数据库写入方法及装置。
技术介绍
1、目前,大数据技术已广泛应用到金融、物联网等行业,而海量数据的写入是大数据处理和分析的基础。在实际应用中如何将实时生成的大量数据及时、准确、完整的写入到数据库中,是一项很有挑战的工作。
2、目前,各主流数据库都推出了各自的api来进行数据的写入查询操作。以使用开源库mariadb-connector-c向mysql中写入数据为例。在写入数据时,用户需要调用mysql_query接口来执行一个sql语句,而该接口是一个同步的接口,即在请求发出后,调用该接口的线程会挂起等待,不会继续执行后续代码,直到mysql完成数据插入并返回执行结果后,mysql_query接口才会返回,然后,用户需要通过调用其它接口,例如mysql_store_result来获取执行结果。这种方式在写入高频数据时(例如金融场景下证券交易所的逐笔交易,以及物联网场景下传感器的测量数据)效率很低,因为客户端进程需要承担与mysql通信以及mysql插入数据的时间
...【技术保护点】
1.一种基于多线程异步的高频数据库写入方法,其特征在于包括如下步骤:
2.根据权利要求1所述的一种基于多线程异步的高频数据库写入方法,其特征在于:所述步骤S1的初始化中,设定不同类型的分区方案,用于步骤S2中向不同缓存队列插入不同分区类型的数据,分区方案包括范围分区、哈希分区以及值分区,范围分区对每个分区区间创建一个分区,哈希分区利用哈希函数对分区列进行操作,建立指定数量的分区,值分区对分区列的每个值创建一个分区。
3.根据权利要求1所述的一种基于多线程异步的高频数据库写入方法,其特征在于:所述步骤S1的初始化中,表结构信息包括各列的数据类型,
...【技术特征摘要】
1.一种基于多线程异步的高频数据库写入方法,其特征在于包括如下步骤:
2.根据权利要求1所述的一种基于多线程异步的高频数据库写入方法,其特征在于:所述步骤s1的初始化中,设定不同类型的分区方案,用于步骤s2中向不同缓存队列插入不同分区类型的数据,分区方案包括范围分区、哈希分区以及值分区,范围分区对每个分区区间创建一个分区,哈希分区利用哈希函数对分区列进行操作,建立指定数量的分区,值分区对分区列的每个值创建一个分区。
3.根据权利要求1所述的一种基于多线程异步的高频数据库写入方法,其特征在于:所述步骤s1的初始化中,表结构信息包括各列的数据类型,用于步骤s2中对传入数据进行数据校验,再将校验合法的数据进行插入。
4.根据权利要求1所述的一种基于多线程异步的高频数据库写入方法,其特征在于:所述步骤s2中,对于内存表,使用一个缓存队列以及一个线程,将数据插入到缓存队列中。
5.根据权利要求1所述的一种基于多线程异步的高频数据库写入方法,其特征在于:所述步骤s3中,线程循环执行的过程,包括如下步骤:
6.根据权利要求1所述的一种基于多线程异步的高频数据库写入方法,其特征在于:所述步骤s1中,设置回调函数,将数据插入的结果通知用户;所述步骤s3中,还包括步骤s3.4:判断是否设置了回调函数,若...
【专利技术属性】
技术研发人员:余涛平,卢周正,周小华,
申请(专利权)人:浙江智臾科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。