即时通讯工具中好友的添加系统及添加方法

文档序号:7755193阅读:258来源:国知局
专利名称:即时通讯工具中好友的添加系统及添加方法
即时通讯工具中好友的添加系统及添加方法
技术领域
本发明涉及即时通讯技术领域,特别是涉及一种即时通讯工具中好友的添加系统及添加方法。
背景技术
网络即时通讯工具发展到今天,已经成为用户必不可少的软件工具,不但在平时的休闲娱乐中,而且在用户的工作中得到广泛的使用。日益增加的用户群数量和层出不穷的用户需求,对IM软件的可复用性、可维护性和可扩展性等方面提出了更高的要求。传统的网络即时通讯工具中添加好友的组件是将被添加方个人资料的展示、被添加方设置的各种验证方式的界面交互和逻辑处理、以及其他一些杂项信息,都耦合在一个 C++类中实现。这种实现方案破环了软件设计的单一职责原则,降低了组件的可维护性和可扩展性,增加了系统的维护成本。

发明内容为了解决传统的网络即时通讯工具中添加好友的组件可维护性和可扩展性差,维护成本高的问题,有必要提供一种可维护性和可扩展性高,维护成本低的即时通讯工具中好友的添加系统。一种即时通讯工具中好友的添加系统,包括备选验证模块和公用组件;所述公用组件从服务器获取验证方式,并根据所述验证方式调用备选验证模块中对应的验证单元, 组成验证组件;所述验证组件根据所述验证方式获取对应的验证信息并向所述服务器发送添加请求,还用于生成提示信息并传送给所述公用组件;所述公用组件还用于输出好友添加界面,所述好友添加界面包括所述提示信息。优选的,所述验证组件包括验证信息交互单元、请求单元和提示信息单元;所述验证信息交互单元根据所述验证方式输出验证信息交互界面,并获取验证信息;所述请求单元接收所述验证信息,并根据所述验证信息向所述服务器发送添加请求;所述提示信息单元用于生成提示信息并传送给所述公用组件,还用于接收所述服务器返回的请求结果,并发送给所述公用组件,所述提示信息包括所述请求结果。优选的,所述验证方式包括身份认证方式、回答单问题方式以及回答多问题方式, 所述验证组件还包括问题获取单元;所述问题获取单元在验证方式为回答单问题方式或回答多问题方式时,用于获取验证问题。优选的,所述问题获取单元在验证方式为回答单问题方式时,还用于获取验证问题的答案,所述问题获取单元在验证方式为回答多问题方式,还用于获取验证问题的答案和验证问题的数量;所述验证组件还包括数据检查单元,所述数据检查单元用于根据所述验证问题的答案判断所述验证信息是否正确,若所述验证信息正确,则所述请求单元向所述服务器发送添加请求。优选的,所述验证组件还包括关闭单元,当所述关闭单元检测到请求单元向服务器发送添加请求时,所述公用组件关闭所述好友添加界面。优选的,所述验证组件还包括验证方式切换单元;所述问题获取单元获取验证问题失败时,所述验证方式切换单元将验证方式切换为身份认证方式,并通知所述验证信息交互单元。优选的,所述公用组件还用于获取被添加方信息,所述好友添加界面包括所述被添加方信息。还有必要提供一种可维护性和可扩展性高,维护成本低的即时通讯工具中好友的添加方法。一种即时通讯工具中好友的添加方法,包括下列步骤获取验证方式;根据所述验证方式调用对应的验证单元;通过所述验证单元获取验证信息;根据所述验证信息向服务器发送添加请求。优选的,所述方法还包括显示提示信息的步骤,所述提示信息包括所述服务器返回的请求结果。优选的,所述验证方式包括身份认证方式、回答单问题方式以及回答多问题方式, 若所述验证方式是回答单问题方式或回答多问题方式,则所述方法还包括获取验证问题的步骤。优选的,所述方法还包括获取验证问题的答案的步骤,以及根据所述验证问题的答案判断所述验证信息是否正确的步骤。优选的,所述获取验证问题的步骤中,若获取验证问题失败,则所述验证组件将验证方式切换为身份认证方式。优选的,所述方法还包括获取被添加方信息的步骤,以及显示所述被添加方信息的步骤。上述即时通讯工具中好友的添加系统,将不随验证方式变化的单元分离出来作为公用组件,将随验证方式变化的单元作为单元备选验证单元,系统工作时根据验证方式调用与该方式对应的单元组成验证组件,执行验证流程。因此在要增加新的验证方式或对现有的验证方式做修改时,仅需要添加相应的备选单元,或对现有的备选单元做修改,而不用对整个系统做修改,增强了系统的可扩展性和可维护性,且降低了维护成本;并且由于需要改动的部分较少,因此能够快速响应用户对新的验证方式的需求,增加了用户的满意度和粘性。

图1为本发明的即时通讯工具中好友的添加系统的结构示意图;图2是验证方式为身份认证方式的实施例中验证组件的结构示意图;图3是验证方式为回答单/多问题方式的实施例中验证组件的结构示意图;图4是另一个实施例中验证组件的结构示意图;图5是本发明的即时通讯工具中好友的添加方法的流程图;图6是一个实施例中即时通讯工具中好友的添加方法的流程图;图7是另一个实施例中即时通讯工具中好友的添加方法的流程图。
具体实施方式本发明的即时通讯工具中好友的添加系统一方面通过分离变化点,提高其他部分的稳定性和可维护性,缩小变化点的影响范围;另一方面,通过抽取公用的流程和逻辑,减小新增一种验证方式的实现成本和开销,增加系统的可扩展性。具体是将各种验证方式公用的添加好友的处理逻辑提取到一个基类中,并将随验证方式变化的处理逻辑分离出来, 不同验证方式特有的处理逻辑独立成为不同的子类。图1是本发明的即时通讯工具中好友的添加系统的结构示意图,包括备选验证模块10和公用组件20。公用组件20从服务器获取验证方式,并根据验证方式调用备选验证模块10中对应的验证单元,组成验证组件。验证组件用于根据验证方式获取对应的验证信息并向服务器发送添加请求,以申请将被添加方加为好友,还用于生成提示信息并传送给公用组件20。公用组件20还用于输出好友添加界面,好友添加界面包括提示信息。在其他实施例中,公用组件20还用于获取被添加方信息,包括用户标识号、头像、昵称等一种或几种信息。公用组件20输出的好友添加界面亦包括被添加方信息。在添加好友的流程中输出并显示被添加方信息,显得更加直观,改善了系统的易用性。备选验证模块10包括了对应各种不同验证方式的验证单元(即子类),并事先在公用组件20 (即基类)中设定好了在不同验证方式下需要调用的验证单元,系统在工作时, 公用组件20就会根据获取的验证方式调用备选验证模块10中相应的验证单元,组成此验证方式下的验证组件,执行验证流程。因此,在需要增加新的验证方式或对现有的验证方式做修改时,仅需要在备选验证模块10中添加相应的验证单元,或对已有的验证单元做修改,而不用对整个系统做修改,增强了系统的可扩展性和可维护性,且降低了维护成本;并且由于需要改动的部分较少,因此能够快速响应用户对新的验证方式的需求,增加了用户的满意度和粘性。验证方式包括身份认证方式、回答单问题方式、回答多问题方式等。下面以验证方式是身份认证方式时为例,对验证组件的构成做一个说明。图2是验证方式为身份认证方式的实施例中验证组件的结构示意图,此时验证组件11包括验证信息交互单元120、请求单元130和提示信息单元140。验证信息交互单元120根据验证方式输出验证信息交互界面,提示用户输入验证信息,从而获取验证信息。请求单元130与验证信息交互单元120相连,接收验证信息并根据验证信息向服务器发送添加请求。在该验证方式下,上述验证信息是身份认证信息,请求单元130会直接将身份认证信息发送给服务器,由服务器将该身份认证信息转发给被添加方。提示信息单元140用于生成提示信息并传送给公用组件20,还用于接收服务器返回的请求结果,并发送给所述公用组件20,由公用组件20输出。提示信息包括请求结果,还可以包括错误提示、开通会员提示等。图3是验证方式为回答单问题方式或回答多问题方式的实施例中验证组件的结构示意图,在验证方式为回答单/多问题方式时,验证组件12包括验证信息交互单元120、 请求单元130、提示信息单元140、问题获取单元150以及数据检查单元160。请求单元130以及提示信息单元140的功能与图2所示实施例相同。问题获取单元150与验证信息交互单元120相连,若验证方式为回答单问题方式,单元150用于从服务器获取验证问题和验证问题的答案;若为回答多问题方式, 则除了验证问题和答案外还可以获取验证问题的数量。验证信息交互单元120的功能亦与图2所示实施例相同,但此时的验证信息交互界面显示的是验证问题,因此获取的验证信息是用户根据验证问题输入的答案。数据检查单元160根据验证问题的答案判断验证信息(即用户输入的答案)是否正确;若验证信息正确,则通知请求单元130向服务器发送添加请求。另外,此实施例为验证问题的判断在客户端完成的情况,在其他实施例中,若对用户输入的答案的判断是在服务器完成的,则问题获取单元150仅获取验证问题(为回答多问题方式时还可以获取验证问题的数量),而不需要获取验证问题的答案,且此时验证组件不含数据检查单元160。但是,把判断交给服务器会加重服务器的负担。图4是另一个实施例中验证组件的结构示意图,该优选的实施例与图3所示实施例的主要区别在于,验证组件13增加了关闭单元170和验证方式切换单元180。关闭单元170与请求单元130连接,当检测到请求单元130向服务器发送添加请求时,向公用组件20发送关闭指令,令公用组件20关闭好友添加界面。在其他实施例中, 关闭单元170也可以因其他条件而触发关闭指令。验证方式切换单元180与问题获取单元150相连,若问题获取单元150从服务器获取验证问题或者验证问题的答案失败,则向验证方式切换单元180发送失败信息,令验证方式切换单元180将验证方式切换为身份认证方式,并通知验证信息交互单元120。上述验证信息交互单元120、请求单元130、提示信息单元140、问题获取单元150、 数据检查单元160、关闭单元170以及验证方式切换单元180均是备选验证模块10的中的单元。在其他实施例中,备选验证模块10还可以包括按钮无效单元,用于允许或禁止好友添加界面中的按钮(例如确定、取消按钮)被点击。在优选的实施例中,验证组件可以用控件的方式实现。本发明还提供一种即时通讯工具中好友的添加方法。其技术方案是将好友添加流程中不随验证方式改变的处理逻辑剥离出来,封装到一个独立的验证组件中。该组件可以采用控件的方式实现,不同的验证方式对应验证组件中不同的验证单元(或函数),根据被添加方的验证方式,调用相对应的验证单元(或函数)。图5是本发明的即时通讯工具中好友的添加方法的流程图,包括下列步骤S310,获取验证方式。从服务器获取添加好友时被添加方的验证方式。S330,根据验证方式调用对应的验证单元。执行好友添加流程之前就设置有对应各种不同验证方式的验证单元,在执行S330时,根据获取的验证方式调用各种验证单元中与当前验证方式相对应的验证单元,组成此验证方式下的验证组件,执行验证流程。因此, 当验证方式不同时,验证组件的组成不同,好友的添加方法的步骤也会有所区别。S340,通过验证单元获取验证信息。根据验证方式获取对应的验证信息。S350,根据验证信息向服务器发送添加请求。验证方式包括身份认证方式、回答单问题方式、回答多问题方式等。图6是一个实施例中即时通讯工具中好友的添加方法的流程图,该实施例为验证方式是回答单/多问题方式时的情况,包括下列步骤S410,获取被添加方信息和验证方式。被添加方信息包括用户标识号、头像、昵称等信息的一种或几种。S420,显示被添加方信息。输出并显示被添加方信息,供用户查看。在添加好友的流程中输出并显示被添加方信息,显得更加直观,改善了系统的易用性。S430,根据验证方式调用对应的验证单元。S440,通过验证单元获取验证问题和验证问题的答案。通过验证单元从服务器获取验证问题和验证问题的答案。若是回答多问题方式,则还可以获取验证问题的数量。S450,通过验证单元获取验证信息。本实施例中,获取的验证信息是用户根据验证问题输入的答案。S460,通过验证单元判断验证信息是否正确。验证单元根据验证问题的答案判断用户输入的答案是否正确。S470,通过验证单元向服务器发送添加请求。若验证信息是正确的,则通过验证单元向服务器发送好友的添加请求。S480,显示提示信息。提示信息包括服务器返回的请求结果,还可以包括错误提示、开通会员提示等。图7是另一个实施例中即时通讯工具中好友的添加方法的流程图,其与图6所示实施例的主要区别在于,增加了通过验证单元判断是否成功获取验证问题的步骤S442,若成功获取验证问题,则进入步骤S450 ;若获取验证问题失败,则进入步骤S444,令验证组件将验证方式切换为身份认证方式。在其他实施例中,可以改变步骤S442的判断条件,例如必须同时成功获取验证问题和验证问题的答案才进入步骤S450,否则进入步骤S444。上述即时通讯工具中好友的添加方法,在需要增加新的验证方式或对现有的验证方式做修改时,仅需要对验证单元做增改,而不用对整个系统做修改,增强了系统的可扩展性和可维护性,且降低了维护成本;并且由于需要改动的部分较少,因此能够快速响应用户对新的验证方式的需求,增加了用户的满意度和粘性。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种即时通讯工具中好友的添加系统,其特征在于,包括备选验证模块和公用组件; 所述公用组件从服务器获取验证方式,并根据所述验证方式调用备选验证模块中对应的验证单元,组成验证组件;所述验证组件根据所述验证方式获取对应的验证信息并向所述服务器发送添加请求,还用于生成提示信息并传送给所述公用组件;所述公用组件还用于输出好友添加界面,所述好友添加界面包括所述提示信息。
2.根据权利要求1所述的即时通讯工具中好友的添加系统,其特征在于,所述验证组件包括验证信息交互单元、请求单元以及提示信息单元;所述验证信息交互单元根据所述验证方式输出验证信息交互界面,并获取验证信息;所述请求单元接收所述验证信息,并根据所述验证信息向所述服务器发送添加请求;所述提示信息单元用于生成提示信息并传送给所述公用组件,还用于接收所述服务器返回的请求结果,并发送给所述公用组件,所述提示信息包括所述请求结果。
3.根据权利要求2所述的即时通讯工具中好友的添加系统,其特征在于,所述验证方式包括身份认证方式、回答单问题方式以及回答多问题方式,所述验证组件还包括问题获取单元;所述问题获取单元在验证方式为回答单问题方式或回答多问题方式时,用于获取验证问题。
4.根据权利要求3所述的即时通讯工具中好友的添加系统,其特征在于,所述问题获取单元在验证方式为回答单问题方式时,还用于获取验证问题的答案,所述问题获取单元在验证方式为回答多问题方式,还用于获取验证问题的答案和验证问题的数量;所述验证组件还包括数据检查单元,所述数据检查单元用于根据所述验证问题的答案判断所述验证信息是否正确,若所述验证信息正确,则所述请求单元向所述服务器发送添加请求。
5.根据权利要求2所述的即时通讯工具中好友的添加系统,其特征在于,所述验证组件还包括关闭单元,当所述关闭单元检测到请求单元向服务器发送添加请求时,所述公用组件关闭所述好友添加界面。
6.根据权利要求3或4所述的即时通讯工具中好友的添加系统,其特征在于,所述验证组件还包括验证方式切换单元;所述问题获取单元获取验证问题失败时,所述验证方式切换单元将验证方式切换为身份认证方式,并通知所述验证信息交互单元。
7.根据权利要求1所述的即时通讯工具中好友的添加系统,其特征在于,所述公用组件还用于获取被添加方信息,所述好友添加界面包括所述被添加方信息。
8.—种即时通讯工具中好友的添加方法,包括下列步骤获取验证方式;根据所述验证方式调用对应的验证单元;通过所述验证单元获取验证信息;根据所述验证信息向服务器发送添加请求。
9.根据权利要求8所述的即时通讯工具中好友的添加方法,其特征在于,所述方法还包括显示提示信息的步骤,所述提示信息包括所述服务器返回的请求结果。
10.根据权利要求8所述的即时通讯工具中好友的添加方法,其特征在于,所述验证方式包括身份认证方式、回答单问题方式以及回答多问题方式,若所述验证方式是回答单问题方式或回答多问题方式,则所述方法还包括获取验证问题的步骤。
11.根据权利要求10所述的即时通讯工具中好友的添加方法,其特征在于,所述方法还包括获取验证问题的答案的步骤,以及根据所述验证问题的答案判断所述验证信息是否正确的步骤。
12.根据权利要求10所述的即时通讯工具中好友的添加方法,其特征在于,所述获取验证问题的步骤中,若获取验证问题失败,则所述验证单元将验证方式切换为身份认证方式。
13.根据权利要求8所述的即时通讯工具中好友的添加方法,其特征在于,所述方法还包括获取被添加方信息的步骤,以及显示所述被添加方信息的步骤。
全文摘要
本发明涉及一种即时通讯工具中好友的添加系统,包括备选验证模块和公用组件;所述公用组件从服务器获取被添加方信息和验证方式,并根据所述验证方式调用备选验证模块中对应的验证单元,组成验证组件;所述验证组件根据所述验证方式获取对应的验证信息并向所述服务器发送添加请求,还用于生成提示信息并传送给所述公用组件;所述公用组件还用于输出好友添加界面,所述好友添加界面包括所述被添加方信息和提示信息。本发明还涉及一种即时通讯工具中好友的添加方法。本发明增强了系统的可扩展性和可维护性,且降低了维护成本;并且由于需要改动的部分较少,因此能够快速响应用户的需求,增加了用户的满意度和粘性。
文档编号H04L12/58GK102340458SQ20101023699
公开日2012年2月1日 申请日期2010年7月26日 优先权日2010年7月26日
发明者史雪 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1