2 pengfeif pengfeif 于 2014.12.05 11:30 提问

关于软件设计的一个问题

要求是这样的:
要实现一个程序X定时从第三方获取数据并存储,并且我自己的程序A也可以通过此程序X从第三方主动获取需要的数据,这个程序X应该用什么实现?
windows service可以么?

2个回答

wgw335363240
wgw335363240   2014.12.05 17:02
已采纳

1.定时程序通过windows的service来定时同步数据
2.程序A通过自己的业务接口去第三方系统获取数据,不要和定时程序公用。如果你的定时程序也是在程序A中,则你可以公用相同的代码,否则还是单独使用各自的代码。
至于如何同步数据,可以通过sockete、http等。通常都使用http协议来实现,交换数据格式可以采用json或者xml都可以。

wgw335363240
wgw335363240 回复pengfeif: 定时程序放到windows的service中,这样不会影响到程序A的执行。
接近 3 年之前 回复
wgw335363240
wgw335363240 如果你的系统A业务量比较大,还是把定时程序分开;如果系统A业务量不大,定时程序可以放到系统A中。在同一个系统中,额可以公用代码,但是会影响效率。
接近 3 年之前 回复
pengfeif
pengfeif 哦哦,我大概明白你的意思了。我的A程序其实就是一个web程序,有人建议我直接把定时获取数据的业务也放在A里面……但是我觉得这样似乎不太妥当,因为A一旦发布到IIS上以后,IIS会休眠的,所以到时候定时获取数据的线程估计也会终止……大神有什么看法?
接近 3 年之前 回复
91program
91program   Ds   Rxr 2014.12.05 12:12

这个要看从第三方获取数据是如何实现的?如果从第三方获取数据是通过 Socket,则程序 X 一般是一个客户端;如果从第三方获取数据是通过其它网络协议,则需要实现对应的客户端。
程序 A与程序X之间的通讯,可以自定义实现。

91program
91program 回复pengfeif: 直接把获取数据的代码写到A程序里面,如果能这样最好
接近 3 年之前 回复
pengfeif
pengfeif 获取第三方数据时通过HTTP post请求实现的,所以这个客户端,貌似什么都行,只是他有一个职责是要定时获取第三方程序的数据,所以我觉得用windows service比较稳定,还有人推荐我直接把获取数据的代码写到A程序里面……
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片