一种即时通讯处理方法及系统的制作方法

文档序号:7961638
专利名称:一种即时通讯处理方法及系统的制作方法
技术领域
本发明涉及计算机软件和网络通讯领域,特别是涉及一种即时通讯中减少数据流量、降低网络带宽要求的处理方法及系统。
背景技术
随着网络技术的发展,为满足网络即时通讯的需求,出现了越来越多的即时通讯软件,如贸易通、淘宝旺旺、雅虎通、腾讯QQ、MSN Messenger、网易泡泡等。通常,运行即时通讯软件的系统包括两部分即时通讯服务器,主要负责提供即时消息的存储、转发服务,并在即时消息客户端登录后向其发送即时消息;即时通讯客户端,主要负责提供即时消息的编辑和发送服务,以及即时消息的接收、通知和显示服务。
当前,即时通讯软件都维护着用户拥有的联系人信息,如联系人的帐户和显示称呼、真实姓名、联系方式、职务、笔名、活跃度等,并存储在即时通讯服务器端。用户在每次登录过程中,要将这些数据从即时通讯服务器端下载到即时通讯客户端,即用户机器上,然后完成登录。如果用户在使用过程中添加或修改某些数据,则向服务器发送添加或修改的内容,由服务器端保存或修改相应的数据,并返回修改结果,客户端再修改内存数据及界面。客户端不保存这些数据,只在下次登录时向服务器请求下载过来。
在记录联系人的数据中,有大量的信息一般很少使用,如职务、笔名、活跃度等。这些信息随着联系人的数量增加而递增,称为增量式数据。如果这些信息数据很多,则在登录过程中都要从服务器获取,将会造成服务器的巨大压力,同时需要极大的网络带宽要求。尤其是大量用户在短时间内登录时,将造成服务器性能急剧下降,网络带宽立即耗尽,造成网络堵塞,将使整个系统处于瘫痪状态。而且,这些数据中有些数据很少修改,就会重复下载,造成网络带宽资源的浪费。
现有的即时通讯软件的登录方法,由于上述原因,系统服务商常抱怨服务器性能低下,网络带宽资源缺乏;而用户也抱怨登录系统速度太慢,同时影响了其他软件对网络的访问,从而影响了用户对即时通讯软件的使用。因此,如何在即时通讯软件中有效大幅度地减少数据流量,降低网络带宽要求,同时也不影响用户对即时通讯软件的使用,是现有技术中丞待解决的问题。

发明内容
本发明所要解决的技术问题是提供一种即时通讯处理方法及系统,用于提高系统登录速度及即时通讯软件中增量式数据的获取,以解决即时通讯中用户登录系统时数据流量过大而造成的服务器性能下降、网络堵塞的问题。
为解决上述技术问题,本发明提供了一种即时通讯处理方法,将用户拥有的联系人数据分为“登录时必须使用的数据”和“使用过程中才会用到的数据”,包括登录时只获取“登录时必须使用的数据”的步骤;在即时通讯中获取“使用过程中才会用到的数据”的步骤。
优选的,还包括将所述“登录时必须使用的数据”分类,并对每个类型的数据赋予一个校验码,客户端和服务器端均保存所述校验码及对应数据。所述登录步骤的获取包括客户端发送校验码;比较客户端与服务器端的校验码,若不同,则将校验码及对应数据发送到客户端;客户端更新数据及对应校验码;从客户端读取校验码一致的数据,完成登录。
优选的,还包括比较客户端与服务器端的校验码不同后,将比较结果发送到客户端。
优选的,分批次发送校验码不同的数据及对应校验码。
优选的,所述即时通讯步骤的获取包括对每个联系人设置标志,客户端判断所述标志是否为最新,若是则从本地读取数据;否则从服务器获取最新数据并保存,更改对应标志;其中,所述判断前还包括从本地读取数据并显示。
其中,还包括服务器自动发送修改的“登录时必须使用的数据”及对应校验码和“使用过程中才会用到的数据”。
本发明还提供了一种即时通讯处理系统,包括即时通讯服务器和即时通讯客户端,其特征在于,还包括
数据仓库,用于存储最新的数据,包括“登录时必须使用的数据”及对应校验码和“使用过程中才会用到的数据”;客户端数据库,用于存储从即时通讯服务器获取的数据。
即时通讯服务器,用于从所述数据仓库读取数据;比较校验码是否一致,将校验码不一致的数据及对应校验码发送到所述即时通讯客户端。
即时通讯客户端,用于从所述客户端数据库读取数据;判断每个联系人对应的标志是否为最新,若是则从本地读取数据,否则从即时通讯服务器获取最新数据并保存到所述客户端数据库,更改对应标志。
其中,所述客户端数据库以数据文件保存所述数据。
与现有技术相比,本发明具有以下优点首先,本发明将用户拥有的联系人信息数据进行分类对于登录即时通讯系统时必须使用到的数据归为“登录时必须使用的数据”,对于登录系统后在使用过程中才涉及的数据则归为“使用过程中才会用到的数据”;客户端在登录系统时只获取“登录时必须使用的数据”,登录后在使用过程中才获取“使用过程中才会用到的数据”。这种对数据分类的方法可以减少登录过程中所涉及的数据量,大大降低了集中在登录过程中获取的数据量,从而在一定程度上降低了登录过程中造成的服务器端压力,也降低了网络带宽要求。
其次,客户端保存了“登录时必须使用的数据”,并对“登录时必须使用的数据”进行了优化,分为多种类型,给每个类型的数据赋予一个校验码并保存。用户每次登录时,只需从服务器下载校验码不同的数据,其他数据直接从本地读取,极大地减少了登录过程中所传输的数据,这更进一步提高了登录速度,降低了网络带宽的要求。而且,在绝大部分情况下,用户都在同一台机器上使用,通过本发明的机制,本地数据文件基本上和服务器保持一致,这样用户登录只要传输校验码即可完成登录,无需向服务器请求获得大量的维护数据,这样也解决了服务器端的压力,提高了服务器的性能。
再次,本发明对于“使用过程中才会用到的数据”,通常用户在使用过程中涉及很少,但其维护的数据量是以所维护的联系人的数量增长的,所以其总体数据量也非常大。由于客户端保存了该数据,如果用户在使用过程中要用到其中一小部分数据,则先判断是否已经是最新的服务器端数据,如果是,则无需向服务器请求获取,而直接从本地读取;如果不是最新的,也只要获取这一小部分数据即可。这种对增量式数据地获取方法,同样降低了服务器的压力和网络带宽的要求,提高了用户登录系统的速度。


图1是本发明所述即时通讯处理方法的步骤流程图;图2是本发明所述优选实施例的即时通讯系统结构示意图;图3是本发明所述优选实施例登录时获取数据的步骤流程图;图4是本发明所述优选实施例使用过程中获取数据的步骤流程图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
本发明的核心思想是将用户拥有的联系人信息分为“登录时必须使用的数据”和“使用过程中才会用到的数据”。当用户使用即时通讯软件登录时,只获取“登录时必须使用的数据”;完成登录后用户在使用过程中,再获取“使用过程中才会用到的数据”。客户端在本地保存所述两类数据,使用时只需从本地客户端获取相应数据,只有当所述两类数据发生变化时,才从服务器获取更新的数据并保存至本地客户端。
本发明为了解决客户端在登录和使用即时通讯软件时,每次都从服务器获取增量式数据而造成的网络数据流量过大的问题,将用户的联系人信息数据划分为“登录时必须使用的数据”和“使用过程中才会用到的数据”。所述“登录时必须使用的数据”包括如组列表(有哪些组)、所有联系人(好友)的帐户和显示称呼、组和联系人(好友)的关系、黑名单列表、系统消息等,即那些在登录后,用户在没有任何操作的情况下,需要显示出来或用于功能性控制的数据。其中,所述用于功能性控制的数据是指在软件程序中对功能块起控制作用的数据。例如,对于交费会员可以享有的优惠,但对于免费会员就不能享有,这种根据不同会员控制优惠特权的数据即为功能性控制的数据。所述“使用过程中才会用到的数据”包括如用户联系人的真实姓名、公司、电话号码、职务、电子邮件、笔名、活跃度等,这些数据并不是一登录就直接显示出来的,也不需要做功能性控制。
参照图1,是本发明所述即时通讯处理方法的步骤流程图。
步骤101,用户登录。当用户使用即时通讯软件时,先在登录窗口输入帐户和密码。所述帐户用于标识用户使用该软件的注册身份,根据不同的即时通讯软件,也可以为用户名等。
步骤102,帐户、密码验证。服务器对用户输入的帐户和密码进行验证,验证通过后继续步骤103;否则返回步骤101,提示用户重新输入。为了避免用户输入时的误操作,通常预先设定输入次数,给予用户重新输入的机会。
步骤103,从服务器获取登录所需数据。客户端将从服务器下载“登录时必须使用的数据”,这些数据能够保证申请登录的客户端成功登录。与现有技术相比,客户端只下载保证成功登录的数据,而暂时不下载其他在登录成功后使用时才用到的数据,在很大程度上减少了网络数据流量。尤其是当大量用户在短时间内登录时,所述方法能缓解服务器的高下载量和网络带宽的使用,提高登录速度。
步骤104,当帐户、密码的验证通过,及登录所需数据全部获取后,完成登录过程。
步骤105,使用时从服务器获取所需数据。用户登录成功后,在通讯的过程中,若需要显示联系人的真实姓名、电子邮件等信息时,由于这些相关数据并没有在登录过程中下载到客户端,因此需要在使用时从服务器获取“使用过程中才会用到的数据”。如果对联系人信息进行添加、修改、删除等操作,则由服务器端更改并保存对应数据,并将结果返回给客户端,显示在界面。
步骤106,退出系统。当用户结束使用该即时通讯软件时,退出系统。
上述方法由于将用户联系人的信息数据进行分类,并分时段获取,可以减少登录过程中所涉及的数据量,大大降低了集中在登录过程中获取的数据量,从而在一定程度上降低了登录过程中造成的服务器端压力,也降低了网络带宽要求。而且,在绝大部分情况下,用户都在同一台机器上使用所述即时通讯软件,通过本发明的机制,本地数据文件基本上和服务器保持一致,这样用户登录只要传输校验码即可完成登录,无需向服务器请求获得大量的维护数据,这样也解决了服务器端的压力,提高了服务器的性能。
但是,上述方法中,用户退出系统后,在客户端并不保存登录时和使用过程中所需的数据。因此,用户在每次使用即时通讯软件时,都需要重新下载。为了能更好地降低网络带宽要求和减少服务器端的压力,本发明对上述方法在登录和使用过程中获取数据的步骤进行了优化,将每次从服务器下载的数据保存或更新在客户端本地,使客户端和服务器端的数据保持一致性。在登录或使用过程中只从服务器下载更新的数据,而直接从客户端读取与服务器一致的数据,这样更进一步提高了登录速度。以下是对本发明优选实施例的详细说明。
参照图2,是本发明所述优选实施例的即时通讯系统结构示意图。该系统包括即时通讯服务器201(以下简称服务器),数据仓库202,即时通讯客户端203(以下简称客户端)和客户端数据库204。即时通讯服务器201,用于与即时通讯客户端203的即时通讯,根据即时通讯客户端203发来的消息请求,执行相应的操作,发送即时消息。数据仓库202是即时通讯服务器201保存数据的数据库,用于存储最新的即时通讯相关的数据,包括“登录时必须使用的数据”和“使用过程中才会用到的数据”。即时通讯客户端203是安装使用即时通讯软件的本地机器,是即时通讯过程的操作发起端,用于向即时通讯服务器201获取最新的“登录时必须使用的数据”和“使用过程中才会用到的数据”。客户端数据库204,用于以数据文件保存即时通讯客户端203从即时通讯服务器201下载的数据,包括“登录时必须使用的数据”和“使用过程中才会用到的数据”,便于用户下次使用时直接从即时通讯客户端203获取。当数据仓库202中的数据发生变化时,即时通讯客户端203下载更新的数据并保存在客户端数据库204中。
本发明的优选实施例中,在对数据分类的基础上,对于“登录时必须使用的数据”又进行了优化,细分为多种类型的数据,如分为组列表、所有的联系人(好友)的列表、组和联系人(好友)的关系、黑名单列表、系统消息等。服务器会在每次修改上述数据时,以一定的算法对每个类型的数据生成系统中唯一的校验码,从而确保数据不同,校验码也不同。其中,所述一定的算法可以为计算校验和法等,用于保证每次生成的校验码不同。本发明采用累加器的方法,每当需要生成新的校验码时,在原来的累加数值上加一即生成唯一的校验码。客户端数据库和服务器端的数据仓库都保存所述数据和对应校验码,当客户端软件中所具有的数据和服务器端的数据不一致,即校验码不一致时,需要将服务器端的数据和校验码更新到客户端软件中。客户端软件对更新的数据和校验码保存,以便下次核对使用,从而实现了只在数据变化的时候从服务器下载更新数据,否则直接从本地读取数据,这样就节约了网络资源也提高了软件的性能。由于有校验码机制,使得客户端保存的数据能够与服务器端的数据保证准确一致。
参照图3,是本发明所述优选实施例登录时获取数据的步骤流程图。当用户使用即时通讯软件登录,已通过帐户和密码验证时,执行以下优化步骤来获取“登录时必须使用的数据”步骤301,客户端从客户端数据文件读取本地校验码。所述客户端数据文件保存在客户端数据库中,记录了“登录时必须使用的数据”及各类数据对应的校验码。
步骤302,客户端向服务器发送本地校验码,以确定本地保存的数据是否为最新,即是否与服务器端的数据一致。
步骤303,服务器从数据仓库读取校验码。
步骤304,服务器比较客户端发来的校验码是否与自身保存的校验码一致,从而确定哪些校验码不同,需要将对应数据发送给客户端。
步骤305,服务器发送比较结果,通知客户端需要等待接收的数据内容。
步骤306,客户端根据比较结果,确定需要接收哪些数据。
其中,步骤305和306是优选步骤,服务器并未直接将校验码不同的对应数据发送。为了保证客户端和服务器的协调工作,服务器先发送比较结果,以便客户端准备接收数据。
步骤307,服务器从数据仓库读取校验码不同的对应数据。
步骤308,服务器向客户端发送校验码不同的对应数据及新的校验码。根据服务器的工作性能及网络传输方式,服务器分批次将数据和对应校验码发送。
步骤309,客户端将接收到的数据和对应的服务器端校验码,更新到本地数据文件。
步骤310,客户端从本地读取校验码一致的数据。客户端从服务器下载了校验码不同的数据,其他校验码一致的“登录时必须使用的数据”直接从本地保存的数据文件中读取,完成登录过程。
由此,客户端获取了最新的“登录时必须使用的数据”,并保存在本地数据文件中,以便下次登录时使用。如果用户在使用过程中,执行了添加、删除或修改等操作,则更改的是服务器端的数据。服务器在每次修改数据时,都会对每类数据以一定的算法重新生成唯一的校验码。服务器会自动将更新的数据及对应校验码传输给客户端,客户端接收后更新到本地的数据文件中,保证了客户端与服务器端数据的一致性。
本优选实施例中,当用户登录成功后,在即时通讯中还会用到未在登录时获取的数据,如查看联系人的电子邮件等信息。这些数据是在用户操作某个功能,调用显示这些数据时才使用,不同的功能界面所显示的数量不同,例如在好友信息的小窗口里只显示重要的常用的信息,在编辑界面里则需要显示好友的所有信息。对于 “使用过程中才会用到的数据”,由于这些数据用户在使用过程中涉及很少,而其维护的数据量确以所维护的联系人的数量增长,所以其总体数据量也是非常大的。本发明执行以下优化步骤获取“使用过程中才会用到的数据”。
参照图4,是本发明所述优选实施例使用过程中获取数据的步骤流程图。
步骤401,客户端从客户端数据文件读取本地数据。若本地数据文件中存有需要用到的数据,则执行步骤402;否则将不执行以下的优化步骤,而直接向服务器发送请求,下载新的数据到客户端并保存。
步骤402,将数据信息显示在界面。从用户的使用角度考虑,为了给予用户方便快捷的使用感受,客户端首先将数据显示出来,而不去先判断该数据是否为最新的数据。
步骤403,客户端判断是否已经向服务器获取最新的数据。本发明对客户端保存的每个联系人信息设置一标志,用于标识客户端的数据是否为最新。例如,将标志设为“未确定”表示数据需要更新,“已确定”表示数据是最新的。根据所述标志,若已经向服务器获取了最新的数据,则不再执行后续步骤;若数据需要更新,则执行步骤404。
步骤404,确定未获取最新数据,向服务器发送获取请求。所述请求中包含了需要获取的数据信息。
步骤405,服务器收到请求后,从数据仓库读取所需数据。
步骤406,服务器将所述数据发送给客户端。
步骤407,客户端将最新数据保存到本地数据文件中,以便下次使用时直接从本地读取即可。
步骤408,并将对应标志更改为“已确定”,记录已经向服务器获取了最新数据。
步骤409,将最新数据更新到界面。
需要说明的是,用户每次登录时,所有联系人的标志都记为“未确定”,即客户端保存的数据不是最新数据。当用户在使用过程中第一次需要某个联系人的数据时,客户端向服务器发送获取请求,将最新数据保存在本地并更改标志。在本次登录的后续使用过程中,判断对应标志为“已确定”,直接从本地读取所需数据。如果用户在使用过程中执行了添加、删除、修改等操作时,服务器自动将数据仓库的更新数据发送到客户端,客户端将最新的数据保存到本地数据文件中。
上述客户端从服务器获取最新数据的方法是即时通讯软件通过判断标志自动执行的,还可以由其他方式实现。如用户点击界面上的“刷新”控件,手动发送获取请求,向服务器获取最新的数据。
在上述获取“使用过程中才会用到的数据”的优化步骤中,站在用户的角度,先从本地读取数据显示出来,判断不是最新数据后再向服务器获取,这个更新界面的过程十分短暂,因此不会影响用户的使用。由于同样是直接从本地读取数据,只在服务器端数据更新时才获取这一小部分数据,极大地减少了数据流量,降低了网络带宽要求。
以上对本发明所提供的一种即时通讯处理方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种即时通讯处理方法,其特征在于,将用户拥有的联系人数据分为“登录时必须使用的数据”和“使用过程中才会用到的数据”,包括登录时只获取“登录时必须使用的数据”的步骤;在即时通讯中获取“使用过程中才会用到的数据”的步骤。
2.根据权利要求1所述的方法,其特征在于,还包括将所述“登录时必须使用的数据”分类,并对每个类型的数据赋予一个校验码,客户端和服务器端均保存所述校验码及对应数据。
3.根据权利要求1所述的方法,其特征在于,所述登录步骤的获取包括客户端发送校验码;比较客户端与服务器端的校验码,若不同,则将校验码及对应数据发送到客户端;客户端更新数据及对应校验码;从客户端读取校验码一致的数据,完成登录。
4.根据权利要求3所述的方法,其特征在于,还包括比较客户端与服务器端的校验码不同后,将比较结果发送到客户端。
5.根据权利要求3所述的方法,其特征在于分批次发送校验码不同的数据及对应校验码。
6.根据权利要求1所述的方法,其特征在于,所述即时通讯步骤的获取包括对每个联系人设置标志,客户端判断所述标志是否为最新,若是则从本地读取数据;否则从服务器获取最新数据并保存,更改对应标志。
7.根据权利要求6所述的方法,其特征在于,所述判断前还包括从本地读取数据并显示。
8.根据权利要求1所述的方法,其特征在于,还包括服务器自动发送修改的“登录时必须使用的数据”及对应校验码和“使用过程中才会用到的数据”。
9.一种即时通讯处理系统,包括即时通讯服务器和即时通讯客户端,其特征在于,还包括数据仓库,用于存储最新的数据,包括“登录时必须使用的数据”及对应校验码和“使用过程中才会用到的数据”;客户端数据库,用于存储从即时通讯服务器获取的数据,即时通讯服务器,用于从所述数据仓库读取数据;比较校验码是否一致,将校验码不一致的数据及对应校验码发送到所述即时通讯客户端,即时通讯客户端,用于从所述客户端数据库读取数据;判断每个联系人对应的标志是否为最新,若是则从本地读取数据,否则从即时通讯服务器获取最新数据并保存到所述客户端数据库,更改对应标志。
10.根据权利要求9所述的系统,其特征在于所述客户端数据库以数据文件保存所述数据。
全文摘要
本发明公开了一种即时通讯处理方法及系统,用于即时通讯中减少网络数据流量,从而提高软件登录速度及降低网络带宽要求。本发明将用户拥有的联系人数据分为“登录时必须使用的数据”和“使用过程中才会用到的数据”,所述方法包括登录时只获取“登录时必须使用的数据”;在即时通讯中获取“使用过程中才会用到的数据”。优选的,客户端保存所述数据,每次只从服务器获取与客户端本地不一致的数据,并更新或保存。这种对数据分类的方法和获取大量联系人维护数据的方法,大大减少了数据流量,降低了服务器的压力和网络带宽的要求,提高了服务器性能,也提高了软件登录速度。
文档编号H04L25/03GK101087262SQ200610083180
公开日2007年12月12日 申请日期2006年6月7日 优先权日2006年6月7日
发明者闻波, 孔勇伟, 莫建祥, 吴策 申请人:阿里巴巴公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1