通讯软件开发要求.doc
文本预览下载声明
通讯软件开发要求:
所有代码必须由C# 语言编写。开发环境.NET2008(framework 3.5),如用其他的环境开发,需通知并协商。
软件必须保证正常持续地运行,软件无论在任何时候都不允许出现死掉或运行错误等情况。
软件须带有软件工作日志和错误日志。
客户端和服务器端通讯时除了IP和端口号,必须带有帐号和密码。
所有执行的操作命令地方必须用debug.write 方法输出调试信息,用debugview可以及时看见软件工作情况,便于验收和日后检查错误。这个功能必须随时可以关闭和开启。
需有软件源代码。
软件需处理各个客户端软件与服务器数据库之间的通讯要求:
1、软件需有一个【数据库查询任务池】,能保存所有任务、任务类型(增、删、查、改、建表等)
2、软件可以开启多个线程(线程数可调节)去【数据库查询任务池】提取并执行任务。
3、准确无误地处理客户端发送所有的数据库命令,所有数据类型(包括文字、数字、图片、文件、视频等)。
4、准确无误地把数据返回给发送命令的客户端。
5、处理超大型文件(超过1G)在客户端与服务器端之间的正确传输。
6、支持无限扩展客户端数量。
7、支持多个客户端同时进行数据的增、删、查、改等功能。
8、支持所有数据库种类(如SQL2005、Mysql、Oracle、access等)。
9、处理效率:从客户端发命令开始到数据完整成功返回,时间不得超过客户端直接连接数据库查询并返回时间的5%
10、保证所有客户端可以通过中间软件频繁地访问数据库,且不出任何错误。
11、自己写的一些WINDOWS服务可以通过中间件访问数据库
12、其他情况,在软件编写过程中再添加。
客户端与客户端之间的通讯(界面操作通知、信息通知、唤醒等)
客户端可以通过软件向其他客户端发送数据和信息文字、数字、图片、文件、视频等)
软件需有一个【通讯任务池】,能保存所有任务。
软件可以开启多个线程(线程数可调节)去【通讯任务池】提取并执行任务
支持客户端【1对1】消息发送
支持客户端【1对多】消息发送
实时检测各个客户端的在线情况
中间件可以对所有【自动执行任务客户端】监控和分派任务:
软件需有一个【自动执行任务池】,能保存所有任务、任务类型和任务执行进度,然后逐条将未执行或未执行完成的任务分配给空闲客户端。
软件可以开启多个线程(线程数可调节)去【自动执行任务池】提取并执行或分派任务
实时检测各个客户端的在线情况
合理使用客户端的资源:每个客户端的任务分配数量可人工统一调节。
客户端所有任务由软件服务端分配,客户端的任务完成进度需实时(可以有间隔时间)向服务端汇报。
软件可根据客户端汇报的情况,选择让当前客户端继续执行,或者回收任务给其他客户端执行。
新任务的及时通知。(唤醒客户端执行新任务):如果软件发现新任务,须及时向空闲客户端发送任务。
任务汇总:能及时反映前软件有多少任务没有执行完成,如果不能及时的了解服务器的任务完成情况,就不知道什么时候该扩展客户端数量或服务器数量。
中间软件根据探测结果准确的判断客户端当前处于哪条线上(网通、电信、移动);准确的判断客户端本地连接是否正常;准确的判断远程连接是否正常。
某些任务在每条网线(如网通、电信)的唯一性。例:我们知道,频繁抓取或访问某些搜索引擎是会屏蔽的;假设网通线路上有10台客户端可执行“百度排名查询”,在这种情况下,保证同一时刻这种任务只能分配给一台客户端机器执行,执行完后方可按前面的条件再分配。
哪个任务适合于哪条网线(如网通、电信)来发?例:某网站()经过测试,只有网通目前是通的,那么当前网站()的任务必须是网通线来发,而且执行任务的客户端的本地连接及远程连接必须是通的。
任务类型的优先级控制:任务的执行有轻重缓急,必须把重要的任务先做,再做次要的任务。
任务的触发时间(指定时间触发执行任务)。
一、某类任务可以指定日期或时间才能启动。
二、单个任务可以指定日期或时间才能启动。
任务回收:
超时未完成的任务回收。
超时未完成任务的数据回收。
服务器确定哪个客户端执行任务或不执行任务。
客户端和服务器连通后,客户端必须向服务器发送以下信息:
客户端的IP。
客户端计算机名称。
客户端的CPU个数及频率、内存大小。
支持无限扩展客户端数量。
中间软件界面要求:
所有任务汇总报告。
单台客户端任务汇总报告。
所有客户端资源报告(包括:客户端的IP、客户端计算机名称、客户端的CPU个数及频率、内存大小等)
可指定哪个客户端执行任务或不执行任务,显示客户端是在哪条线,带宽是多少。连了几个客户端等。
本地路由器设置的IP段列表,可编辑。
软件运行状态显示包括:任务运行状态显示,数据库运行状态显示
任务日志和错误日志汇总。
任务优先级的设置界面。
给客户端分配任务的数量和种类的设置
其他
显示全部