一种批量添加用户到群组的方法及装置的制作方法

文档序号:7622622阅读:198来源:国知局
专利名称:一种批量添加用户到群组的方法及装置的制作方法
技术领域
本发明涉及计算机及通信技术领域,尤其涉及批量添加用户到群组的方法及其装置。
背景技术
随着互联网以及即时通讯工具的广泛应用,用户对工具的基础体验也提出新的要求,用户不仅仅只满足于聊天沟通娱乐,更希望有效利用在工作之中。基于此,在即时通讯工具中也提供了相应的适用于办公的特性,例如腾讯TM软件中实现的在线企业功能,使得用户可以把现实企业中的所有成员在腾讯TM即时通讯软件中建立起一个虚拟的网络组织部门结构,同时也为公司建立起了一个免费的沟通平台。在建立TM在线企业的过程中,用户需要在TM的在线企业中建立不同的组织部门,然后再向在线企业中的特定部门添加成员,这个时候用户更希望能可以针对某个部门实现安全的批量添加功能,这样能够极大便利在线企业的建立过程。
在QQ或者TM,网易POPO等即时通讯软件中,如果管理员希望向群组中某个分组里添加成员的时候,主要实现过程为1、组合成员用户标识以及群组号码到数据包中,发送添加成员到群组中的数据包到服务器。
2、服务器把用户标识对应的成员加入到群组号码对应的群组之中,并发送成功添加成员到群组中协议到用户客户端。
3、用户客户端接受到成员添加成员到群组的服务器返回协议消息后,设定该成员的群组分组,组合该成员标识,群组号码以及群组分组key到数据包,发送添加成员到群组分组的数据包到服务器。
4、服务器解析相关数据包,根据成员标识,群组号码以及群组分组key,加入群组中该成员到特定分组之中,并返回成功设定成员分组的协议命令到用户客户端。
上述方案中所采用的客户端的处理逻辑以及服务器中数据库结构不能满足实现管理员的设定分组进行批量添加成员的过程,由于原有的技术缺点,造成了群组管理员在为群组某个分组中添加成员的过程,必须是先把成员添加到群组中,然后才设定成员到群组分组中。在实际比较大的群组中,管理员查找到某个刚刚加入的成员都会比较困难,这样就严重影响了管理员添加用户到群组内部某个分组的使用过程,使得管理员的操作流程的极为不便;另外,由于必须经过与服务器的两次交互才能实现管理员的批量添加成员到群组分组中,从而也加大了服务器的并发处理压力。
另外,在当前QQ或者TM中等即时通讯软件中,当用户需要添加联系人的时候,首先根据联系人的验证要求,发送请求添加联系人的请求给该联系人,该联系人如果通过验证并发送通过验证协议消息,用户成功解析联系人通过验证消息后,然后用户可以根据该联系人的性质,例如是“同事”还是“同学”等,设置该联系人所在的联系人分组,最后实现添加联系人到用户某个特定分组的目的。这种方案的缺点在于首先,没有确定一定合理的实现批量添加联系人的客户端实现逻辑以及服务器的实现流程,用户一次性只能发送添加一个联系人的请求协议,不能实现批量添加联系人的过程;其次,联系人通过用户的添加请求,并且用户接收到该联系人的验证通过消息后,才能设置该联系人所在的分组关系,而不能在添加联系人之前就设置好其所在的联系人分组,在联系人通过验证后就可以直接设置到合适的分组中,这样就给用户的使用带来不便。

发明内容
本发明提供一种批量添加用户到群组的方法及其装置,以解决现有技术批量添加用户到群组存在操作不便和加大服务器的并发处理压力的问题。
本发明提供以下技术方案一种批量添加用户到群组的方法,包括如下步骤输入多个成员标识和为该多个成员设置的群组分组;客户端将多个成员标识,群组分组标识和对应的群组标识组合成数据包发送到服务器;所述服务器接收到所述数据包解析并获取所述成员标识、群组标识和群组分组标识,将所述多个成员中的部分或全部成员加入到相应群组的分组中。
根据上述方法服务器将成员加入到群组分组后,还向群组所有成员下发包含群组资料的系统消息,该群组资料包含新成员的信息。
服务器解析数据包后,查询未加入成员数据表,将未包含在该数据表中的成员的信息加入数据表内。
若成员已包含在所述数据表内但其群组分组标识与从数据包解析出的群组分组标识不同,则将解析出的群组分组标识替换数据表中该成员的群组分组标识。
服务器将成员加入到群组分组前,按未加入成员数据表中的成员标识向对应的成员发送请求用户加入群组的系统消息和接收成员的响应消息,并将同意加入群组的成员加入到群组的分组中。
用户的响应消息表明用户拒绝加入群组,服务器从未加入成员数据表中删除该成员信息,并向发送数据包的客户端发送成员拒绝加入群组分组的通知消息。
客户端还接受邀请用户加入群组的附加语并将其组合到所述数据包中,服务器在向成员发送请求用户加入群组的系统消息中携带该附加语。
服务器发送请求用户加入群组的系统消息后未收到用户的响应消息,则在获知该用户上线时再次向该用户发送请求用户加入群组的系统消息。
一种终端设备,包括用于处理信息的处理器,该终端设备还包括
用于接受多个成员标识和为该多个成员设置群组分组的设置单元;用于将多个成员标识,群组分组标识和对应的群组标识组合成数据包并发送该数据包的组合单元。
一种服务器,包括用于处理信息的处理器,用于存储成员群组信息的存储单元;该服务器还包括用于从接收的数据包中解析出多个成员标识、群组分组标识和群组标识的解析单元;用于根据解析出的成员标识、群组分组标识和群组标识,将全部或部分成员信息加入到群组分组中的加入单元。
所述服务器还包括用于将解析出的多个成员中未包含在未加入成员数据表中的成员的信息添加到该数据表的第一控制单元;用于根据所述数据表中的成员标识向对应的成员发送邀请加入群组的消息,以及接收用户响应消息的第二控制单元;该第二控制单元根据用户的响应消息确定用户同意加入群组时通知所述加入单元。
一种通信系统,包括用于接受多个成员标识和为该多个成员设置群组分组,以及将多个成员标识,群组分组标识和对应的群组标识组合成数据包并发送该数据包的终端设备;用于从所述终端设备发送来的数据包中解析出多个成员标识、群组分组标识和群组标识,并将全部或部分成员信息加入到群组分组中的服务器。
采用本发明,管理员可以在发送添加成员的请求之前就可以设置好这批成员所在的群组分组,极大简化了管理员添加成员扩大群组的操作流程,其次由于管理员只与服务器进行一次交互就可以实现批量指定群组分组的添加流程,极大的降低了服务器的并发处理的压力,有利于服务器进行更多其他的操作流程。


图1为本发明的系统结构示意图;图2为本发明中批量添加用户到某个部门组织的操作界面;图3为本发明的流程图;图4为本发明终端设备的结构示意图;图5A、图5B为本发明服务器的结构示意图。
具体实施例方式
由于在现有的实现方法中,管理员加入某个用户到群组内分组的方式都是分成两个过程,首先需要把用户批量加入到群组中,成功添加后然后到群组中去查找这些用户,最后才一个个设置这些用户到某个群组内分组中。为了避免由此带来的不足,本发明由管理员一次性添加多个成员,并设置好这些成员所在的群组分组,然后由服务器将部分或全部成员添加到对应的群组分组中。
参阅图1所示,管理员通过客户端一次性添加多个成员,并设置好这些成员所在的群组分组,由客户端组合成数据包发送到IM服务器,IM服务器解析出成员的相关信息,将成员加入对应的群组分组中。
参阅图2所示,管理员通过界面输入多个用户QQ号码,各号码之间用分隔符(图中为分号“;”)隔开,同时为成员设置群组的某个部门或组织。
在被联系人信任的情况下,IM服务器可以将成员信息直接加入到群组数据库的群组分组中。但较佳的方式是,先向根据成员标识向对应的成员发送邀请加入群组的系统消息和接收用户的响应消息,在根据响应消息确定通过用户的验证后再将成员加入到群组,对于未通过验证的成员,则不将其加入到群组分组。在图2所示的界面中,还可输入附加语,服务器在向成员发送请求用户加入群组的系统消息中携带该附加语。
进一步地,为了提供漫游机制,在IM服务器中设置未加入成员数据表,该数据表主要包括行ID,群组ID,用户ID(如QQ号码),群组分组标识(关键字)四个表字段,其中,行ID主要是标志行的关键字,群组ID是管理员希望用户加入的群组标识,用户ID表示成员的标识,而群组分组标识表示希望成员加入群组的某个分组编号。IM服务器从数据包中解析出成员标识、群组标识和群组分组标识后,查询判断成员用户ID是否已经存在于未加入成员数据表;如果不存在,则解析出数据包中的群组分组标识以及群组ID,生成一个数据表新行,把对应数据表中各个字段的信息写入到数据表中进行保存;如果该成员ID已经存在于未加入成员数据表中,解析数据包中的群组分组ID,并判断两者的群组分组ID是否相同,如果不相同,则将数据包中解析出的群组分组ID替换数据表中该用户ID对应的群组分组ID,如果相同,则不再将成员信息加入到数据表中。
在将待加入群组的成员信息加入到数据表中后,根据该表中的成员标识向对应的用户发送邀请加入群组的系统消息。对于未收到响应的用户,则保留该用户的信息,在获知用户上线后重新向其发送邀请加入群组的系统消息和接收其响应消息。这样,当成员在任何地方任何时刻通过管理员邀请加入的验证请求后,这些成员就可以成功设置到原来管理员设置的群组分组中。
参阅图3所示,实现批量添加成员到群组分组的主要步骤如下(其中以用户标识为QQ号码为例)步骤100、管理员在添加成员的窗口输入框中输入希望加入到群组中成员的QQ号码,同时设置希望这些成员加入的群组的某个部门或者组织。
步骤110、利用输入分割符在输入框中提取出这批成员的QQ号码,并建立成员QQ号码的数组列表,并且根据选择的群组部门或者组织名称获取到该部门与组织在群组中的分组的关键字Key,管理员输入邀请用户请求加入的附加语,能够让这批收到的请求信息中通过这些附加语来决定是否验证通过请求加入。然后,组合成员号码数组列表,群组号码,群组分组Key,附言等5个部分字段到数据包中,并按照客户端与服务器约定的批量添加成员到群组分组的协议格式进行组包和加密处理后发送出去。通过种数据结构组包对服务器的压力比较小,当然也可以根据成员号码分别组包,甚至分组进行组包。
步骤120、群组服务器在某个约定套接字上等待数据包,对数据包进行按照约定的方式进行解密与解析操作,并判断数据包是否是有效可信的数据包,如果不满足有效以及可信要求则直接丢弃该数据包,否则继续步骤130。
步骤130、对数据包进行解密和解析,提取数据包中的成员QQ号码数组列表。
步骤140、遍历该号码数组列表中各成员QQ号码,查询服务器中未加入成员数据表断成员QQ号码是否已经存在于未加入成员数据表中,根据判断情况进行下述处理若QQ号码存在于数据表中,并且数据表中该QQ号码对应的分组Key与数据包的分组Key相同,则不再将该成员信息加入数据表中;若QQ号码存在于数据表中,并且数据表中该QQ号码对应的分组Key与数据包的分组Key不相同,则将数据表中该QQ号码对应的群组分组Key修改为数据包中解析出的群组分组Key;若QQ号码存在于数据表中,则根据解析出分组Key以及群组号码ID等,生成一个数据表新行,把对应数据表中各个字段的信息写入到数据表中进行保存。
步骤150、遍历未加入成员数据表中的所有数据行,提取每个成员的QQ号码,发送请求用户加入群组的系统消息给用户,群组服务器在约定套接字上等待成员客户端返回的验证消息。
步骤160、服务器根据成员客户端返回的协议数据包判断该成员是否通过了管理员请求其加入群组的验证信息,并进行如下处理若是,服务器根据该成员QQ号码获取数据表中该用户号码对应的群组分组Key,按照群组分组Key发送命令到群组数据库把用户加入到群组中的某个组织或者部门中;若否,则从未加入成员数据表中删除该成员QQ号码对应的数据行,同时群组服务器发送系统消息给管理员告诉用户某个成员拒绝加入群组。
步骤170、服务器在群组数据库中成功添加某个成员到群组内某个分组后,服务器下发相应的系统消息给所有成员,包括管理员,并把新成员的号码以及分组Key也组合到协议数据包中;同时,从数据表中删除该成员QQ号码对应的行。
步骤180、群组中的其他成员获取新成员的号码以及分组Key来更新本地储存的群组资料,同时也更新客户端的面板表现。这样,所有成员可以得到新成员以及该成员所在群组内分组,无论在任何地方任何时刻登陆都可以查看到这种群组的变化。而对于新加入群组的成员,群组服务器会下发群组相关的所有资料,包括群组资料,群组分组,以及群组成员列表等等,可以让新加入成员也能够快速查看到群组的组织结构关系,因而极大了方便了管理员扩大群组的操作流程。
参阅图4所示,本发明的终端设备50除了包括处理器、存储器等完成计算机基本功能的部件外,还包括设置单元500和组合单元501,设置单元500和组合单元501与处理器和存储器具有逻辑上的连接关系。其中设置单元500,用于提供操作界面,接受从操作界面输入的多个成员标识和为该多个成员设置的群组分组。
组合单元501,与设置单元500具有逻辑上的连接关系,用于将多个成员标识,群组分组标识和对应的群组标识组合成数据包并发送该数据包并向外发送数据包。
参阅图5A所示,本发明的服务器60除了包括处理器、存储器等完成计算机基本功能的部件外,还包括解析单元600和加入单元601,该两单元与处理器和存储器在逻辑上具体连接关系;所述存储器中保存有群组及群组分组信息。其中解析单元600,用于从接收的数据包中解析出多个成员标识、群组分组标识和群组标识。
加入单元601,与解析单元在逻辑上具有连接关系,用于根据解析出的成员标识、群组分组标识和群组标识,将全部或部分成员信息加入到群组分组中。
参阅图5B所示,进一步地,服务器60还包括第一控制单元602和第二控制单元603,该两单元与与处理器和存储器在逻辑上具体连接关系;其中第一控制单元602,与处理器之间具有逻辑上的连接关系,用于将解析出的多个成员中未包含在未加入成员数据表中的成员的信息添加到该数据表;第二控制单元603,与处理器和加入单元601之间具有逻辑上的连接关系,用于根据所述数据表中的成员标识向对应的成员发送邀请加入群组的消息,以及接收用户响应消息。该第二控制单元603根据用户的响应消息确定用户同意加入群组时通知所述加入单元601;该第二控制单元603根据用户的响应消息确定用户不同意加入群组时,从数据表中删除该成员的信息。
采用本发明,用户(管理员)可以在操作界面上一次性添加多个成员(如用户QQ号码),然后显式为这些用户指定某个部门组织,这样系统就可以自动帮管理员实现原来分开的两个过程,而且无论管理员或者用户在任何地方任何时刻登录IM软件,都可以实现针对成员正确的群组内的部门与组织添加过程,从而极大地便利了管理员的操作流程,而且也减轻了服务器的并发处理压力。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本对发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种批量添加用户到群组的方法,其特征在于,包括如下步骤输入多个成员标识和为该多个成员设置的群组分组;客户端将多个成员标识,群组分组标识和对应的群组标识组合成数据包发送到服务器;所述服务器接收到所述数据包解析并获取所述成员标识、群组标识和群组分组标识,将所述多个成员中的部分或全部成员加入到相应群组的分组中。
2.如权利要求1所述的方法,其特征在于,服务器将成员加入到群组分组后,还向群组中所有成员下发包含群组资料的系统消息,该群组资料包含新成员的信息。
3.如权利要求1或2所述的方法,其特征在于,服务器解析数据包后,查询未加入成员数据表,将解析出的成员中未包含在该数据表中的成员的信息加入数据表中。
4.如权利要求3所述的方法,其特征在于,若成员已包含在所述数据表内但其群组分组标识与从数据包解析出的群组分组标识不同,则将解析出的群组分组标识替换数据表中该成员的群组分组标识。
5.如权利要求3所述的方法,其特征在于,服务器将成员加入到群组分组前,按未加入成员数据表中的成员标识向对应的成员发送请求用户加入群组的系统消息和接收成员的响应消息,并将同意加入群组的成员加入到群组的分组中和从未加入成员数据表删除该成员的信息。
6.如权利要求5所述的方法,其特征在于,用户的响应消息表明用户拒绝加入群组时,服务器从未加入成员数据表中删除该成员信息,并向发送数据包的客户端发送成员拒绝加入群组分组的通知消息。
7.如权利要求5所述的方法,其特征在于,客户端还接受邀请用户加入群组的附加语并将其组合到所述数据包中,服务器在向成员发送请求用户加入群组的系统消息中携带该附加语。
8.如权利要求5所述的方法,其特征在于,服务器发送请求用户加入群组的系统消息后未收到用户的响应消息,则在获知该用户上线时再次向该用户发送请求用户加入群组的系统消息。
9.一种终端设备,包括用于处理信息的处理器,其特征在于,还包括用于接受多个成员标识和为该多个成员设置群组分组的设置单元;用于将多个成员标识,群组分组标识和对应的群组标识组合成数据包并发送该数据包的组合单元。
10.一种服务器,包括用于处理信息的处理器,用于存储成员群组信息的存储单元;其特征在于,还包括用于从接收的数据包中解析出多个成员标识、群组分组标识和群组标识的解析单元;用于根据解析出的成员标识、群组分组标识和群组标识,将全部或部分成员信息加入到群组分组中的加入单元。
11.如权利要求10所述的服务器,其特征在于,还包括用于将解析出的多个成员中未包含在未加入成员数据表中的成员的信息添加到该数据表的第一控制单元;用于根据所述数据表中的成员标识向对应的成员发送邀请加入群组的消息,以及接收用户响应消息的第二控制单元;该第二控制单元根据用户的响应消息确定用户同意加入群组时通知所述加入单元。
12.如权利要求11所述的服务器,其特征在于,所述第二控制单元根据用户的响应消息确定用户不同意加入群组时,从数据表中删除该成员的信息。
13.一种通信系统,其特征在于,包括用于接受多个成员标识和为该多个成员设置的群组分组,以及将多个成员标识,群组分组标识和对应的群组标识组合成数据包并发送该数据包的终端设备;用于从所述终端设备发送来的数据包中解析出多个成员标识、群组分组标识和群组标识,并将全部或部分成员信息加入到群组分组中的服务器。
14.如权利要求13所述的通信系统,其特征在于,所述终端设备包括用于接受多个成员标识和为该多个成员设置群组分组的设置单元;用于将多个成员标识,群组分组标识和对应的群组标识组合成数据包并发送该数据包的组合单元。
15.如权利要求13所述的通信系统,其特征在于,所述服务器包括用于从接收的数据包中解析出多个成员标识、群组分组标识和群组标识的解析单元;用于根据解析出的成员标识、群组分组标识和群组标识,将全部或部分成员信息加入到群组分组中的加入单元。
16.如权利要求15所述的通信系统,其特征在于,所述服务器还包括用于将解析出的多个成员中未包含在未加入成员数据表中的成员的信息添加到该数据表的第一控制单元;用于根据所述数据表中的成员标识向对应的成员发送邀请加入群组的消息,以及接收用户响应消息的第二控制单元;该第二控制单元根据用户的响应消息确定用户同意加入群组时通知所述加入单元。
17.如权利要求16所述的服务器,其特征在于,所述第二控制单元根据用户的响应消息确定用户不同意加入群组时,从数据表中删除该成员的信息。
全文摘要
本发明公开了一种批量添加用户到群组的方法,该方法由客户端接受输入的多个成员标识和为该多个成员设置的群组分组;所述客户端将多个成员标识,群组分组标识和对应的群组标识组合成数据包发送到服务器;所述服务器接收到所述数据包解析并获取所述成员标识、群组标识和群组分组标识,将所述多个成员中的部分或全部成员加入到相应群组的分组中。本发明还同时公开了一种终端设备及通信系统。
文档编号H04L12/54GK1925416SQ200510093600
公开日2007年3月7日 申请日期2005年8月30日 优先权日2005年8月30日
发明者李斌 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1