本发明属于信息处理技术领域,尤其涉及一种接口访问实时统计方法及系统。
背景技术:
随着社会信息化的不断发展,单个公司或部门想要独立的完成一个大的项目或者工程都是不现实的,大多都需要多公司或多部门间的协同合作来完成。那么在这个过程中的相互调用访问都需要有一个详细的统计和展示才能做到完善的监管和出现问题的及时定位与追踪,这使得我们必须有一种高效的接口访问实时统计方法来应对。上述统计指的是接口访问的信息。
现有接口访问统计方法多是接收到接口的访问信息后解析接口报文中的信息直接存储到数据库中然后直接查询使用,或是根据方法更新表数据中的访问次数字段。
图1现有技术中心通过数据库来实现接口访问统计的流程,包括以下步骤:
步骤s1,客户端发送接口访问统计信息请求;
步骤s2,服务端接收客户端发送的查询请求;
步骤s3,服务端判断该请求是否是合法的请求报文,如果是则跳转到步骤s4,如果否,则返回失败信息;
步骤s4,如果是,则查询数据库,组成结果报文返回客户端;
步骤s5,结束。
该技术是目前最为普遍的接口访问统计的一种实现。其技术实现是客户端发送查询请求后,服务端通过报文格式判断和接口访问信息表的查询来获取接口访问统计数据。
上述的接口访问统计主要是数据库查询,受限于数据库的查询语句执行速度,当大量的获取请求发送到服务端,或实时访问需要较快的响应时,服务端的处理性能就会受到数据库执行速度的影响,无法做到在用户无感的时间范围内处理完毕,从而影响用户使用体验。
技术实现要素:
为了解决现有技术中的上述问题,本发明提出了一种接口访问实时统计方法,该方法包括如下步骤:
将数据库中的历史接口访问数据初始化到内存中;
当接收到接口访问统计信息请求时,对该请求进行解析,确定接口信息及请求方法;
根据请求方法和接口信息获取内存中的访问数据记录;
根据所述访问数据记录,确定接口访问统计信息,并返回。
根据本发明的方法,优选的,当有接口访问时,当有接口访问时,更新内存中的历史接口访问数据信息,并同时将该历史接口访问数据信息更新到数据库中。
根据本发明的方法,优选的,通过可配置的数据同步时间,在后台独立的将接口访问信息存储到数据库独立的数据库表项中。
根据本发明的方法,优选的,根据请求对应的接口不同返回不同的接口访问数据统计信息。
根据本发明的方法,优选的,在接收到接口访问统计信息请求后,需要判断请求是否合法,如果合法,则对该请求进行解析,确定接口信息及请求方法,并根据请求方法和接口信息获取内存中的访问数据记录,如果不合法,则不对该请求进行解析,直接返回失败信息。
为了解决现有技术中的上述问题,本发明提出了一种接口访问实时统计系统,该系统包括:客户端、服务端,服务端包括:
数据初始化模块,将数据库中的历史接口访问数据初始化到内存中;
请求解析模块,当接收到接口访问统计信息请求时,对该请求进行解析,确定接口信息及请求方法;
数据访问模块,根据请求方法和接口信息获取内存中的访问数据记录;
数据返回模块,根据所述访问数据记录,确定接口访问统计信息,并返回。
根据本发明的系统,优选的,所述服务端包括数据更新模块:当有接口访问时,更新内存中的历史接口访问数据信息,并同时将该历史接口访问数据信息更新到数据库中。
根据本发明的系统,优选的,所述数据更新模块通过可配置的数据同步时间,在后台独立的将接口访问信息存储到数据库独立的数据库表项中。
根据本发明的系统,优选的,所述数据返回模块,根据请求对应的接口不同返回不同的接口访问数据统计信息。
根据本发明的系统,优选的,该系统为网间文件交换系统。
本发明的有益效果包括:
(1)可以应对更多的客户端并发查询;
(2)提高客户端展示接口统计信息的效率。
【附图说明】
此处所说明的附图是用来提供对本发明的进一步理解,构成本发明的一部分,但并不构成对本发明的不当限定,在附图中:
图1是现有技术中的接口数据统计查询方法流程图。
图2是本发明的接口访问实时统计系统总体组成图。
图3是本发明接口访问实时统计方法流程图。
图4是采用本发明方案的网间文件交换系统组成图。
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
终端策略,是指对终端制定准入控制策略,即允许或禁止终端访问某些应用服务器
ip规则,针对ip地址的管控规则,即允许或禁止ip包从源地址ip发送到目的地址ip,其中ip地址可以是一个地址范围
本发明从实际需求和应用的角度出发,根据接口访问统计在数据安全管理时的特点,及客户端及时访问时需要快速判断并返回数据的特点,提出了一种新的解决方案。
在管理接口访问信息时,当接口访问信息新增时,更新内存信息,将接口访问信息同步到内存中进行处理。同时,通过可配的数据同步时间,在后台独立的将接口访问信息存储到独立的数据库表项中。当服务端发生主动重启或异常重启时。更新内存将接口访问从数据库中同步到内存中。当客户端的查询接口访问统计信息请求发送到服务端时,服务端接受到消息后从内存中查找对应的接口访问统计信息组成相应的报文再返回,大大的加速了用户获取接口访问统计信息的速度。
如图2,本发明包括:客户端和服务端,通过客户端发送接口访问信息查询请求;
服务端包括以下功能模块:
接口访问分类统计模块,对接口访问信息进行分类统计,根据接口访问信息中的关键字进行分类;
接口访问信息同步模块,实时将接口访问信息同步到内存中;
定时信息更新模块,根据配置的定时周期,定期将接口访问信息更新到数据库;
接口访问初始化模块,对接口访问信息进行初始化。
本发明的关键是将接口访问信息按关键字进行分类后的分类统计信息同步到内存,及信息的定时存储的处理,有效的避免了数据库查询的速度慢的劣势。减少客户端获取接口访问信息处理时间消耗,提高大并发时处理的效率;另一关键点是经分类统计的接口访问信息定时存储到数据库中,避免了服务端异常时接口访问信息的丢失问题。
图3,是本发明获取接口访问统计信息的请求流程图。
接口访问统计信息请求是一个信息查询的过程,根据请求获取的接口不同返回不同的接口访问数据统计信息。具体是根据访问接口中的关键字进行分类统计记录,然后当接收到查询访问接口统计信息请求时,根据此次查询请求中的关键字去匹配之前存储分类的关键字,然后返回查询到的数据。返回的数据是统一格式的信息。
接口访问统计信息请求处理流程如下:
1)将数据库中存储的历史接口访问数据初始化到内存中;
2)当有接口访问时,更新内存中的接口访问统计数据信息,同时将内存中的接口访问统计数据信息同步到数据库;
3)接收到获取接口访问统计信息请求后,判断请求是否合法,如果合法,对请求进行解析,得到接口信息及请求方法(即接口报文中的关键字),如果请求非法,直接返回失败信息;
4)根据请求方法和接口信息获取内存中的访问数据记录;
5)将查询到的数据组成相应的响应报文返回给客户端。
下面以网间文件交换系统使用本发明的技术方案进行举例。
在实际运行时,网间文件交换系统首页信息展示必须展示当天的接口访问统计信息,以及历史信息的存储。同时需要页面上的接口访问信息能够做到实时的同步。来达到异常及时判断及时处理的目的。
如图4,网间文件交换系统包含三部分:web控制台、服务端、业务数据库。在网间文件交换系统中用户需要在多个由网闸隔离的子网络间传递文件。
web管理控制台主要包含首页展示、系统管理、网络管理、策略管理、事件管理、文件交换管理。
服务端主要提供展示信息获取、文件交换服务、策略管理服务、事件管理服务。
业务数据库主要用户存储事件信息、日志信息、策略信息、文件交换信息、接口访问数据统计信息。
使用本发明技术方案的主要业务流程如下:
(1)由服务端在启动时将历史的接口访问统计数据同步到内存中,在运行过程中将最新的接口访问信息更新到内存中;
(2)由服务端开启单独的服务定时将最新接口访问数据更新到数据库中;
(3)客户端发送查询接口访问统计信息请求时,服务端根据请求信息取得对应的接口访问数据,并将所得的数据组成报文返回客户端;
通过本发明的方案,由于内存数据读取速度比数据库更快,可以应对更多的客户端并发查询;提高客户端展示接口统计信息的效率。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式发送机或其他可编程数据发送终端设备的发送器以产生一个机器,使得通过计算机或其他可编程数据发送终端设备的发送器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据发送终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据发送终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的发送,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种接口访问实时统计方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。