在什么情况下使用DATA QUEUE
我知道data queue 是异步通讯效率最高的方法,比pf和data area 的效率都高。也知道data queue的一些API的基本操作。但是就是不知道在什么情况下使用data queue比较合理
如果是金融系统的话,有哪些应用会用到data queue呢?
如果是制造业ERP系统的话,又有哪些应用会用到data queue 呢??
各位大侠,你们的系统都是怎样使用data queue的呢,能否告知一二。
谢谢各位!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
学习了,多谢!
JOB间的通讯也可以DATAQ
学习了,谢谢
一般用于服务程序与多客户程序之间的请求处理。
楼上大哥 加个QQ 详细请教 315415998
本帖最后由 ux400 于 2010-12-08 09:42 编辑
data queue 一般是先进先出,A进程写入(当然要有权限),B进程、C进程等读出(当然要有权限),谁先抢到就是谁的,读出后队列里就没啦。
pf 存放的是数据,哪个进程只要有权限都可以读,哪个进程只要有权限都可以写,只要没谁改变,你读N次都是一样的数据。类似于DOS/Windows 下 DBASE/FoxBase/FoxPro的.DBF文件。
data area 叫做数据区,类似于WINDOWS的INI文件,用来放少量的参数,只要有权限,你可以任意读写N次。
我用data queue的情况一般是这样的:用C语言程序通过socket获取外部系统的请求,写入data queue1,启动N个RPG程序的进程,去读data queue1,进行具体的处理,然后通过另外一个data queue2告诉C语言程序进程关于它的处理结果,C程序进程通过socket将处理结果返回外部系统。
比如 从机器设备提取工业数据 到400 时使用DATAQ , 很多情况下都使用DATAQ 那得看实际的业务。
使用DATAQ的一般都是 BATCH JOB , 400上 挂个JOB 时时检测DATAQ里有没有数据,有数据就处理 , 没数据就无限等待。
像这样的功能你也可以用TABLE TRIG 来处理 不过用TRIG的话你还得考虑 数据表的大小 ,备份 ,则用DATAQ的话不需要考虑这些问题
DATAQ的话提取一条数据就减少一条数据 ,他还有先入先出的概念。
不知道我这样解释对不对。希望对你有帮助。
回复 2# insmile
谢谢回复。
你的意思是:data queue主要用来400系统(后台处理数据)和其他外系统(前端画面,web等)之间的通讯?是这样吗
那如果只是400系统的话,data queue岂不是无用武之地了??
你QQ多少啊,能不能加你好友呢??
3X
各个系统通讯,400业务系统和其他外系统通讯用
有时候程序之间也会有,不过很少