一种企业管理在线即时通讯系统和方法与流程

文档序号:15979421发布日期:2018-11-17 00:08阅读:158来源:国知局

本发明涉及即时通讯领域。更具体的,涉及一种嵌入企业管理系统的web在线即时通讯系统和方法。

背景技术

在企业管理系统中,总会有系统面向全体用户推送系统公告消息,如系统升级通告等;面向具体个人推送的系统消息,如个人信息提醒等;还有具体用户与用户之间的交流消息,如站内信等。

现有的企业管理系统中的通讯系统主要以java为编程平台,通过udp或者tcp协议进行通讯,具体设计如下:

两种客户端,一个是独立与系统的客户端,该类客户端架构为c/s,用户需要自己安装客户端,客户端与服务端之间通过udp协议进行通讯。

另外一种b/s,属于应用系统的一部分,通过类似邮件的方式进行,消息按照不同的类型(分成系统公告和私信),用户使用自己账号登录以后,在消息中心会信息提示,用来标注是已读信息还是未读信息。此类系统开发过程中,具体步骤如下:

step1、设计数据库:设计信息中心对应的基础表信息。

step2、消息开发:消息模块包括消息发送模块,消息接收模块两个部分,消息发送模块包括已发消息列表、发送信息编辑页等;消息接收模块包括已接收消息列表,消息详情查看。

step3、未读消息提醒:当有消息发送以后,目标接收用户需要有未读消息提醒,一般是通过状态字段来进行标识。

现有的企业管理系统都是以类似邮件的方式进行展示,即时交互性差,用户体验不好,具体问题如下:

问题1:仅是基于邮件列表模式进行操作;

问题2:不能在线交流发送表情、文件等信息;

问题3:不能分组交流;

问题4:用户头像、表情、字体等无法进行设置;

问题5:非模块化,过于沉重,与某一应用系统绑定死,无法脱离单一应用系统进行应用;

问题6:不能与短信、邮件、微信等客户端进行关联。

因此,需要提供一种企业管理在线即时通讯系统和方法。



技术实现要素:

本发明的目的在于提供一种企业管理在线即时通讯系统和方法。

为达到上述目的,本发明采用下述技术方案:

一种企业管理在线即时通讯系统,该系统包括系统客户端、通讯服务器、和至少一个用户客户端,

系统客户端,用于通过第一api接口将来自企业管理系统的系统消息发送至通讯服务器;

通讯服务器包括初始化单元和通讯单元,

初始化单元,用于通过第二api接口从企业管理系统下载企业组织机构信息,并根据企业组织机构信息初始化通讯服务器的基本信息和各用户客户端所属用户的用户信息,

通讯单元,用于基于websocket或flash协议接收用户客户端的消息并将该消息发送至目标用户客户端,和将来自系统客户端的企业管理系统消息发送至目标用户客户端。

优选地,

系统客户端还用于通过第三api接口将来自外部其他系统的消息发送至通讯服务器,

通讯单元还用于基于websocket或flash协议将来自系统客户端的外部其他系统的消息发送至目标用户客户端。

优选地,通讯服务器还包括用户设置单元,用于根据用户客户端发送的用户设置请求修改用户客户端所属用户的用户组和用户客户端的操作属性。

优选地,用户客户端由其所属的用户通过终端浏览器登录web在线即时通讯系统即可建立,用户登录时其用户客户端基于websocket或flash协议与通讯单元建立连接。

优选地,通讯单元基于websocket或flash协议将消息发送至目标客户端时

通讯单元判断目标客户端所属的用户是否在线:

若是则基于websocket或flash协议将消息发送至目标客户端;

若否则将消息保存至通讯单元的未读消息文件中,当目标客户端所属的用户登录web在线即时通讯系统时,通讯单元判断该用户设置的接收未读消息方式,若为消息提醒方式则在该用户登录的终端浏览器显示消息并等待用户通过用户客户端下载消息,若为自动弹出方式则将消息发送至该用户的用户客户端。

一种如上文所述企业管理在线即时通讯系统的通讯方法,该方法包括如下步骤:

利用通讯服务器的初始化单元从企业管理系统下载企业组织机构信息,并根据企业组织机构信息初始化通讯服务器的基本信息和各用户客户端所属用户的用户信息;

利用系统客户端将来自企业管理系统的系统消息发送至通讯服务器的通讯单元;

利用通讯服务器的通讯单元基于websocket或flash协议接收用户客户端发送的消息并将该消息发送至目标用户客户端,并将来自系统客户端的企业管理系统消息发送至目标用户客户端。

优选地,该方法还包括如下步骤:

利用系统客户端将来自外部其他系统的消息发送至通讯服务器的通讯单元,

利用通讯服务器的通讯单元基于websocket或flash协议将来自系统客户端的外部其他系统的消息发送至目标用户客户端。

优选地,该方法还包括如下步骤:

用户利用其用户客户端向通讯服务器的用户设置单元发送用户设置请求,修改用户客户端所属用户的用户组和用户客户端的操作属性。

优选地,该方法还包括如下步骤:

用户通过终端浏览器登录web在线即时通讯系统建立其用户客户端,用户登录时其用户客户端基于websocket或flash协议与通讯单元建立连接。

优选地,利用通讯服务器的通讯单元基于websocket或flash协议将消息发送至目标用户客户端进一步包括如下子步骤:

利用通讯服务器的通讯单元判断目标客户端所属的用户是否在线:

若是则基于websocket或flash协议将消息发送至目标客户端;

若否则将消息保存至通讯单元的未读消息文件中,当目标客户端所属的用户登录web在线即时通讯系统时,利用通讯服务器的通讯单元判断该用户设置的接收未读消息方式,若为消息提醒方式则在该用户登录的终端浏览器显示消息并等待用户通过用户客户端下载消息,若为自动弹出方式则将消息发送至该用户的用户客户端。

本发明的有益效果如下:

(1)用户使用本发明所述通讯系统无需安装具体客户端组件,通过浏览器登录嵌入企业管理系统的web在线即时通讯系统即可使用,节省系统资源,保证系统数据安全;

(2)用户使用本发明所述通讯系统可以在线发送表情、文件、图片,强大功能,有利于提高办公效率;

(3)用户使用本发明所述通讯系统可以自定义分组,方便、快捷、灵活;

(4)用户使用本发明所述通讯系统可以自定义头像、表情、字体,功能丰富,实现个性化设置,用户体验度好;

(5)本发明所述通讯系统采用模块化设计,将相关代码拷贝部署在服务器中即可,可以脱离指定企业管理系统,组件式可插拔,部署方式灵活;

(6)本发明所述通讯系统对外提供javaapi接口,其他系统如门户系统可以调用嵌入企业管理系统的web在线即时通讯系统进行信息发布。本发明所述通讯系统也可以调用第三方api接口,发布信息到短信、邮件、微信公共账号,本发明所述通讯系统是一个独立的消息处理中心,将所有消息信息进行集中管理发布,提高工作效率。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明。

图1示出企业管理在线即时通讯系统示意图。

图2示出企业管理在线即时通讯系统配置文件示意图。

图3示出企业管理在线即时通讯系统启动初始化示意图。

图4示出登录企业管理在线即时通讯系统示意图。

图5示出用户客户端发送消息至通讯服务器示意图。

图6示出通讯单元处理信息并推送给目标客户端示意图。

图7示出用户设置信息示意图。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

图1所示为本实施例提供的企业管理在线即时通讯系统,如图2所示,本系统配置文件采用java标准的properties文件形式进行保存,然后由系统环境配置单元将配置信息加载到系统的容器中,该系统包括系统客户端,通讯服务器、和至少一个用户客户端,

系统客户端,用于通过第一api接口——获取系统消息api接口,将来自企业管理系统的系统消息,和通过第三api接口——获取外部消息api接口,将来自外部其他系统的消息发送至通讯服务器;

通讯服务器可以嵌入部署到企业管理系统的应用服务器中,也可以独立部署在单独的应用服务器中。通讯服务器包括初始化单元、通讯单元和用户设置单元,

初始化单元,用于通过第二api接口——获取组织机构信息api接口,从企业管理系统下载企业组织机构信息,并根据企业组织机构信息初始化通讯服务器的基本信息和各用户客户端所属的用户信息:

初始化单元通过第二api接口从企业管理系统下载企业组织机构信息的具体过程为:

初始化单元通过第二api接口与企业管理系统建立连接,初始化单元先向企业管理系统发送http请求,企业管理系统收到请求后再向初始化单元返回约定好格式的组织机构信息。

如图3所示,通讯服务器的基本信息主要包括人员信息,部门信息、人员信息和人员头像信息,初始化单元以集成管理的方式获得这些信息;

用户客户端所属用户的用户信息包括用户客户端信息和用户组信息,用户客户端信息的初始化要看得到的人员信息,一个人员对应一个用户客户端实体,而用户组信息在服务器启动时就将所有的用户组加载到缓存中,用户的信息从用户组的配置文件中读取,用户组配置文件的存放目录和命名规则为:config/group/him_groupid.json。

如图4所示,用户客户端由其所属的用户通过终端浏览器登录web在线即时通讯系统即可建立,用户登录时其用户客户端基于websocket或flash协议与通讯单元建立连接:

用户通过终端浏览器登录宿主系统,即用户通过终端浏览器登录嵌入企业管理系统的web在线即时通讯系统所嵌入的企业管理系统时就会自动的登录web在线即时通讯系统,所以与通讯单元的连接不需要用户主动请求,用户客户端只需要接收登录后注册成功后返回的数据,这些数据的内容包括:用户设置信息,组织树数据,用户组数据,用户数据,用户的未读消息等,所以用户在用户客户端不能随意添加好友或其组织树,组织树即用户所在部门,这些信息是由企业组织机构信息所确定的,但用户可在用户客户端设置其用户组。

如图5所示,通讯单元,用于基于websocket或flash协议接收用户客户端的消息并该消息发送至目标用户客户端、将来自系统客户端的企业管理系统消息基于websocket或flash协议发送至目标用户客户端,和将来自系统客户端的外部其他系统的消息基于websocket或flash协议发送至目标用户客户端:

通讯单元基于websocket或flash协议接收用户客户端的消息并将该消息发送至目标用户客户端时,用户客户端根据在登录系统时选择的传输协议进行通讯,如果用户客户端支持websocket协议则优先使用websocket协议进行消息接收与推送,如果客户端不支持websocket协议则使用flash协议进行消息接收与推送。

当通讯单元接收到用户客户端或系统客户端的消息之后,处理这些消息,然后再将这些消息转发至目标客户端。

根据接收到的消息内容,通讯单元计算出这条消息将要转发给哪些用户。然后再根据用户的在线状态,来处理用户的未读消息。如果用户离线(判断离线的条件,在线状态为离线或ioclient为null),则将此条消息保存在用户的未读消息文件中,保存目录和命名规则为:config/user/userid/unread.json。

用户设置单元,用于根据用户客户端发送的用户设置请求修改用户客户端所属用户的用户组和用户客户端的操作属性,

其中用户客户端的操作属性包括:

接收未读消息方式,在用户的设置里可以设置用户设置的接收未读消息方式,当用户登录时,未读消息就全部读取出来,根据用户的设置,如果消息是提醒的方式显示,则只会显示未读消息的条数,不会马上清空该用户的未读消息,如果消息的是自动弹出的方式显示,则在将未读消息发给该用户的同时清空该用户的未读消息文件;

每个用户可以修改自己的用户客户端的操作属性还包括用户设置,在设置界面,用户可以修改显示消息的样式,字体,颜色,默认登录状态,气泡样式。用户设置时要将这些信息发至用户设置单元,用户设置单元接收到用户客户端的用户设置请求时,根据数据里的用户id和配置文件目录规则找到用户设置的文件,修改内容就完成操作。

如图6所示,通讯单元基于websocket或flash协议将来自用户客户端或系统客户端的消息发送至目标客户端时

通讯单元判断目标客户端所属的用户是否在线:

若是则基于websocket或flash协议将消息发送至目标客户端;

若否则将消息保存至通讯单元的未读消息文件中,当目标客户端所属的用户登录web在线即时通讯系统时,通讯单元判断该用户设置的接收未读消息方式,若为消息提醒方式则在该用户登录的终端浏览器显示消息并等待用户通过用户客户端下载消息,若为自动弹出方式则将消息发送至该用户的用户客户端。

本实施例提供的嵌入企业管理系统的web在线即时方法包括如下步骤:

利用通讯服务器的初始化单元从企业管理系统下载企业组织机构信息,并根据所述企业组织机构信息初始化通讯服务器的基本信息和各用户客户端所属用户的用户信息;

用户通过终端浏览器登录web在线即时通讯系统建立其用户客户端,用户登录时其用户客户端基于websocket或flash协议与通讯单元建立连接;

利用系统客户端将来自企业管理系统的系统消息和/或来自外部其他系统的消息发送至通讯服务器的通讯单元;

利用通讯服务器的通讯单元基于websocket或flash协议接收用户客户端发送的消息并将该消息发送至目标用户客户端,并基于websocket或flash协议将来自系统客户端的企业管理系统消息和/或外部其他系统的消息发送至目标用户客户端。

如图7所示,用户利用其用户客户端向通讯服务器的用户设置单元发送用户设置请求,修改用户客户端所属用户的用户组和用户客户端的操作属性。

其中,

初始化单元从企业管理系统下载企业组织机构信息的具体过程为:

初始化单元与企业管理系统建立连接,初始化单元先向企业管理系统发送http请求,企业管理系统收到请求后再向初始化单元返回约定好格式的组织机构信息。

通讯服务器的基本信息主要包括人员信息,部门信息、人员信息和人员头像信息,初始化单元以集成管理的方式获得这些信息;

用户客户端所属的用户信息包括用户客户端信息和用户组信息,用户客户端信息的初始化要看得到的人员信息,一个人员(用户)对应一个用户客户端实体,而用户组信息在服务器启动时就将所有的用户组加载到缓存中,用户的信息从用户组的配置文件中读取,用户组配置文件的存放目录和命名规则为:config/group/him_groupid.json。

用户通过终端浏览器登录宿主系统,即用户通过终端浏览器登录嵌入企业管理系统的web在线即时通讯系统所嵌入的企业管理系统时就会自动的登录web在线即时通讯系统,所以与通讯单元的连接不需要用户主动请求,用户客户端只需要接收登录后注册成功后返回的数据,这些数据的内容包括:用户设置信息,组织树数据,用户组数据,用户数据,用户的未读消息等,所以用户在用户客户端不能随意添加好友或其组织树,组织树即用户所在部门,这些信息是由企业组织机构信息所确定的,但用户可在用户客户端设置其用户组。

利用通讯单元基于websocket或flash协议接收用户客户端的消息并将该消息发送至目标用户客户端时,用户客户端根据在登录系统时选择的传输协议进行通讯,如果用户客户端支持websocket协议优先则使用websocket协议进行消息接收与推送,如果客户端不支持websocket协议则使用flash协议进行消息接收与推送。

当利用通讯单元接收到用户客户端或系统客户端的消息之后,处理这些消息,然后再将这些消息转发至目标客户端。

根据接收到的消息内容,利用通讯单元计算出这条消息将要转发给哪些用户。然后再根据用户的在线状态,来处理用户的未读消息。如果用户离线(判断离线的条件,在线状态为离线或ioclient为null),则将此条消息保存在用户的未读消息文件中,保存目录和命名规则为:config/user/userid/unread.json。

用户客户端的操作属性包括:

接收未读消息方式,在用户的设置里可以设置用户设置的接收未读消息方式,当用户登录时,未读消息就全部读取出来,根据用户的设置,如果消息是提醒的方式显示,则只会显示未读消息的条数,不会马上清空该用户的未读消息,如果消息的是自动弹出的方式显示,则在将未读消息发给该用户的同时清空该用户的未读消息文件;

每个用户可以修改自己的用户客户端的操作属性还包括用户设置,在设置界面,用户可以修改显示消息的样式,字体,颜色,默认登录状态,气泡样式。用户设置时要将这些信息发至用户设置单元,用户设置单元接收到用户客户端的用户设置请求时,根据数据里的用户id和配置文件目录规则找到用户设置的文件,修改内容就完成操作。

利用通讯服务器的通讯单元基于websocket或flash协议将来自用户客户端或系统客户端的消息发送至目标用户客户端进一步包括如下子步骤:

利用通讯服务器的通讯单元判断目标客户端所属的用户是否在线:

若是则基于websocket或flash协议将消息发送至目标客户端;

若否则将消息保存至通讯单元的未读消息文件中,当目标客户端所属的用户登录web在线即时通讯系统时,利用通讯服务器的通讯单元判断该用户设置的接收未读消息方式,若为消息提醒方式则在该用户登录的终端浏览器显示消息并等待用户通过用户客户端下载消息,若为自动弹出方式则将消息直接发送至该用户的用户客户端。

下面通过嵌入具体的企业管理系统对本实施例提供的嵌入企业管理系统的web在线即时通讯系统作进一步的说明:

中天合创数字化矿山mes系统中集成了本实施例提供的通讯系统,即本实施例提供的通讯系统被当做一个模块直接嵌入到该mes系统中,和mes系统中其他应用模块一样部署在同一台服务器上。

部署的具体过程如下:

步骤1、web在线即时通讯系统当做一个模块部署在tomcat/webapp/下;

步骤2、通过修改配置文件properties文件:him.integration.class=org.him.integration.impl.hi.jhihimintergration实现集成mes系统组织机构(人员和部门)的集成,修改him.integration.ip=172.16.7.125实现集成组织机构(人员和部门)的服务器地址集成;

步骤3、实现外部消息接口,当mes系统有系统消息(如待办消息等)时将系统消息推送到web在线即时通信系统中;

步骤4、实现第三方消息接口,等同步骤3中所有信息存放在统一信息中心中,将消息推送给web在线即时通讯系统。

中天合创数字化矿山包括调度管理、生产管理、安全管理、机电设备管理、地测管理、煤质管理、防治水管理、一通三防管理涵盖了煤矿采、掘、机、运、通等各专业全部内容信息,mes系统对上连接中煤集团erp系统,对下连接数字化矿井系统,是经营管理层和控制层之间的桥梁。该系统中集成了web在线即时通讯系统,通讯的内容主要以下几个方面:

第一:系统公告,即系统管理员对所有用户推送的系统消息,如系统升级等消息。

第二:系统消息,即针对某一个或某一类具体用户推送的消息,如审批待办事项等消息。

第三:个人消息,即用户与用户之间的沟通,包括即时通讯内容和离线内容,用户之间可以发送文件、图片等信息。

通过与web在线即时通讯系统的集成,将web在线即时通讯系统作为一个子模块嵌入到宿主平台(即中天合创数字化矿山mes系统)中,作为宿主平台的消息中心,用来处理各类消息,可以对内连接其他模块推送的信息,如待办审批等,还可以对外提供短信、邮件、微信公众号等媒体的信息发布功能。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1