一种客户端应用程序的用户注册方法、移动终端及服务器的制造方法
【专利摘要】本发明公开了一种客户端应用程序的用户注册方法、移动终端及服务器,方法包括:移动终端上的客户端应用程序向服务器发送获取请求消息,获取请求消息用于获取由服务器生成的、用于登录客户端应用程序的用户帐号和/或用户密码;客户端应用程序接收服务器发送的用户帐号和/或用户密码。由于在整个用户注册过程中,不需要用户填写注册客户端应用程序的注册信息,将用户的注册门槛降低到最低(无须主动注册),有效节省了用户注册所花费的时间。
【专利说明】一种客户端应用程序的用户注册方法、移动终端及服务器
【技术领域】
[0001]本发明属于计算机【技术领域】,尤其涉及一种客户端应用程序的用户注册方法、移动终端及服务器。
【背景技术】
[0002]目前,主流的IM (Instant Messenging,即时通讯)产品的用户注册的方式为:采取显性的用户帐号及用户密码,由用户主动注册,并填写用户帐号、Email地址等。
[0003]由于现行的用户注册方式的注册门槛都较高,对于竞争激烈的IM产品的市场,让用户主动注册,并主动填写注册信息,会导致注册过程较为繁琐,且对于一个新的IM产品都是较高的门槛,很难提高新的M产品的激活率。
【发明内容】
[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的客户端应用程序的用户注册方法、移动终端及服务器,简化客户端应用程序的用户注册过程。
[0005]依据本发明的一个方面,提供了一种客户端应用程序的用户注册方法,适用于移动终端侧,所述方法包括:所述移动终端上的客户端应用程序向服务器发送获取请求消息,所述获取请求消息用于获取由所述服务器生成的、用于登录所述客户端应用程序的用户帐号和/或用户密码;所述客户端应用程序接收所述服务器发送的用户帐号和/或用户密码。
[0006]可选地,所述方法还包括:所述客户端应用程序接收到所述用户帐号和/或用户密码之后,利用接收到的所述用户帐号和/或用户密码自动登录。
[0007]可选地,在所述客户端应用程序向服务器发送获取请求消息的步骤之前,所述方法还包括:所述客户端应用程序生成至少一个动态口令;所述客户端应用程序向所述服务器发送注册请求消息,所述注册请求消息包括:唯一标识用户的标识符和动态口令,所述用户帐号和/或用户密码由所述服务器根据所述唯一标识用户的标识符生成得到。
[0008]可选地,所述客户端应用程序向服务器发送注册请求消息的步骤为:所述客户端应用程序将包括有唯一标识用户的标识符和动态口令的注册请求消息发送至短信网关,由所述短信网关将所述注册请求消息发送给所述服务器。
[0009]可选地,所述客户端应用程序接收所述服务器发送的用户帐号和/或用户密码的步骤包括:所述客户端应用程序接收所述服务器发送的经过所述动态口令加密处理过的用户帐号和/或用户密码;所述客户端应用程序根据所述动态口令,对经过加密处理的用户帐号和/或用户密码进行解密处理,得到所述用户帐号和/或用户密码。
[0010]可选地,所述客户端应用程序接收所述服务器发送的经过所述动态口令加密处理过的用户帐号和/或用户密码的步骤为:所述客户端应用程序拦截所述服务器发送的短消息,并从拦截到的短消息中获取经过所述动态口令加密处理的用户帐号和/或用户密码。
[0011]依据本发明的另一个方面,还提供了一种客户端应用程序的用户注册方法,适用于服务器侧,所述方法包括:所述服务器接收客户端应用程序发送的注册请求消息,所述注册请求消息包括:唯一标识用户的标识符;所述服务器根据所述注册请求消息中的唯一标识用户的标识符生成用于登录所述客户端应用程序的用户帐号和/或用户密码;所述服务器接收所述客户端应用程序发送的获取请求消息,所述获取请求消息用于获取用于登录所述客户端应用程序的用户帐号和/或用户密码;所述服务器将生成的用户帐号和/或用户密码发送给所述客户端。
[0012]可选地,所述注册请求消息还包括:由客户端应用程序预先生成的动态口令;所述服务器将生成的用户帐号和/或用户密码发送给所述客户端的步骤包括:所述服务器根据所述注册请求消息中的动态口令,对生成的用户帐号和/或用户密码进行加密;所述服务器将经过加密的用户帐号和/或用户密码发送给所述客户端。
[0013]依据本发明的另一个方面,还提供了一种移动终端,包括:获取请求发送模块,用于向服务器发送获取请求消息,所述获取请求消息用于获取由服务器生成的、用于登录所述客户端应用程序的用户帐号和/或用户密码;注册信息接收模块,用于接收所述服务器发送的用户帐号和/或用户密码。
[0014]可选地,所述移动终端还包括:自动登录模块,用于利用接收到的所述用户帐号和/或用户密码自动登录。
[0015]可选地,所述移动终端还包括:动态口令生成模块,用于生成动态口令;注册请求发送模块,用于向服务器发送注册请求消息,所述注册请求消息包括:唯一标识用户的标识符和动态口令,其中所述用户帐号和/或用户密码为所述服务器根据唯一标识用户的标识符生成得到。
[0016]可选地,所述注册请求发送模块进一步用于将包括有唯一标识用户的标识符和动态口令的注册请求消息发送至短信网关,由所述短信网关将所述注册请求消息发送给所述服务器。
[0017]可选地,所述注册信息接收模块包括:注册信息接收单元,用于接收所述服务器发送的经过所述动态口令加密处理过的用户帐号和/或用户密码;注册信息解密单元,用于根据所述动态口令,对经过加密处理的用于登录所述客户端应用程序的用户帐号和/或用户密码进行解密处理,得到用户帐号和/或用户密码。
[0018]可选地,所述注册信息接收单元还用于拦截所述服务器发送的短消息,并从拦截到的短消息中获取经过所述动态口令加密处理的用户帐号和/或用户密码。
[0019]依据本发明的另一个方面,还提供了一种服务器,包括:注册请求接收模块,用于接收客户端应用程序发送的注册请求消息,所述注册请求消息包括:唯一标识用户的标识符;注册信息生成模块,用于根据所述注册请求消息中的唯一标识用户的标识符生成用于登录所述客户端应用程序的用户帐号和/或用户密码;获取请求接收模块,用于接收所述客户端应用程序发送的获取请求消息,所述获取请求消息用于获取用户帐号和/或用户密码;注册信息发送模块,用于将生成的用户帐号和/或用户密码发送给所述客户端。
[0020]可选地,所述注册请求消息还包括:由客户端应用程序预先生成的动态口令;所述注册信息发送模块包括:注册信息加密单元,用于根据所述注册请求消息中的动态口令,对生成的用户帐号和/或用户密码进行加密;注册信息发送单元,用于将经过加密的用户帐号和/或用户密码发送给所述客户端应用程序。[0021]在本发明的实施例中,可以通过客户端应用程序自动获取用于登录客户端应用程序的用户帐号和/或用户密码,客户端应用程序可以自动完成用户注册,客户端应用程序向服务器发送获取请求消息之后,可以接收到服务器返回的用于登录客户端应用程序的用户帐号和/或用户密码,以及可以利用用户帐号和/或用户密码自动登录,在整个用户注册过程中,不需要用户填写注册客户端应用程序的注册信息,将用户的注册门槛降低到最低(无须主动注册),有效节省了用户注册所花费的时间。
[0022]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】
【附图说明】
[0023]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0024]图1示出了根据本发明的实施例一中的适用于移动终端侧的客户端应用程序的用户注册方法的流程图;
[0025]图2示出了根据本发明的实施例二中的适用于服务器侧的客户端应用程序的用户注册方法的流程图;
[0026]图3示出了根据本发明的实施例三中的移动终端的结构框图;以及
[0027]图4示出了根据本发明的实施例四中的服务器的结构框图。
【具体实施方式】
[0028]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0029]实施例一
[0030]如图1所示,为本发明的实施例中的适用于移动终端侧的客户端应用程序的用户注册方法的流程图,方法100主要包括步骤SllO和步骤S130。在步骤SllO中,客户端应用程序向服务器发送获取请求消息,其中获取请求消息用于获取由服务器生成的、用于登录客户端应用程序的用户ID (用户帐号)和/或用户密码。
[0031]在本发明的实施例中,可以通过以下两种方式触发客户端应用程序向服务器发送获取请求消息,当然也并不限于此:
[0032]方式一、当检测到点击触发按钮的动作之后,客户端应用程序向服务器发送获取请求消息。例如在移动终端上启动客户端应用程序时,可以在移动终端的屏幕上弹出显示客户端应用程序的登录窗口,登录窗口上可以包括:用户帐号的输入栏、用户密码的输入栏、登录按钮、以及触发发送获取请求消息的触发按钮。
[0033]方式二、移动终端的操作系统检测到第一次启动客户端应用程序时,移动终端的操作系统可以直接触发客户端应用程序向服务器发送获取请求消息。例如:移动终端的操作系统可以通过用户操作日志中记录的信息检测是否是第一次启动客户端应用程序。
[0034]可选地,在本发明的实施例中,客户端应用程序可以通过HTTPS (超文本传输协议)接口向服务器发送获取请求消息,或者客户端应用程序可以以短消息的方式向服务器发送获取请求消息,当然也并不限于此。优选地,客户端应用程序通过HTTPS接口,以唯一标识用户的标识符为索引(index),向服务器发送请求消息,以获取用于登录客户端应用程序的用户帐号和/或用户密码。
[0035]随后,在步骤S130中,客户端应用程序接收服务器发送的用户帐号和/或用户密码。
[0036]在本发明的实施例中,用户注册的过程可以理解为获取用于登录客户端应用程序的用户帐号和/或用户密码的过程。因此执行完步骤S130之后,就完成了客户端应用程序的用户注册过程。
[0037]由步骤SllO?步骤S130可知,在本发明的实施例中,可以通过客户端应用程序自动获取用于登录客户端应用程序的用户帐号和/或用户密码,而在现有的用户注册方式中,首先用户需要填写注册客户端应用程序的注册信息,包括:用户账号、用户密码、Email地址等信息,并且在填写完成后,需要向服务器提交该注册信息,只有在接收到服务器返回的注册信息提交成功的提示信息之后,客户端应用程序的注册过程才算完成,此时用户可以根据预先设定的用户帐号和/或用户密码登录客户端应用程序。而在本发明的实施例中,客户端应用程序可以自动完成用户注册,即客户端应用程序向服务器发送获取请求消息之后,可以接收到服务器返回的用于登录客户端应用程序的用户帐号和/或用户密码,在整个用户注册过程中,不需要用户填写注册客户端应用程序的注册信息,将用户的注册门槛降低到最低(无须主动注册),有效节省了用户注册所花费的时间。
[0038]可选地,在本发明的实施例中,客户端应用程序接收到服务器发送的用户帐号和/或用户密码后,客户端应用程序可以基于接收到的用户帐号和/或用户密码自动完成登录。
[0039]在本发明的实施例中,为了提高用户帐号和/或用户密码的安全性,可以对用户帐号和/或用户密码进行加解密处理,即服务器可以采用加密算法对生成的用户帐号和/或用户密码进行加密处理,然后发送给客户端应用程序,客户端应用程序接收到用户帐号和/或用户密码后,采用解密算法进行解密处理。
[0040]可选地,在步骤SllO之前,方法100还包括:步骤S150和步骤S170,在步骤S150中,客户端应用程序生成至少一个动态口令(Token)。也就是,在客户端应用程序向服务器发送获取请求消息之前,客户端应用程序可以按照现有的动态口令技术生成动态口令,其中动态口令可以是根据现有的算法生成的一个不可预测的随机数字组合,每个动态口令只能使用一次。
[0041]可选地,本发明的实施例中,客户端应用程序生成至少一个动态口令的方式如下,当然并不限于此。
[0042]方式一、可以采用硬件令牌生成动态口令,当前最主流的是基于时间同步的硬件口令牌,其每60秒变换一次动态口令,动态口令一次有效,产生6位/8位动态数字。
[0043]方式二、可以采用手机令牌,手机令牌是一种移动终端客户端软件,其是基于时间同步方式,每隔30秒产生一个随机6位动态密码。[0044]步骤S170、客户端应用程序向服务器发送注册请求消息。其中,注册请求消息包括:唯一标识用户的标识符和动态口令,步骤SllO中提及的用户帐号和/或用户密码可以由服务器根据唯一标识用户的标识符生成得到。
[0045]在本发明的实施例中,可以通过以下三种方式触发客户端应用程序向服务器发送注册请求消息,当然也并不限于此:
[0046]方式一、客户端应用程序安装完成后,自动触发客户端应用程序向服务器发送注册请求消息。
[0047]方式二、当检测到点击触发按钮的动作之后,客户端应用程序向服务器发送注册请求消息。例如在移动终端上启动客户端应用程序时,可以在移动终端的屏幕上弹出显示客户端应用程序的登录窗口,登录窗口上可以包括:用户帐号的输入栏、用户密码的输入栏、登录按钮、以及触发发送注册请求消息的触发按钮。
[0048]方式三、移动终端的操作系统检测到第一次启动客户端应用程序时,移动终端的操作系统可以直接触发客户端应用程序向服务器发送注册请求消息。例如:移动终端的操作系统可以通过用户操作日志中记录的信息检测是否是第一次启动客户端应用程序。
[0049]可选地,在步骤S170中,客户端应用程序向服务器发送注册请求消息,由服务器从注册请求消息中解析得到唯一标识用户的标识符,其中唯一标识用户的标识符可以是移动终端的国际移动设备标识(IMEI)或移动终端的电话号码。
[0050]可选地,服务器可以部署在2G或3G网络中,该服务器可以接收短消息,客户端应用程序以短消息的方式向服务器发送注册请求消息,当然可以理解的是,在本发明的实施例中并不限定客户端应用程序向服务器发送注册请求消息的方式,也可以采用其他通信方式。
[0051]唯一标识用户的标识符可以为:移动终端的国际移动设备标识(IMEI)或移动终端的电话号码。在以短消息发送的方式中,客户端应用程序可以将包括有唯一标识用户的标识符和动态口令的注册请求消息发送至短信网关,由短信网关对该注册请求消息进行解析,并将解析得到的发送该注册请求消息的移动终端的电话号码、运营商的信息以及短消息中的信息内容发送给服务器,该短消息中的信息内容可以包括唯一标识用户的标识符和动态口令。在此过程中短信网关可以对移动终端的电话号码的有效性进行验证,例如,如果用户发送的唯一标识用户的标识符就是移动终端的电话号码,则短信网关可以根据自身解析出来的发送方电话号码来对该唯一标识用户的标识符中的电话号码进行验证,由此可以避免用户恶意注册的行为。
[0052]在本发明的实施例中,移动终端的电话号码可以和唯一标识用户的标识符、用户帐号和用户密码对应的维护在一起,从而用户A的客户端应用程序a可以通过用户B的电话号码找到用户B的对应客户端应用程序b,可以进行客户端应用程序之间的通信。
[0053]当然可以理解的是,在本发明的实施例中,用户帐号也可以直接从步骤SllO开始执行。例如:某服务提供商的产品包括:客户端应用程序A和客户端应用程序B,如果用户已经在客户端应用程序A上进行了用户注册,则服务器上可能已经记录了唯一标识用户的标识符与用户帐号和/或用户密码的对应关系。当用户希望在客户端应用程序B上进行用户注册,则可以直接向服务器发送获取请求消息,该获取请求消息中携带有该用户的唯一标识用户的标识符,服务器可以根据唯一标识用户的标识符,匹配得到与唯一标识用户的标识符对应的用户帐号和/或用户密码,然后服务器将匹配得到的用户帐号和/或用户密码发送给客户端应用程序B,使得用户可以基于接收到的用户帐号和/或用户密码登录客户端应用程序B的用户帐号。
[0054]如果服务器上没有记录唯一标识用户的标识符与用户帐号和/或用户密码的对应关系,服务器需要获取唯一标识用户的标识符,并根据唯一标识用户的标识符生成用户帐号和/或用户密码,则可以从步骤S150开始执行。因此在本发明的实施例中步骤S150和步骤S170为可选步骤。
[0055]在本发明的实施例中,客户端应用程序通过注册请求消息将动态口令发送到服务器之后,服务器可以通过动态口令对生成的用户帐号和/或用户密码进行加密处理。相应地,在步骤S130中包括:步骤S1301,客户端应用程序接收服务器发送的经过动态口令加密处理过的用户帐号和/或用户密码;随后,在步骤S1303中,客户端应用程序根据动态口令,对经过加密处理的用户帐号和/或用户密码进行解密处理,得到用户帐号和/或用户密码。
[0056]服务器可以通过HTTPS (超文本传输协议)接口向客户端应用程序发送用户账户/用户密码,服务器也可以通过短消息的方式将用户帐号和/或用户密码发送给客户端应用程序,则该客户端应用程序需要拦截短消息,并从拦截到的短消息中获取经过加密处理的用户帐号和/或用户密码。
[0057]由于客户端应用程序接收的用户帐号和/或用户密码,是经过服务器基于动态口令加密处理过的,且动态口令是由移动终端上的客户端应用程序生成,这样保证了只有该移动终端上的客户端应用程序根据其之前生成的动态口令才能进行正确解密,并得到用户帐号和/或用户密码,从而提高了用户注册过程的安全性。
[0058]客户端应用程序得到所述用户帐号和/或用户密码之后,利用接收到的所述用户帐号和/或用户密码自动登录。
[0059]需要说明的是,图1所示的方法并不限定按所示的各步骤的顺序进行,可以根据需要调整各步骤的先后顺序,另外,所述步骤也不限定于上述步骤划分,上述步骤可以进一步拆分成更多步骤也可以合并成更少步骤。
[0060]实施例二
[0061]如图2所示,为本发明的实施例中的适用于服务器侧的客户端应用程序的用户注册方法的流程图,该方法200包括:步骤S210、步骤S230、步骤S250和步骤S270,在步骤S210中,服务器接收客户端应用程序发送的注册请求消息,其中注册请求消息包括:唯一标识用户的标识符。
[0062]可选地,在本发明的实施例中,服务器可以部署在2G或3G网络中,该服务器可以接收短消息,服务器接收客户端应用程序以短消息的方式发送的注册请求消息。当然可以理解的是,在本发明的实施例中并不限定服务器接收注册请求消息的方式。
[0063]在本发明的实施例中,唯一标识用户的标识符可以为:移动终端的国际移动设备标识(IMEI)或移动终端的电话号码。例如:服务器可以从注册请求消息中解析得到终端设备的移动终端的国际移动设备标识或移动终端的电话号码,由于移动终端的国际移动设备标识或移动终端的电话号码具有唯一性,使得服务器可以知道是哪一台移动终端发送注册请求消息。
[0064]唯一标识用户的标识符可以为:移动终端的国际移动设备标识(IMEI)或移动终端的电话号码。在以短消息发送的方式中,客户端应用程序可以将包括有唯一标识用户的标识符和动态口令的注册请求消息发送至短信网关,由短信网关对该注册请求消息进行解析,并将解析得到的发送该注册请求消息的移动终端的电话号码、运营商的信息以及短消息中的信息内容发送给服务器,该短消息中的信息内容可以包括唯一标识用户的标识符和动态口令。在此过程中短信网关可以对移动终端的电话号码的有效性进行验证,例如,如果用户发送的唯一标识用户的标识符就是移动终端的电话号码,则短信网关可以根据自身解析出来的发送方电话号码来对该唯一标识用户的标识符中的电话号码进行验证,由此可以避免用户恶意注册的行为。
[0065]步骤S230、服务器根据注册请求消息中的唯一标识用户的标识符生成用于登录客户端应用程序的用户帐号和/或用户密码。
[0066]可选地,在本发明的实施例中,服务器可以为唯一标识用户的标识符分配一个唯一的用户帐号和/或随机生成一个用户密码。也就是,在服务器的数据库中会记录唯一标识用户的标识符与用户帐号和/或用户密码的对应关系,参见下表:
【权利要求】
1.一种客户端应用程序的用户注册方法,适用于移动终端侧,所述方法包括: 所述移动终端上的客户端应用程序向服务器发送获取请求消息,所述获取请求消息用于获取由所述服务器生成的、用于登录所述客户端应用程序的用户帐号和/或用户密码; 所述客户端应用程序接收所述服务器发送的用户帐号和/或用户密码。
2.根据权利要求1所述的方法,其中,所述方法还包括: 所述客户端应用程序接收到所述用户帐号和/或用户密码之后,利用接收到的所述用户帐号和/或用户密码自动登录。
3.根据权利要求1或2所述的方法,其中,在所述客户端应用程序向服务器发送获取请求消息的步骤之前,所述方法还包括: 所述客户端应用程序生成至少一个动态口令; 所述客户端应用程序向所述服务器发送注册请求消息,所述注册请求消息包括:唯一标识用户的标识符和动态口令,所述用户帐号和/或用户密码由所述服务器根据所述唯一标识用户的标识符生成得到。
4.根据权利要求3所述的方法,其中,所述客户端应用程序向服务器发送注册请求消息的步骤为: 所述客户端应用程序将包括有唯一标识用户的标识符和动态口令的注册请求消息发送至短信网关,由所述短信网关将所述注册请求消息发送给所述服务器。
5.根据权利要求3或4所述的方法,其中,所述客户端应用程序接收所述服务器发送的用户帐号和/或用户密码的步骤包括: 所述客户端应用程序接收所述服务器发送的经过所述动态口令加密处理过的用户帐号和/或用户密码; 所述客户端应用程序根据所述动态口令,对经过加密处理的用户帐号和/或用户密码进行解密处理,得到所述用户帐号和/或用户密码。
6.根据权利要求5所述的方法,其中,所述客户端应用程序接收所述服务器发送的经过所述动态口令加密处理过的用户帐号和/或用户密码的步骤为: 所述客户端应用程序拦截所述服务器发送的短消息,并从拦截到的短消息中获取经过所述动态口令加密处理的用户帐号和/或用户密码。
7.一种客户端应用程序的用户注册方法,适用于服务器侧,所述方法包括: 所述服务器接收客户端应用程序发送的注册请求消息,所述注册请求消息包括:唯一标识用户的标识符; 所述服务器根据所述注册请求消息中的唯一标识用户的标识符生成用于登录所述客户端应用程序的用户帐号和/或用户密码; 所述服务器接收所述客户端应用程序发送的获取请求消息,所述获取请求消息用于获取用于登录所述客户端应用程序的用户帐号和/或用户密码; 所述服务器将生成的用户帐号和/或用户密码发送给所述客户端。
8.根据权利要求7所述的方法,其中,所述注册请求消息还包括:由客户端应用程序预先生成的动态口令; 所述服务器将生成的用户帐号和/或用户密码发送给所述客户端的步骤包括: 所述服务器根据所述注册请求消息中的动态口令,对生成的用户帐号和/或用户密码进行加密; 所述服务器将经过加密的用户帐号和/或用户密码发送给所述客户端。
9.一种移动终端,包括: 获取请求发送模块,用于向服务器发送获取请求消息,所述获取请求消息用于获取由服务器生成的、用于登录所述客户端应用程序的用户帐号和/或用户密码; 注册信息接收模块,用于接收所述服务器发送的用户帐号和/或用户密码。
10.一种服务器,包括: 注册请求接收模块,用于接收客户端应用程序发送的注册请求消息,所述注册请求消息包括:唯一标识用户的标识符; 注册信息生成模块,用于根据所述注册请求消息中的唯一标识用户的标识符生成用于登录所述客户端应用程序的用户帐号和/或用户密码; 获取请求接收模块,用于接收所述客户端应用程序发送的获取请求消息,所述获取请求消息用于获取用户帐号和/或用户密码; 注册信息发送模块,用于将生成的用户帐号和/或用户密码发送给所述客户端。
【文档编号】H04L12/58GK103647695SQ201310533448
【公开日】2014年3月19日 申请日期:2013年10月31日 优先权日:2013年10月31日
【发明者】赵刚 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司