发明内容
本发明的目的是提供一种数据处理方法、装置、计算机设备及计算机可读存储介质,用于解决以下问题:依赖DNS包解析得到的IP地址对基于QUIC协议传输的信息进行封堵,容易造成误封堵的情况,导致封堵效率低,且不便于对基于QUIC协议传输的信息的信息管理。
本发明实施例的一个方面提供了一种数据处理方法,用于中间服务器中,所述中间服务器配置有域名黑名单,所述域名黑名单包括一个或多个需要被劫持的域名;所述方法包括:
接收终端设备向目标服务器发送的连接请求,所述连接请求携带有所述目标服务器的目标域名;
判断所述连接请求是否为基于QUIC协议的请求;
若所述连接请求为基于所述QUIC协议的请求,则从所述连接请求中获取所述目标域名;及
根据所述目标域名和所述域名黑名单,确定是否阻塞所述连接请求。
可选地,所述判断所述连接请求是否为基于QUIC协议的请求,包括:
判断所述连接请求是否为基于UDP协议的请求;
若所述连接请求为基于所述UDP协议的请求,则从所述连接请求中获取协议版本信息;及
根据所述协议版本信息与所述QUIC协议,判断所述连接请求是否为基于所述QUIC协议的请求。
可选地,所述根据所述目标域名和所述域名黑名单,确定是否阻塞所述连接请求,包括:
判断所述域名黑名单是否包括所述目标域名;及
若所述域名黑名单包括所述目标域名,则确定阻塞所述连接请求,根据所述连接请求生成表示连接失败的复位信息,并发送所述复位信息至所述终端设备,以使所述终端设备根据所述复位信息确定是否发送新连接请求并更新该新连接请求的传输协议。
可选地,所述方法还包括:
若所述连接请求是基于所述UDP协议的请求但不是基于所述QUIC协议的请求,则转发所述连接请求。
可选地,所述方法还包括:
若所述连接请求不是基于所述UDP协议的请求,则判断所述连接请求是否为基于SSL协议的请求;
若所述连接请求为基于所述SSL协议的请求,则从所述连接请求中获取所述目标域名;
根据所述目标域名和所述域名黑名单,确定是否劫持所述连接请求;
若确定劫持所述连接请求,则获取所述连接请求中的内容;
对所述连接请求中的内容进行校验,得到校验结果;及
根据所述校验结果,转发所述连接请求或根据所述校验结果,生成表示连接失败的复位信息,并发送所述复位信息至所述终端设备。
可选地,所述方法还包括:
若所述连接请求不是基于所述UDP协议的请求,且所述连接请求不是基于所述SSL协议的请求,则转发所述连接请求。
可选地,所述判断所述连接请求是否为基于QUIC协议的请求之前,所述方法还包括:
判断所述连接请求是否为访问预设端口的请求;
若所述连接请求为访问预设端口的请求,则确定进一步判断所述连接请求是否为基于QUIC协议的请求的操作。
本发明实施例的一个方面又提供了一种数据处理装置,用于中间服务器中,所述中间服务器配置有域名黑名单,所述域名黑名单包括一个或多个需要被劫持的域名;所述装置包括:
接收模块,用于接收终端设备向目标服务器发送的连接请求,所述连接请求携带有所述目标服务器的目标域名;
判断模块,用于判断所述连接请求是否为基于QUIC协议的请求;
获取模块,用于若所述连接请求为基于所述QUIC协议的请求,则从所述连接请求中获取所述目标域名;及
确定模块,用于根据所述目标域名和所述域名黑名单,确定是否阻塞所述连接请求。
本发明实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述数据处理方法的步骤。
本发明实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及存储在存储器上并可在至少一个处理器上运行的计算机程序,所述至少一个处理器执行所述计算机程序时实现如上述数据处理方法的步骤。
本发明提供的数据处理方法、装置、计算机设备以及计算机可读存储介质,当所述连接请求为基于所述QUIC协议的请求时,从所述连接请求中获取所述目标域名;根据所述目标域名和所述域名黑名单,确定是否阻塞所述连接请求。基于目标域名和域名黑名单的比对方式实现对基于QUIC协议的请求的封堵,有效提高了封堵的准确率和效率。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
本发明人了解到:通常依赖于DNS包(Domain Name System,域名系统),根据DNS包中的域名解析得到的IP地址(Internet Protocol Address,网际互联协议地址)对基于QUIC协议(Quick UDP Internet Connection,基于UDP的低时延的互联网传输层协议)的请求进行封堵。
现有技术中企业网络对于连接请求为基于QUIC协议的请求的封堵存在以下场景:
(1)若该连接请求不包括DNS包,则无法获取IP地址,进而无法实现对于该基于QUIC协议的请求的封堵。
(2)若该连接请求有DNS包,但无法从DNS包中提取出IP地址,则无法实现对于该基于QUIC协议的请求的封堵。
(3)一个目标服务器可对应有多个域名,多个域名包括主机域名和一个或多个别名;例如qianxin.com为主机域名,www.qianxin.com、mail.qianxin.com为别名。若该连接请求有DNS包,由于DNS包中的域名为别名,无法从DNS包中提取出主机域名对应的IP地址,则无法实现对于该基于QUIC协议的请求的封堵。
(4)若该连接请求有DNS包,并从DNS包解析得到IP地址,但是该IP地址对应有多个域名时,无法对单个域名对应的信息进行区分,会对该IP地址对应的所有域名的流量进行劫持,造成误劫持,导致封堵效率低,且不便于对基于QUIC协议传输的信息的信息管理。例如已知A网站的IP地址是1.1.1.1,B网站的IP地址也是1.1.1.1,C网站的IP地址仍然是1.1.1.1;假设只需要对A网站进行封堵,对B、C网站进行放行;若基于A网站的IP地址对A网站进行封堵,则会将A、B、C三个网站都封堵。
(5)若某些私有协议也使用443端口(网络连接端口),则无法区分上述私有协议和QUIC协议,导致误封堵。
(6)由于不同时间或者地点对DNS包中同一域名解析出来的IP地址不同,即多个IP地址对应同一个域名,若基于解析得到的IP地址对连接请求进行封堵,封堵准确率较低。
(7)若连接请求不是通过DNS包获取到IP地址,而是通过DNS-Over-HTTP的方式去获取IP地址,容易出现无法获取IP地址的情况,进而无法实现对于该基于QUIC协议的请求的封堵。
为解决上述问题,下文将提供多个实施例,下文提供的各个实施例可以用于实现针对指定的基于QUIC协议的请求的封堵。
图1示意性示出了根据本发明实施例的数据处理方法的环境应用示意图。
在示例性的实施例中,如图1所示,终端设备6可以通过网络8连接中间服务器4,中间服务器4可以通过网络8连接目标服务器2;终端设备6和中间服务器4位于网络8中。
终端设备6,可以用于向目标服务器2发送连接请求,以访问所述目标服务器2。终端设备6可以包括任何类型的终端设备6,如:移动设备,平板设备,膝上型计算机,智能设备(例如,智能手表,智能眼镜),虚拟现实耳机,游戏设备,机顶盒,数字流设备,机器人,车载终端,智能电视,电子书阅读器,MP4(运动图像专家组音频层IV)播放器等。
网络8,可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络8可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络8可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物。
中间服务器4,可以用于判断是否阻塞所述终端设备6发送的连接请求;还可以用于判断是否劫持所述终端设备6发送的连接请求,并对所述连接请求的内容进行校验,以实现对所述连接请求的内容的数据安全性进行管控。中间服务器4可以是以下设备,诸如:机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
目标服务器2,用于响应所述连接请求。所述目标服务器2可以是以下设备,诸如:机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
基于数据安全性的考虑,终端设备6通过网络8发送连接请求时,中间服务器4有必要在不影响各个终端设备6的上网需求的同时,对每个终端设备6发送的连接请求进行检测和控制。
本发明旨在提供一种数据处理方案,在本数据处理方案中:中间服务器4从基于QUIC协议的请求的内容中提取域名,并通过提取到的域名实现对该基于QUIC协议的请求的封堵;在中间服务器4对该基于QUIC协议的请求进行一次或多次封堵后,终端设备6将该基于QUIC协议的请求降级成基于SSL协议的请求,中间服务器4接收基于SSL协议的请求,并使用中间人攻击的方式对该基于SSL协议的请求进行劫持并解密,以实现对该基于SSL协议的请求的检测和控制。
实施例一
下面以中间服务器4为执行主体进行示例性描述。
在本实施例中,所述中间服务器4配置有域名黑名单,所述域名黑名单包括一个或多个需要被劫持的域名。所述中间服务器4还配置有数据校验模块。
请参阅图2,示出了本发明实施例一的数据处理方法的整体步骤流程图。
如图2所示,所述数据处理方法可以包括步骤S200~步骤S206,其中:
步骤S200,接收终端设备向目标服务器发送的连接请求,所述连接请求携带有所述目标服务器的目标域名。
步骤S202,判断所述连接请求是否为基于QUIC协议的请求。
为了提高中间服务器4对于各个终端设备6发送的连接请求的数据校验效率;在所述判断所述连接请求是否为基于QUIC协议的请求之前,所述方法还包括:判断所述连接请求是否为访问预设端口的请求;若所述连接请求为访问预设端口的请求,则确定进一步判断所述连接请求是否为基于QUIC协议的请求的操作。其中,所述预设端口可以为目标服务器2的443端口(网络连接端口),443端口可以支持QUIC协议(Quick UDP InternetConnection,基于UDP的低时延的互联网传输层协议)、SSL协议(Secure Sockets Layer,安全套接字协议)、某些私有协议等通信传输协议。示例性的,中间服务器4根据连接请求中的内容判断所述连接请求是否为访问443端口的请求;若所述连接请求为访问443端口的请求,则确定执行步骤S202;若所述连接请求不是访问443端口的请求,则转发该连接请求,例如,将该连接请求转发至目标服务器2;或者将该连接请求转发至中间服务器4中的其他数据校验模块。
为了提高中间服务器4对于基于QUIC协议的请求的数据安全性的管控便捷性,请参阅图3,判断所述连接请求是否为基于QUIC协议的请求还可以通过以下操作得到,具体如下:步骤S300,判断所述连接请求是否为基于UDP协议的请求;步骤S302,若所述连接请求为基于所述UDP协议的请求,则从所述连接请求中获取协议版本信息;及步骤S304,根据所述协议版本信息与所述QUIC协议,判断所述连接请求是否为基于所述QUIC协议的请求。在本实施例中,首先需要通过数据校验模块判断所述连接请求是否为基于UDP协议(UserDatagram Protocol,用户数据报协议)的请求。由于QUIC协议的底层协议为UDP协议,某些私有协议的底层协议也可以为UDP协议,因此,若所述连接请求为基于UDP协议的请求,则再通过数据校验模块提取所述连接请求中的协议版本信息,并根据协议版本信息判断所述连接请求是否为基于QUIC协议的请求。若所述协议版本信息为包括QUIC协议的版本信息,则确定所述连接请求为基于QUIC协议的请求;若所述协议版本信息不包括QUIC协议的版本信息,则确定所述连接请求为基于所述UDP协议的请求但不是基于所述QUIC协议的请求。基于所述UDP协议的请求但不是基于所述QUIC协议的请求可以理解为是基于上述任一私有协议的请求。示例性的,若所述连接请求是基于所述UDP协议的请求但不是基于所述QUIC协议的请求,则转发所述连接请求。可以理解为是,若连接请求为基于上述任一私有协议的请求,则将该连接请求转发至目标服务器2或者根据中间服务器4中预设的安全策略将该连接请求转发至中间服务器4的其他处理模块中进行处理。
在本发明实施例中,所述数据处理方法通过连接请求是否为预设端口的请求以及连接请求是否为基于UDP协议的请求的双重判断,能够快速区分基于私有协议的请求和基于QUIC协议的请求,避免误封堵基于私有协议的请求;因此,所述数据处理方法不会对某些私有协议进行封堵,所述数据处理方法能够覆盖不封堵某些私有协议的请求的场景,保证某些基于私有协议的公司业务的正常运行。
步骤S204,若所述连接请求为基于所述QUIC协议的请求,则从所述连接请求中获取所述目标域名。
所述目标域名可以是一个完整域名,也可以是一个模糊域名。举例而言,完整域名可以为www.qianxin.com;模糊域名可以为*.qianxin.com。
步骤S206,根据所述目标域名和所述域名黑名单,确定是否阻塞所述连接请求。
其中,阻塞所述连接请求可以理解为是,截断终端设备6发送的连接请求。
本发明实施例提供的数据处理方法,可直接提取连接请求的目标域名,以实现对连接请求为基于QUIC协议的请求的封堵,无需考虑连接请求中是否包括DNS包、是否能够从连接请求的DNS包中提取出IP地址、连接请求的DNS包是否包括域名别名、通过DNS-Over-HTTP的方式去获取IP地址,却无法获取到IP地址等情况;在本发明实施例中,不需要从连接请求中提取出IP地址,直接从连接请求中提取出目标域名即可实现对连接请求为基于QUIC协议的请求的封堵;因此,所述数据处理方法至少还能够覆盖以下场景:
场景一:连接请求不包括DNS包导致无法获取IP地址;
场景二:连接请求中有DNS包但无法从DNS包中提取出IP地址;
场景三:连接请求中有DNS包,且DNS包中包括域名别名,因此无法从DNS包中提取出主机域名对应的IP地址;
场景四:通过DNS-Over-HTTP的方式去获取IP地址,但无法获取到IP地址。
需要说明的是,现有技术中从连接请求的DNS包中提取一个IP地址,且一个IP地址对应多个域名时,会拦截该IP地址对应的所有域名的请求的方案容易造成误封堵的问题;然而,在本发明实施例中,所述数据处理方法针对一条连接请求直接提取其对应的目标域名,不需要从连接请求中提取IP地址,根据目标域名和域名黑名单能够实现是否阻塞该条连接请求,不会出现解析一个目标域名而封堵多条连接请求的情况,避免误封堵,有效提高封堵效率。
现有技术中因时间或地点的差异,根据连接请求的DNS包中的一个域名可以解析得到多个IP地址,根据多个IP地址会拦截到多个连接请求,容易造成封堵基于QUIC协议的请求准确率低的问题;然而,在本发明实施例中,所述数据处理方法直接根据连接请求的目标域名和域名黑名单进行判断是否阻塞连接请求,不需要从连接请求中提取出IP地址,进而不需要考虑DNS包中的一个域名是否会解析多个IP地址的情形;本发明实施例提供的数据处理方法能够直接有效地提高对基于QUIC协议的请求的封堵准确率和效率。
为了实现对基于QUIC协议的请求的数据安全性的管控,如图4所示,根据所述目标域名和所述域名黑名单,确定是否阻塞所述连接请求的步骤S206还可以包括步骤S400~S402,其中:步骤S400,判断所述域名黑名单是否包括所述目标域名;及步骤S402,若所述域名黑名单包括所述目标域名,则确定阻塞所述连接请求,根据所述连接请求生成表示连接失败的复位信息,并发送所述复位信息至所述终端设备,以使所述终端设备根据所述复位信息确定是否发送新连接请求并更新该新连接请求的传输协议。在本实施例中,可以采用ACBM(Aho-Corasick Boyer-Moore,多模匹配字符串搜索算法)等字符串查找的算法,确定所述域名黑名单是否包括目标服务器2的目标域名。若所述域名黑名单包括所述目标域名,则确定阻塞所述连接请求;若所述域名黑名单不包括所述目标域名,则确定不阻塞所述连接请求,并转发所述连接请求至目标服务器2或者根据中间服务器4中预设的安全策略将该连接请求转发至中间服务器4的其他处理模块中进行处理。
作为示例,若终端设备6首次接收到中间服务器4返回的复位信息,终端设备6会重新向目标服务器2发送连接请求。当终端设备6接收到预设次数的复位信息后,终端设备6会更新传输协议,例如将QUIC协议降级为SSL协议,并向目标服务器2发送基于SSL协议的请求。
为了保证中间服务器4对于终端设备6发送的连接请求的数据安全性的有效管控,请参阅图5,所述方法还包括步骤S500~S510,其中:步骤S500,若所述连接请求不是基于所述UDP协议的请求,则判断所述连接请求是否为基于SSL协议的请求;步骤S502,若所述连接请求为基于所述SSL协议的请求,则从所述连接请求中获取所述目标域名;步骤S504,根据所述目标域名和所述域名黑名单,确定是否劫持所述连接请求;步骤S506,若确定劫持所述连接请求,则获取所述连接请求中的内容;步骤S508,对所述连接请求中的内容进行校验,得到校验结果;及步骤S510,根据所述校验结果,转发所述连接请求或根据所述校验结果,生成表示连接失败的复位信息,并发送所述复位信息至所述终端设备。在本实施例中,劫持所述连接请求,可以理解为拦截终端设备6发送的连接请求,并对连接请求的内容进行校验。若连接请求不是基于所述UDP协议的请求,则根据所述SSL协议判断所述连接请求是否为基于所述SSL协议的请求;若所述连接请求为基于所述SSL协议的请求,则采用中间人攻击的方式对该连接请求进行劫持,并解密所述连接请求以获取所述连接请求中的内容;根据中间服务器4中预设的数据安全校验规则对所述连接请求的内容进行校验。示例性的,若所述连接请求不是基于所述UDP协议的请求,且所述连接请求不是基于所述SSL协议的请求,则转发所述连接请求;即将该连接请求转发至目标服务器2或者根据中间服务器4中预设的安全策略将该连接请求转发至中间服务器4的其他处理模块中进行处理。
为了更加清晰明白,下面结合图6示例性说明本发明对于终端设备6发送的连接请求的处理操作,具体如下:
①终端设备6向目标服务器2发送连接请求(Client Hello,CHLO),该连接请求为基于QUIC协议的请求。
②中间服务器4接收到CHLO后,确定该连接请求为基于QUIC协议的请求,并根据所述连接请求里的目标域名,确定是否阻塞所述连接请求。
③若中间服务器4确定阻塞所述连接请求,则生成复位信息(Reset,RST)并返回至终端设备6。
④终端设备6接收到RST后,将QUIC协议降级为SSL协议,并向目标服务器2发送新连接请求(Client Hello,CHLO),该新连接请求为基于SSL协议的请求。
⑤中间服务器4接收到该新连接请求后,确定该新连接请求为基于SSL协议的请求,根据该新连接请求里的目标域名,确定是否劫持该新连接请求。
⑥中间服务器4若确定劫持该新连接请求,则根据预设的数据安全校验规则对该新连接请求中的内容进行校验,得到校验结果;且当校验结果表示为校验通过时,将该新连接请求转发至目标服务器2,以使目标服务器2响应该新连接请求。
在本发明实施例中,当所述连接请求为基于所述QUIC协议的请求时,从所述连接请求中获取所述目标域名;根据所述目标域名和所述域名黑名单,确定是否阻塞所述连接请求。基于目标域名和域名黑名单的比对方式实现对基于QUIC协议的请求的封堵,有效提高了封堵的准确率和效率。
综上,本发明实施例至少能够覆盖以下场景以实现对基于QUIC协议的请求的封堵:
(1)能够覆盖连接请求中不包括DNS包的场景。
(2)能够覆盖不依赖DNS包,通过DNS-Over-HTTP的方式却无法获取IP地址的场景。
(3)能够满足同一个IP地址对应多个域名的场景,只对指定域名的连接请求进行封堵。
(4)能够解决某些私有协议的场景,不对某些私有协议进行封堵。
本发明实施例至少具有以下有益效果:
(1)能够覆盖更多的应用场景,以实现对域名黑名单中各域名对应的基于QUIC协议的请求进行封堵。
(2)通过目标域名和域名黑名单比对的方式进行基于QUIC协议的请求的封堵,有效提高封堵的精确率和效率,能够合理地对基于QUIC协议的请求进行检测和控制,避免误封堵;不会干扰到在企业网络通过私有协议或其他协议进行的公司业务。
(3)实施简单有效,不会过多耗费中间服务器4的资源,不会影响到中间服务器4的性能。
实施例二
图7示意性示出了根据本发明实施例二的数据处理装置的框图,该数据处理装置可以被分割成程序模块,一个或者多个程序模块被存储于存储介质中,并由处理器所执行,以完成本发明实施例。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。该数据处理装置700用于中间服务器4,所述中间服务器4配置有域名黑名单,所述域名黑名单包括一个或多个需要被劫持的域名。
如图7所示,该数据处理装置700可以包括接收模块702、判断模块704获取模块706以及确定模块708,其中:
接收模块702,用于接收终端设备向目标服务器发送的连接请求,所述连接请求携带有所述目标服务器的目标域名;
判断模块704,用于判断所述连接请求是否为基于QUIC协议的请求;
获取模块706,用于若所述连接请求为基于所述QUIC协议的请求,则从所述连接请求中获取所述目标域名;及
确定模块708,用于根据所述目标域名和所述域名黑名单,确定是否阻塞所述连接请求。
在示例性的实施例中,所述判断模块704还用于:判断所述连接请求是否为基于UDP协议的请求;若所述连接请求为基于所述UDP协议的请求,则从所述连接请求中获取协议版本信息;及根据所述协议版本信息与所述QUIC协议,判断所述连接请求是否为基于所述QUIC协议的请求。
在示例性的实施例中,所述确定模块708还用于:判断所述域名黑名单是否包括所述目标域名;及若所述域名黑名单包括所述目标域名,则确定阻塞所述连接请求,根据所述连接请求生成表示连接失败的复位信息,并发送所述复位信息至所述终端设备,以使所述终端设备根据所述复位信息确定是否发送新连接请求并更新该新连接请求的传输协议。
在示例性的实施例中,所述数据处理装置700还包括第一处理模块(未标识),所述第一处理模块,用于若所述连接请求是基于所述UDP协议的请求但不是基于所述QUIC协议的请求,则转发所述连接请求。
在示例性的实施例中,所述数据处理装置700还包括第二处理模块(未标识),所述第二处理模块,用于:若所述连接请求不是基于所述UDP协议的请求,则判断所述连接请求是否为基于SSL协议的请求;若所述连接请求为基于所述SSL协议的请求,则从所述连接请求中获取所述目标域名;根据所述目标域名和所述域名黑名单,确定是否劫持所述连接请求;若确定劫持所述连接请求,则获取所述连接请求中的内容;对所述连接请求中的内容进行校验,得到校验结果;及根据所述校验结果,转发所述连接请求或根据所述校验结果,生成表示连接失败的复位信息,并发送所述复位信息至所述终端设备。
在示例性的实施例中,所述第二处理模块还用于:若所述连接请求不是基于所述SSL协议的请求,则转发所述连接请求。
在示例性的实施例中,所述判断模块704还用于:判断所述连接请求是否为访问预设端口的请求;若所述连接请求为访问预设端口的请求,则确定进一步判断所述连接请求是否为基于QUIC协议的请求的操作。
实施例三
图8示意性示出了根据本发明实施例三的适于实现数据处理方法的计算机设备10000的硬件架构示意图。所述计算机设备1000可以作为终端设备6和目标服务器2中的任何一个。本实施例中,计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行分数计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)、网关等。如图8所示,计算机设备10000至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如数据处理方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division MultIP地址le Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件10010-10030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的数据处理方法还可以被分割为一个或者多个程序模块,并由处理器(本实施例为处理器10020)所执行,以完成本发明实施例。
实施例四
本发明还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被至少一个处理器执行时实现实施例中的数据处理方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中数据处理方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。