
我现在要开发一个多线程的服务来读取数据库表中的队列数据出来进行处理。处理过程中要调用webservice之类的接口,所以处理过程中可能会出错,导致有些数据会处理失败。
另外我这个服务要部署到多台机器同时运行,读取同一个数据库的数据来处理。
多个进程哦,你确定不是多线程,多线程的话缓存类可以解决,多进程的话你可以试试将数据存储在共享文件中,例如txt,excel,xml文件中,这些规则怎么存代表什么意思可以自己定,进程间通讯可能就麻烦点了
并发(concurrent)和并行(parallel)这两个概念,在数据库系统的资料中经常出现,然而有关它们的定义和区别却没有明确的说法。这里,我们根据这两个概念在资料中的使用,对它们的不同做一个说明。
并发是指多个任务的同时执行,任务与任务之间没有联系。由于数据库系统要同时为许多用户提供服务,每个用户都可以发出自己的访问请求,一个请求就是一个任务。在一个时间点,数据库系统可能要同时处理多个任务。因此,数据库系统一定要具备并发处理能力。
并行是指将一个任务划分为多个子任务,这些子任务同时执行。在所有子任务处理完成后,将它们的结果进行合并,就得到该任务的最终处理结果。在数据库系统中,如果要执行一个大的数据查询,为了提高速度、降低响应时间,用户可以通过系统配置或者在命令中,要求对该大数据量查询进行并行处理,将该查询划分成多个子查询。这些子查询同时执行,最后系统将所有子查询的处理结果进行合并,作为该查询处理的最终结果。现有的大型数据库系统都支持并行处理。
需要说明的是,并发和并行与数据库系统采用多进程还是多线程体系结构无关。对采用多进程结构的数据库系统,所有的任务、子任务通过进程来处理;而对采用多线程结构的数据库系统,这些工作是由线程来完成。
数据库系统的并发控制,涉及到任务的调度、数据的一致性及可靠性等,而数据库系统的并行处理,主要涉及任务的处理速度、系统性能等方面。
解析Sybase服务器的基本过程
日期:2007-06-21 ChinaUnixnet
--------------------------------------------------------------------------------
1建立客户与服务器之间的连接,包括网络连接、客户进程与服务器进程之间的连接;
2客户端通过网络发送SQL语句给服务器,用来查询或 *** 作服务器中的数据或数据库对象;
3服务器接收到SQL语句后,对其进行语法分析、优化和编译后执行;
4如果执行的语句产生一个结果集,服务器通过网络把结果集返回给客户;
5客户端对收到的结果作相应的处理。
在客户/服务器体系,有两种数据库引擎结构,即多进程数据库引擎和单进程、多线程引擎结构。
多进程结构即多个可执行程序同时运行。每当用户登录到数据库系统时实际上都启动了数据库引擎的一个独立实例。存在起协调作用的进程协调进行之间的通讯以保证当多用户访问相同数据时数据的完整性。多进程数据库引擎一般用在大型机数据库上。
单进程多线程数据库引擎在原理上和多进程数据库引擎类似,不同的是多线程数据库引擎自己负责调度各应用程序占用CPU的时间,而不依赖于 *** 作系统。这样,多线程数据库引擎自我保护的能力更强。
Oracle Server是一个真正的多进程数据库引擎,Sybase数据库管理系统采用的是单进程多线程的引擎结构。
以上就是关于多线程多进程服务的数据队列处理怎么样解决重复读取的全部的内容,包括:多线程多进程服务的数据队列处理怎么样解决重复读取的、java程序如何将数据库里几张表里面的数据放入共享内存中供多个进程使用,该怎么存取这些数据、SQL数据库并发处理(如何处理数据库并发问题)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)