最近做根据网段ip自动搜索网元、创建、上载(极为耗时)的功能(网管的概念,不重要),需要达到的效果是后台进行到任意一个状态时,前台都可以感知到。
核心任务有四个:
一、异步
即前台下发接口后不会干扰其他的操作,立即返回,具体的过程交给线程解决即可。
二、状态机
重点1:单例,这个状态机要求是单例的
重点2:具体的状态描述,包括上一个任务数、当前状态、当前已完成任务数等
重点3:数据缓存和重入的问题
三、前后台交互
最初的方案是定义一个restful接口前台进行轮询,后面发现太傻了这样,已经有成熟的协议能够保持长链接——webSocket。其优点在于,后台决定消息是否上报,前台监听即可。
webSocket最经典的项目是聊天室,它可以保证其实时聊天。
四、多线程上载
由于这个操作及其耗时,且可能有多个网元上载,一个一个串行太耗时了。需要多线程的去做。
网友评论