Pos开票服务器系统及其数据传输方法
【技术领域】
[0001]本发明涉及网络通信技术领域,尤其涉及一种POS (point of sale,销售终端)开票服务器系统及其数据传输方法。
【背景技术】
[0002]目前大中型商场超市普遍采用基于局域网的POS销售管理系统,该系统具有POS终端数量大,业务交易流水繁忙,商品种类多,支付类型和方式多样化的特点。
[0003]在POS开票服务器系统中,基于局域网的发票税控服务器采用C/S (Client/Server)架构,前台POS终端向发票税控服务器发送开票数据,发票税控服务器根据开票数据生成税控码并存储发票信息,同时将税控码返回到POS终端。
[0004]在上述POS开票服务器系统中,所有的POS终端处于同一个局域网内,相互之间存在数据并发,容易互相影响。同时,还存在非法的POS终端对发票税控服务器进行非法连接和非法攻击,因此,给开票服务器系统提供一个安全、稳定、高效、实时响应的网络环境是一个亟待解决的问题。
【发明内容】
[0005]本发明的实施例提供了一种POS开票服务器系统及其数据传输方法,以提高POS开票服务器系统的工作效率。
[0006]本发明提供了如下方案:
[0007]—种POS开票服务器系统的数据传输方法,包括:
[0008]POS开票服务器系统中的发票税控服务器接收到POS终端发送过来的连接建立请求后,所述发票税控服务器给所述POS终端分配通信通道资源,基于所述通信通道资源和所述POS终端之间建立通信通道;
[0009]所述POS终端利用和所述发票税控服务器协商确定的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器。
[0010]所述的发票税控服务器给所述POS终端分配通信通道资源,基于所述通信通道资源和所述POS终端之间建立通信通道,包括:
[0011]给发票税控服务器配置设定数量的通信通道资源,在发票税控服务器中设置支持I/o多路复用的空闲通信通道管理池、占用通信通道管理池和管理引擎,所述空闲通信通道管理池中管理所有空闲的通信通道资源,所述占用通信通道管理池中管理所有被占用的通信通道资源,在初始化时,所有的通信通道资源都位于空闲通信通道管理池中;
[0012]所述发票税控服务器通过监听端口接收到POS终端发送过来的连接建立请求后,从所述空闲通信通道资源管理池中提取出一个通信通道资源,给所述POS终端分配所述通信通道资源,利用所述通信通道资源建立和所述POS终端之间的通信通道,将所述分配给POS终端的通信通道资源加入到占用通信通道管理池中。
[0013]所述的方法还包括:
[0014]每个通信通道中包括一个I/O链路,所述管理引擎对每个通信通道中的I/O链路上的数据流进行监控,当所述管理引擎监控到一个或者多个I/o链路中有1事件发生后,所述管理引擎利用单线程并发或者轮询处理所述I/o链路中的1事件。
[0015]所述的POS终端利用和所述发票税控服务器协商确定的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器,包括:
[0016]所述POS终端检查本地是否存储有会话密钥,如果有,则用所述会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器;否则,所述POS终端向所述发票税控服务器发送会话密钥协商请求;
[0017]所述发票税控服务器判断距离上次和所述POS终端之间的会话密钥协商的时间间隔是否小于设定的时间值,如果是,则所述发票税控服务器拒绝和所述POS终端协商会话密钥;否则,所述发票税控服务器和所述POS终端协商会话密钥,根据所述POS终端的标识和当前时间生成会话密钥,通过所述通信通道将所述会话密钥发送给所述POS终端;所述POS终端利用所述发票税控服务器发送过来的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器;
[0018]所述发票税控服务器中的所述管理引擎通过所述通信通道接收所述加密后的业务数据,并利用所述会话密钥解密所述业务数据,对解密后的业务数据进行处理。
[0019]所述的方法还包括:
[0020]所述管理引擎对所述发票税控服务器和POS终端之间建立的每个通信通道的建立时长进行统计,当某个通信通道的建立时长超过了设定的通道最大时长,则所述管理引擎断开所述某个通信通道,将所述某个通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。
[0021]所述的方法还包括:
[0022]所述POS终端在业务数据的数据包的头部中设置数据包长度数值,所述发票税控服务器中的所述管理引擎利用所述会话密钥解密所述业务数据,从解密后的业务数据的数据包的头部中提取出数据包长度数值,判断所述数据包长度数值是否符合设定的数据包长度范围,如果是,则判断所述数据包合法,对所述数据包进行正常处理;否则,判断所述数据包非法,丢弃所述数据包,断开和发送所述非法数据包的POS终端之间的通信通道,将该通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。
[0023]一种POS开票服务器系统,包括:发票税控服务器和POS终端,
[0024]所述的发票税控服务器,用于接收到POS终端发送过来的连接建立请求后,给所述POS终端分配通信通道资源,基于所述通信通道资源和所述POS终端之间建立通信通道;
[0025]所述的POS终端,用于利用和所述发票税控服务器协商确定的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器。
[0026]所述的发票税控服务器,具体用于配置设定数量的通信通道资源,设置支持I/O多路复用的空闲通信通道管理池、占用通信通道管理池和管理引擎,所述空闲通信通道管理池中管理所有空闲的通信通道资源,所述占用通信通道管理池中管理所有被占用的通信通道资源,在初始化时,所有的通信通道资源都位于空闲通信通道管理池中;
[0027]通过监听端口接收到POS终端发送过来的连接建立请求后,从所述空闲通信通道资源管理池中提取出一个通信通道资源,给所述POS终端分配所述通信通道资源,利用所述通信通道资源建立和所述POS终端之间的通信通道,将所述分配给POS终端的通信通道资源加入到占用通信通道管理池中。
[0028]所述的每个通信通道中包括一个I/O链路,所述管理引擎对每个通信通道中的I/O链路上的数据流进行监控,当所述管理引擎监控到一个或者多个I/O链路中有1事件发生后,所述管理引擎利用单线程并发或者轮询处理所述I/o链路中的1事件。
[0029]所述的POS终端,具体用于检查本地是否存储有会话密钥,如果有,则用所述会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器;否则,所述POS终端向所述发票税控服务器发送会话密钥协商请求;利用所述发票税控服务器发送过来的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器;
[0030]所述的发票税控服务器,具体用于判断距离上次和所述POS终端之间的会话密钥协商的时间间隔是否小于设定的时间值,如果是,则拒绝和所述POS终端协商会话密钥;否贝U,和所述POS终端协商会话密钥,根据所述POS终端的标识和当前时间生成会话密钥,通过所述通信通道将所述会话密钥发送给所述POS终端;所述发票税控服务器中的所述管理引擎通过所述通信通道接收所述加密后的业务数据,并利用所述会话密钥解密所述业务数据,对解密后的业务数据进行处理。
[0031]所述的
发票税控服务器,具体用于通过所述管理引擎对所述发票税控服务器和POS终端之间建立的每个通信通道的建立时长进行统计,当某个通信通道的建立时长超过了设定的通道最大时长,则所述管理引擎断开所述某个通信通道,将所述某个通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。
[0032]所述的发票税控服务器,具体用于当所述POS终端在业务数据的数据包的头部中设置数据包长度数值后,通过所述管理引擎利用所述会话密钥解密所述业务数据,从解密后的业务数据的数据包的头部中提取出数据包长度数值,判断所述数据包长度数值是否符合设定的数据包长度范围,如果是,则判断所述数据包合法,对所述数据包进行正常处理;否则,判断所述数据包非法,丢弃所述数据包,断开和发送所述非法数据包的POS终端之间的通信通道,将该通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。
[0033]由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过发票税控服务器给每个POS终端分配一个通信通道资源,并建立一个通信通道,使得多个POS终端之间的数据并发不会互相影响。利用I/o多路复用原理,发票税控服务器可以利用单线程并发或者轮询处理每个POS终端的通信通道中的I/O链路中的1事件,可以同时高效、实时、快速地处理大量1事件,从而提高POS开票服务器系统的工作效率。
【附图说明】
[0034]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本发明实施例一提供的一种POS开票服务器系统的数据传输方法的处理流程图;
[0036]图2为本发明实施例四提供的一种POS开票服务器系统的具体结构示意图,图中,发票税控服务器21和POS终端22。
【具体实施方式】
[0037]为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0038]实施例一
[0039]本发明实施例提供了一种适合POS开票服务器系统的软件伺服架构方案,该架构提供了基本的服务器通信、安全协议、参数配置、日志处理、包含请求、处理、回复的业务处理框架等等共用的基础处理模块,实现POS终端能够安全、稳定、高效的与发票税控服务器进行通讯。
[0040]本发明实施例中的POS开票服务器系统包括:发票税控服务器和POS终端。本发明实施例给发票税控服务器配置设定数量的通信通道资源(socket),上述设定数量根据实际情况而确定。在发票税控服务器中设置支持I/O多路复用的空闲通信通道管理池、占用通信通道管理池和管理引擎(select),上述空闲通信通道管理池中管理所有空闲的通信通道资源,上述占用通信通道管理池中管理所有被占用的通信通道资源。在初始化时,所有的通信通道资源都位于空闲通信通道管理池中,管理引擎处于阻塞状态,不会占用CPU(CentralProcessing Unit,中央处理单元)资源。当某个空闲的通信通道资源被占用,分配给一个POS终端后,该通信通道资源将从空闲通信通道管理池转移到占用通信通道管理池中。
[0041]利用每个通信通道资源可以建立和一个POS终端之间的通信通道,每个通信通道中包括一个I/o链路,所述管理引擎对每个通信通道中的I/O链路上的数据流进行监督和处理,由于支持I/o多路复用,管理引擎可以用单线程、高效率地处理每个通信通道中的I/O链路。当管理引擎监控到一个或者多个I/O链路中有1事件发生时,管理引擎利用单线程并发或者轮询处理这些I/o链路中的1事件,根据每个1事件的事件类型对1事件进行针对性的处理。
[0042]发票税控服务器的伺服架构采用I/O多路复用的I/O模式,既解决了 Blocking I/O数据处理不及时,又解决了 Non-Blocking 1/0采用轮旬的CPU浪费问题,同时它与异步1/0不同的是它得到了各大平台的广泛支持,在Iinux内核中也实现了对该1/0多路复用的10模式的支持。
[0043]该实施例提供的一种POS开票服务器系统的数据传输方法的处理流程如图1所示,包括如下的处理步骤:
[0044]步骤101、POS终端向发票税控服务器发送连接建立请求,发票税控服务器通过指定的监听端口接收到上述连接建立请求。
[0045]步骤102、发票税控服务器从空闲通信通道管理池中提取出一个通信通道资源,该通信通道资源包含一个对应上述监听端口的描述符,并设置该通讯通道的属性(非阻塞模式)和通讯超时限制。给所述POS终端分配所述通信通道资源,基于所述通信通道资源和所述POS终端之间建立通信通道。
[0046]然后,发票税控服务器将上述分配给POS终端的通信通道资源加入到占用通信通道管理池中,等待POS终端向其发送业务数据。
[0047]步骤103、POS终端检查本地是否存储有会话密钥,如果有,则用所述会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器;否则,所述POS终端向所述发票税控服务器发送会话密钥协商请求。执行步骤104。
[0048]步骤104、发票税控服务器判断距离上次和所述POS终端之间的会话密钥协商的时间间隔是否小于设定的时间值(比如,6分钟等),如果是,则所述发票税控服务器拒绝和所述POS终端协商会话密钥;否则,所述发票税控服务器和所述POS终端协商会话密钥,根据所述POS终端的标识和当前时间通过设定算法生成会话密钥,通过所述通信通道将生成的会话密钥发送给所述POS终端,上述设定算法通过底层控制。
[0049]发票税控服务器还将上述会话密钥在本地进行存储。
[0050]步骤105、所述POS终端利用所述发票税控服务器发送过来的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器。
[0051]步骤106、所述发票税控服务器中的所述管理引擎通过所述通信通道接收所述加密后的业务数据,并利用所述会话密钥解密所述业务数据,对解密后的业务数据进行处理。
[0052]上述发票税控服务器生成回复数据,用上述会话密钥加密回复数据,通过上述通信通道将加密后的回复数据发送给POS终端。
[0053]步骤107、POS终端通过上述通信通道接收上述加密后的回复数据,用会话密钥解密回复数据。
[0054]步骤108、发票税控服务器断开和上述POS终端之间的通信通道,将所述通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。
[0055]步骤109、POS终端断开和上述发票税控服务器之间的通信通道。
[0056]实施例二
[0057]为了防止非法POS终端抢占通信通道,所述管理引擎添加对超时事件的处理。
[0058]所述管理引擎对所述发票税控服务器和POS终端之间建立的每个通信通道的建立时长进行统计,当某个通信通道的建立时长超过了设定的通道最大时长,则所述管理引擎强行断开所述某个通信通道,将所述某个通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。从而保证正常的POS终端能够正常使用该通信通道资源。
[0059]实施例三
[0060]为了防止非法POS终端攻击发票税控服务器,所述POS终端在业务数据的数据包的头部中设置数据包长度数值,该数据包长度数值处于一个设定的数据包长度范围之内。
[0061]所述发票税控服务器中的所述管
理引擎利用所述会话密钥解密POS终端发送过来的业务数据,从解密后的业务数据的数据包的头部中提取出数据包长度数值,判断所述数据包长度数值是否符合设定的数据包长度范围,如果是,则判断所述数据包合法,对所述数据包进行正常处理;否则,判断所述数据包非法,丢弃所述数据包。强行断开和发送上述非法数据包的POS终端之间的通信通道,将该通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。
[0062]实施例四
[0063]该实施例提供了一种POS开票服务器系统,其具体结构如图2所示,包括如下的模块:发票税控服务器21和POS终端22,
[0064]所述的发票税控服务器21,用于接收到POS终端发送过来的连接建立请求后,给所述POS终端分配通信通道资源,基于所述通信通道资源和所述POS终端之间建立通信通道;
[0065]所述的POS终端22,用于利用和所述发票税控服务器协商确定的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器。
[0066]进一步地,所述的发票税控服务器21,具体用于配置设定数量的通信通道资源,设置支持I/O多路复用的空闲通信通道管理池、占用通信通道管理池和管理引擎,所述空闲通信通道管理池中管理所有空闲的通信通道资源,所述占用通信通道管理池中管理所有被占用的通信通道资源,在初始化时,所有的通信通道资源都位于空闲通信通道管理池中;
[0067]通过监听端口接收到POS终端发送过来的连接建立请求后,从所述空闲通信通道资源管理池中提取出一个通信通道资源,给所述POS终端分配所述通信通道资源,利用所述通信通道资源建立和所述POS终端之间的通信通道,将所述分配给POS终端的通信通道资源加入到占用通信通道管理池中。
[0068]进一步地,所述的每个通信通道中包括一个I/O链路,所述管理引擎对每个通信通道中的I/o链路上的数据流进行监控,当所述管理引擎监控到一个或者多个I/O链路中有1事件发生后,所述管理引擎利用单线程并发或者轮询处理所述I/O链路中的1事件。
[0069]进一步地,所述的POS终端22,具体用于检查本地是否存储有会话密钥,如果有,则用所述会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器;否则,所述POS终端向所述发票税控服务器发送会话密钥协商请求;利用所述发票税控服务器发送过来的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器;
[0070]进一步地,所述的发票税控服务器21,具体用于判断距离上次和所述POS终端之间的会话密钥协商的时间间隔是否小于设定的时间值,如果是,则拒绝和所述POS终端协商会话密钥;否则,和所述POS终端协商会话密钥,根据所述POS终端的标识和当前时间生成会话密钥,通过所述通信通道将所述会话密钥发送给所述POS终端;所述发票税控服务器中的所述管理引擎通过所述通信通道接收所述加密后的业务数据,并利用所述会话密钥解密所述业务数据,对解密后的业务数据进行处理。
[0071]进一步地,所述的发票税控服务器21,具体用于通过所述管理引擎对所述发票税控服务器和POS终端之间建立的每个通信通道的建立时长进行统计,当某个通信通道的建立时长超过了设定的通道最大时长,则所述管理引擎断开所述某个通信通道,将所述某个通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。
[0072]进一步地,所述的发票税控服务器21,具体用于当所述POS终端在业务数据的数据包的头部中设置数据包长度数值后,通过所述管理引擎利用所述会话密钥解密所述业务数据,从解密后的业务数据的数据包的头部中提取出数据包长度数值,判断所述数据包长度数值是否符合设定的数据包长度范围,如果是,则判断所述数据包合法,对所述数据包进行正常处理;否则,判断所述数据包非法,丢弃所述数据包,断开和发送所述非法数据包的POS终端之间的通信通道,将该通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。
[0073]用本发明实施例的系统进行POS开票服务器系统的数据传输的具体过程与前述方法实施例类似,此处不再赘述。
[0074]综上所述,本发明实施例通过发票税控服务器给每个POS终端分配一个通信通道资源,并建立一个通信通道,使得多个POS终端之间的数据并发不会互相影响。利用I/O多路复用原理,发票税控服务器可以利用单线程并发或者轮询处理每个POS终端的通信通道中的I /0链路中的1事件,可以同时高效、实时、快速地处理大量1事件,从而提高POS开票服务器系统的工作效率。
[0075]本发明实施例通过设置I/O多路复用的通信通道资源数量,来控制接入的POS终端的访问量,防止未经授权的POS终端非法抢占通信通道资源。本发明实施例通过利用会话密钥,并定义业务数据的数据包长度范围,可以有效地保证POS开票服务器系统的数据通信的安全性,防止非法POS终端对发票税控服务器的恶意攻击。
[0076]本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0077]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0078]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0079]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【主权项】
1.一种POS开票服务器系统的数据传输方法,其特征在于,包括: POS开票服务器系统中的发票税控服务器接收到POS终端发送过来的连接建立请求后,所述发票税控服务器给所述POS终端分配通信通道资源,基于所述通信通道资源和所述POS终端之间建立通信通道; 所述POS终端利用和所述发票税控服务器协商确定的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器。2.根据权利要求1所述的POS开票服务器系统的数据传输方法,其特征在于,所述的发票税控服务器给所述POS终端分配通信通道资源,基于所述通信通道资源和所述POS终端之间建立通信通道,包括: 给发票税控服务器配置设定数量的通信通道资源,在发票税控服务器中设置支持I/o多路复用的空闲通信通道管理池、占用通信通道管理池和管理引擎,所述空闲通信通道管理池中管理所有空闲的通信通道资源,所述占用通信通道管理池中管理所有被占用的通信通道资源,在初始化时,所有
的通信通道资源都位于空闲通信通道管理池中; 所述发票税控服务器通过监听端口接收到POS终端发送过来的连接建立请求后,从所述空闲通信通道资源管理池中提取出一个通信通道资源,给所述POS终端分配所述通信通道资源,利用所述通信通道资源建立和所述POS终端之间的通信通道,将所述分配给POS终端的通信通道资源加入到占用通信通道管理池中。3.根据权利要求2所述的POS开票服务器系统的数据传输方法,其特征在于,所述的方法还包括: 每个通信通道中包括一个I/o链路,所述管理引擎对每个通信通道中的I/O链路上的数据流进行监控,当所述管理引擎监控到一个或者多个I/o链路中有1事件发生后,所述管理引擎利用单线程并发或者轮询处理所述I/o链路中的1事件。4.根据权利要求2所述的POS开票服务器系统的数据传输方法,其特征在于,所述的POS终端利用和所述发票税控服务器协商确定的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器,包括: 所述POS终端检查本地是否存储有会话密钥,如果有,则用所述会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器;否则,所述POS终端向所述发票税控服务器发送会话密钥协商请求; 所述发票税控服务器判断距离上次和所述POS终端之间的会话密钥协商的时间间隔是否小于设定的时间值,如果是,则所述发票税控服务器拒绝和所述POS终端协商会话密钥;否则,所述发票税控服务器和所述POS终端协商会话密钥,根据所述POS终端的标识和当前时间生成会话密钥,通过所述通信通道将所述会话密钥发送给所述POS终端;所述POS终端利用所述发票税控服务器发送过来的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器; 所述发票税控服务器中的所述管理引擎通过所述通信通道接收所述加密后的业务数据,并利用所述会话密钥解密所述业务数据,对解密后的业务数据进行处理。5.根据权利要求1或2或3或4所述的POS开票服务器系统的数据传输方法,其特征在于,所述的方法还包括: 所述管理引擎对所述发票税控服务器和POS终端之间建立的每个通信通道的建立时长进行统计,当某个通信通道的建立时长超过了设定的通道最大时长,则所述管理引擎断开所述某个通信通道,将所述某个通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。6.根据权利要求1或2或3或4所述的POS开票服务器系统的数据传输方法,其特征在于,所述的方法还包括: 所述POS终端在业务数据的数据包的头部中设置数据包长度数值,所述发票税控服务器中的所述管理引擎利用所述会话密钥解密所述业务数据,从解密后的业务数据的数据包的头部中提取出数据包长度数值,判断所述数据包长度数值是否符合设定的数据包长度范围,如果是,则判断所述数据包合法,对所述数据包进行正常处理;否则,判断所述数据包非法,丢弃所述数据包,断开和发送所述非法数据包的POS终端之间的通信通道,将该通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。7.—种POS开票服务器系统,其特征在于,包括:发票税控服务器和POS终端, 所述的发票税控服务器,用于接收到POS终端发送过来的连接建立请求后,给所述POS终端分配通信通道资源,基于所述通信通道资源和所述POS终端之间建立通信通道; 所述的POS终端,用于利用和所述发票税控服务器协商确定的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器。8.根据权利要求7所述的POS开票服务器系统,其特征在于: 所述的发票税控服务器,具体用于配置设定数量的通信通道资源,设置支持I/o多路复用的空闲通信通道管理池、占用通信通道管理池和管理引擎,所述空闲通信通道管理池中管理所有空闲的通信通道资源,所述占用通信通道管理池中管理所有被占用的通信通道资源,在初始化时,所有的通信通道资源都位于空闲通信通道管理池中; 通过监听端口接收到POS终端发送过来的连接建立请求后,从所述空闲通信通道资源管理池中提取出一个通信通道资源,给所述POS终端分配所述通信通道资源,利用所述通信通道资源建立和所述POS终端之间的通信通道,将所述分配给POS终端的通信通道资源加入到占用通信通道管理池中。9.根据权利要求8所述的POS开票服务器系统,其特征在于,所述的每个通信通道中包括一个I/O链路,所述管理引擎对每个通信通道中的I/O链路上的数据流进行监控,当所述管理引擎监控到一个或者多个I/O链路中有1事件发生后,所述管理引擎利用单线程并发或者轮询处理所述I/o链路中的1事件。10.根据权利要求8所述的POS开票服务器系统的数据传输方法,其特征在于: 所述的POS终端,具体用于检查本地是否存储有会话密钥,如果有,则用所述会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器;否则,所述POS终端向所述发票税控服务器发送会话密钥协商请求;利用所述发票税控服务器发送过来的会话密钥加密业务数据,通过所述通信通道将加密后的业务数据传输给所述发票税控服务器; 所述的发票税控服务器,具体用于判断距离上次和所述POS终端之间的会话密钥协商的时间间隔是否小于设定的时间值,如果是,则拒绝和所述POS终端协商会话密钥;否则,和所述POS终端协商会话密钥,根据所述POS终端的标识和当前时间生成会话密钥,通过所述通信通道将所述会话密钥发送给所述POS终端;所述发票税控服务器中的所述管理引擎通过所述通信通道接收所述加密后的业务数据,并利用所述会话密钥解密所述业务数据,对解密后的业务数据进行处理。11.根据权利要求7或8或9或10所述的POS开票服务器系统,其特征在于: 所述的发票税控服务器,具体用于通过所述管理引擎对所述发票税控服务器和POS终端之间建立的每个通信通道的建立时长进行统计,当某个通信通道的建立时长超过了设定的通道最大时长,则所述管理引擎断开所述某个通信通道,将所述某个通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。12.根据权利要求7或8或9或10所述的POS开票服务器系统的数据传输方法,其特征在于: 所述的发票税控服务器,具体用于当所述POS终端在业务数据的数据包的头部中设置数据包长度数值后,通过所述管理引擎利用所述会话密钥解密所述业务数据,从解密后的业务数据的数据包的头部中提取出数据包长度数值,判断所述数据包长度数值是否符合设定的数据包长度范围,如果是,则判断所述数据包合法,对所述数据包进行正常处理;否则,判断所述数据包非法,丢弃所述数据包,断开和发送所述非法数据包的POS终端之间的通信通道,将该通信通道对应的通信通道资源从占用通信通道管理池转移到空闲通信通道管理池中。
【专利摘要】本发明实施例提供了一种POS开票服务器系统及其数据传输方法。该方法包括:POS开票服务器系统中的发票税控服务器接收到POS终端发送过来的连接建立请求后,发票税控服务器给POS终端分配通信通道资源,基于通信通道资源和POS终端之间建立通信通道;POS终端利用和发票税控服务器协商确定的会话密钥加密业务数据,通过通信通道将加密后的业务数据传输给发票税控服务器。本发明实施例通过发票税控服务器和每个POS终端建立一个通信通道,使得多个POS终端之间的数据并发不会互相影响。利用I/O多路复用原理,发票税控服务器可以同时高效、实时、快速地处理大量IO事件,从而提高POS开票服务器系统的工作效率。
【IPC分类】G07G1/14, H04L9/08
【公开号】CN104901793
【申请号】CN201410077505
【发明人】何巍, 赵欣, 郭向国
【申请人】航天信息股份有限公司
【公开日】2015年9月9日
【申请日】2014年3月4日