集群式数据加密系统及其数据处理方法

文档序号:7987838阅读:250来源:国知局
集群式数据加密系统及其数据处理方法
【专利摘要】本发明实施例提供了一种集群式数据加密系统中的数据加密请求分配方法和装置。该方法主要包括:在数据服务器接收到数据加密请求后,根据数据服务器中存储的数据加密设备信息列表获取最近一次被分配的数据加密设备;根据最近一次被分配的数据加密设备的位置信息和设定的分配规则,将数据加密请求分配给数据加密设备信息列表中的状态为空闲的某个数据加密设备。本发明实施例由于采用了均衡负载算法,使得来自数据发送端的数据加密请求被均衡地分配到各个数据加密设备,避免了所有的来自数据发送端的数据加密请求都被发送到同一台数据加密设备,从而减小了数据加密设备因超负荷运行而产生故障的几率。
【专利说明】集群式数据加密系统及其数据处理方法
【技术领域】
[0001]本发明涉及计算机应用【技术领域】,尤其涉及一种集群式数据加密系统及其数据处
理方法。
【背景技术】
[0002]集群式数据加密系统是一种用于准确记录各种数据的系统,该系统的结构示意图如图1所示,系统由数据发送设备、数据服务器、数据加密设备集群组成,其中数据服务器用于存储汇总数据,数据加密设备集群用于记录数据并对数据加密,生成并返回给数据发送设备唯一标识一条数据的加密信息。
[0003]集群式数据加密系统的工作过程如下:数据发送设备发送数据到数据服务器,数据服务器存储数据,同时选择数据加密设备集群中的一个处于“空闲”状态的数据加密设备,将其标记为“忙碌”,数据服务器将数据发送给选定的数据加密设备以生成加密信息,数据加密设备将生成的加密信息返回给数据服务器,数据服务器修改该数据加密设备的状态为“空闲”,同时将加密信息返回给数据发送设备。
[0004]集群式数据加密系统的一种应用场景为商业零售企业的数据采集。在这种场景下,数据发送设备即为POS开票端,数据加密设备内存储电子发票号码,数据加密信息为税控码、发票代码、发票号码等信息。由于每个数据加密设备内的电子票号是有限的,并且电子票号如果用完,将不能再进行数据加密,现有技术中,还没有一种有效地在各个数据加密设备之间平均分配来自数据发送设备的数据加密请求的方法。

【发明内容】

[0005]本发明的实施例提供了一种集群式数据加密系统及其数据处理方法,以实现在各个数据加密设备之间均衡地分配来自数据发送端的数据加密请求。
[0006]一种集群式数据加密系统中的数据加密请求分配方法,包括:
[0007]在数据服务器接收到数据加密请求后,根据所述数据服务器中存储的数据加密设备信息列表获取最近一次被分配的数据加密设备;
[0008]根据所述最近一次被分配的数据加密设备的位置信息和设定的分配规则,将所述数据加密请求分配给所述数据加密设备信息列表中的状态为空闲的某个数据加密设备,并将所述某个数据加密设备在所述数据加密设备信息列表中的状态修改为忙碌。
[0009]一种集群式数据加密系统的数据加密请求分配装置,包括:
[0010]最近分配数据加密设备确定模块,用于在数据服务器接收到数据加密请求后,根据所述数据服务器中存储的数据加密设备信息列表获取最近一次被分配的数据加密设备;
[0011]数据加密请求分配处理模块,用于根据所述最近一次被分配的数据加密设备的位置信息和设定的分配规则,将所述数据加密请求分配给所述数据加密设备信息列表中的状态为空闲的某个数据加密设备,并将所述某个数据加密设备在所述数据加密设备信息列表中的状态修改为忙碌。
[0012]由上述本发明的实施例提供的技术方案可以看出,本发明实施例的集群式数据加密系统的数据加密请求分配方法由于采用了均衡负载算法,能够使得来自数据发送端的数据加密请求被均衡地分配到各个数据加密设备,避免了所有的来自数据发送端的数据加密请求都被发送到同一台数据加密设备,使得不会出现同一台数据加密设备不停的工作,而其他数据加密设备处于“无用”的状态,从而减小了数据加密设备因超负荷运行而产生故障的几率。
【专利附图】

【附图说明】
[0013]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为现有技术中的一种集群式数据加密系统的结构示意图;
[0015]图2为本发明实施例一提供的一种集群式数据加密系统中的数据加密请求分配方法的处理流程示意图;
[0016]图3为本发明实施例一提供的最近一次被分配的数据加密设备为设备6的场景示意图;
[0017]图4为本发明实施例一提供的最近一次被分配的数据加密设备为设备4的场景示意图;
[0018]图5为本发明实施例二提供的一种集群式数据加密系统的数据加密请求分配装置的具体结构示意图。
【具体实施方式】
[0019]为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0020]实施例一
[0021]该实施例提供的一种集群式数据加密系统中的数据加密请求分配方法的处理流程如图2所示,包括如下的处理步骤:
[0022]步骤21、在数据服务器中存储和管理数据加密设备信息列表,该数据加密设备信息列表保存了数据加密设备的状态、与数据服务器连接时间、分配起始时间等信息。
[0023]在数据服务器中存储和管理数据加密设备信息列表,该数据加密设备信息列表中的每条记录唯一对应一个数据加密设备,数据加密设备对应的记录中存储数据加密设备的基本信息,该基本信息包括数据加密设备的IP地址、端口号、设备编号、状态、与数据服务器连接时间、分配起始时间以及该记录的序号,所述状态为空闲或者忙碌,默认为空闲,所述分配起始时间表示该数据加密设备被分配了数据加密请求的起始时间,默认为空。
[0024]数据服务器可以采用map数据结构来保存上述数据加密设备的基本信息,map是STL (Standard Template Library,标准模板库)的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在处理一对一数据的时候,在编程上提供快速通道。map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗红黑树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,方便数据的快速查找。
[0025]所述数据加密设备信息列表中的所有数据加密设备按照与数据服务器连接时间的先后升序排列,最早与所述数据服务器建立连接的数据加密设备对应的记录的序号为I。
[0026]由于数据加密设备与数据服务器之间是通过网络连接的,当数据加密设备开启后,会主动建立与数据服务器之间的TCP (Transmission Control Protocol,传输控制协议)连接,数据服务器程序检测到TCP连接的建立后,对应的回调函数被调用,在该函数中,所述数据服务器给所述数据加密设备分配IP地址、端口号。然后,所述数据服务器在所述数据加密设备信息列表的尾端添加所述数据加密设备对应的记录,该记录中存储所述数据加密设备的IP地址、端口号、设备编号、状态、与数据服务器连接时间、分配起始时间以及该记录的序号,所述状态为空闲,所述分配起始时间为空。
[0027]同时,数据服务器程序也能检测其与数据加密设备之间的TCP网络连接的断开,当检测到TCP网络连接断开时,数据服务器程序将断开的数据加密设备在列表中对应记录删除。这样就能保证数据加密设备信息表中只保存处于连接状态的数据加密设备信息。
[0028]步骤22、接收到数据加密请求后,根据数据服务器中存储的数据加密设备信息列表获取最近一次被分配的数据加密设备。
[0029]获取所述数据加密设备信息列表中存储的所有数据加密设备对应的分配起始时间信息,将所有数据加密设备对应的分配起始时间的大小进行比较,确定最大的分配起始时间,当所述最大的分配起始时间不为空时,将所述最大的分配起始时间对应的数据加密设备作为最近一次被分配的数据加密设备。
[0030]步骤23、按照设定的分配规则,将所述数据加密请求分配给状态为空闲的某个数据加密设备。
[0031]当所述最大的分配起始时间为空时,则说明所述数据加密设备信息列表中存储的所有数据加密设备都没有被分配过,于是,将所述数据加密请求分配给状态为空闲的记录序号最小的某个数据加密设备。
[0032]当所述最大的分配起始时间不为空时,当所述最近一次被分配的数据加密设备对应的记录为所述数据加密设备信息列表中最后一条记录时,比如,如图3所示的场景,最近一次被分配的数据加密设备为设备6。则说明上述数据加密设备信息列表中记录的所有数据加密设备正好被全部分配了一遍,于是,将所述数据加密请求分配给所述数据加密设备信息列表中的第一条记录对应的数据加密设备,即重新从序号为I的数据加密设备开始分配。在图3所示的场景中,将所述数据加密请求分配给设备I。
[0033]当所述最近一次被分配的数据加密设备对应的记录不是所述数据加密设备信息列表中最后一条记录时,比如,如图4所示,最近一次被分配的数据加密设备为设备4。获取所述最近一次被分配的数据加密设备对应的记录的下一条记录,当该下一条记录对应的数据加密设备的状态为空闲时,将所述数据加密请求分配给所述下一条记录对应的数据加密设备。比如,在图4所示的场景中,下一条记录对应的数据加密设备为设备5。
[0034]当所述下一条记录对应的数据加密设备的状态为忙碌时,获取所述下一条记录对应的下一条记录,当所述下一条记录对应的下一条记录对应的数据加密设备的状态为空闲时,将所述数据加密请求分配给所述下一条记录对应的下一条记录对应的数据加密设备;当所述下一条记录对应的下一条记录对应的数据加密设备的状态为忙碌时,重复执行上述处理过程,一直到将所述数据加密请求分配给状态为空闲的某个数据加密设备。
[0035]当所述数据加密设备信息列表中的某个数据加密设备处理数据加密请求完毕后,将该某个数据加密设备的状态从忙碌修改为空闲。
[0036]步骤24、将所述分配了数据加密请求的某个数据加密设备在所述数据加密设备信息列表的状态修改为忙碌,所述分配了数据加密请求的某个数据加密设备进行数据加密处理。
[0037]实施例二
[0038]该实施例提供的一种集群式数据加密系统的数据加密请求分配装置的具体结构示意图如图5所示,该装置可以设置在数据服务器中,具体包括如下的模块:
[0039]数据加密设备信息列表管理模块51,用于在数据服务器中存储和管理数据加密设备信息列表,该数据加密设备信息列表中的每条记录唯一对应一个数据加密设备,数据加密设备对应的记录中存储了该数据加密设备的IP地址、端口号、设备编号、状态、与数据服务器连接时间、分配起始时间以及该记录的序号,所述状态为空闲或者忙碌,默认为空闲,所述分配起始时间表示该数据加密设备被分配了数据加密请求的起始时间,默认为空;
[0040]所述数据加密设备信息列表中的所有数据加密设备按照与数据服务器连接时间的先后升序排列,最早与所述数据服务器建立连接的数据加密设备对应的记录的序号为I。
[0041]最近分配数据加密设备确定模块52,用于在数据服务器接收到数据加密请求后,根据所述数据服务器中存储的数据加密设备信息列表获取最近一次被分配的数据加密设备;
[0042]数据加密请求分配处理模块53,用于根据所述最近一次被分配的数据加密设备的位置信息和设定的分配规则,将所述数据加密请求分配给所述数据加密设备信息列表中记录的状态为空闲的某个数据加密设备,并将所述某个数据加密设备在所述数据加密设备信息列表中的状态修改为忙碌。
[0043]具体的,所述的数据加密设备信息列表管理模块51,还用于当所述数据加密设备信息列表中的某个数据加密设备与所述数据服务器之间的连接断开后,将所述某个数据加密设备对应的记录从所述数据加密设备信息列表中删除;
[0044]当所述数据加密设备信息列表中的某个数据加密设备处理数据加密请求完毕后,将该某个数据加密设备的状态从忙碌修改为空闲。
[0045]当数据加密设备启动,并与数据服务器建立了传输控制协议TCP连接,所述数据服务器给所述数据加密设备分配IP地址、端口号后,在所述数据加密设备信息列表的尾端添加所述数据加密设备对应的记录,该记录中存储所述数据加密设备的IP地址、端口号、设备编号、状态、与数据服务器连接时间、分配起始时间以及该记录的序号,所述状态为空闲,所述分配起始时间为空。
[0046]具体的,所述的最近分配数据加密设备确定模块52,还用于获取所述数据加密设备信息列表中存储的所有数据加密设备对应的分配起始时间信息,将所有数据加密设备对应的分配起始时间的大小进行比较,确定最大的分配起始时间,当所述最大的分配起始时间不为空时,将所述最大的分配起始时间对应的数据加密设备作为最近一次被分配的数据加密设备。
[0047]具体的,所述的数据加密请求分配处理模块53,还用于当所述最近一次被分配的数据加密设备对应的记录为所述数据加密设备信息列表中最后一条记录时,将所述数据加密请求分配给所述数据加密设备信息列表中的第一条记录对应的数据加密设备;
[0048]当所述最近一次被分配的数据加密设备对应的记录不是所述数据加密设备信息列表中最后一条记录时,获取所述最近一次被分配的数据加密设备对应的记录的下一条记录,当该下一条记录对应的数据加密设备的状态为空闲时,将所述数据加密请求分配给所述下一条记录对应的数据加密设备;
[0049]当所述下一条记录对应的数据加密设备的状态为忙碌时,获取所述下一条记录对应的下一条记录,当所述下一条记录对应的下一条记录对应的数据加密设备的状态为空闲时,将所述数据加密请求分配给所述下一条记录对应的下一条记录对应的数据加密设备;当所述下一条记录对应的下一条记录对应的数据加密设备的状态为忙碌时,重复执行上述处理过程,一直到将所述数据加密请求分配给状态为空闲的某个数据加密设备。
[0050]用本发明实施例的装置进行集群式数据加密系统的数据加密请求分配的具体过程与前述方法实施例类似,此处不再赘述。
[0051]本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0052]本领域普通技术人员可以理解:实施例中的设备中的模块可以按照实施例描述分布于实施例的设备中,也可以进行相应变化位于不同于本实施例的一个或多个设备中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0053]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0054]综上所述,本发明实施例的集群式数据加密系统的数据加密请求分配方法由于采用了均衡负载算法,能够使得来自数据发送端的数据加密请求被均衡地分配到各个数据加密设备,避免了所有的来自数据发送端的数据加密请求都被发送到同一台数据加密设备,使得不会出现同一台数据加密设备不停的工作,而其他数据加密设备处于“无用”的状态,从而减小了数据加密设备因超负荷运行而产生故障的几率。
[0055]在本发明实施例中,部分数据加密设备出现故障不影响整个系统的使用,由于数据发送端并没有与数据加密设备有任何物理或者逻辑上的绑定关系,当系统中一台或者几台数据加密设备出现故障时,均衡负载算法能够很容易的跳过出现故障的设备,从而不影响整个系统的工作。
[0056]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【权利要求】
1.一种集群式数据加密系统中的数据加密请求分配方法,其特征在于,包括: 在数据服务器接收到数据加密请求后,根据所述数据服务器中存储的数据加密设备信息列表获取最近一次被分配的数据加密设备; 根据所述最近一次被分配的数据加密设备的位置信息和设定的分配规则,将所述数据加密请求分配给所述数据加密设备信息列表中的状态为空闲的某个数据加密设备,并将所述某个数据加密设备在所述数据加密设备信息列表中的状态修改为忙碌。
2.根据权利要求1所述的集群式数据加密系统中的数据加密请求分配方法,其特征在于,所述的根据所述数据服务器中存储的数据加密设备信息列表获取最近一次被分配的数据加密设备之前包括: 在数据服务器中存储和管理数据加密设备信息列表,该数据加密设备信息列表中的每条记录唯一对应一个数据加密设备,数据加密设备对应的记录中存储了该数据加密设备的IP地址、端口号、设备编号、状态、与数据服务器连接时间、分配起始时间以及该记录的序号,所述状态为空闲或者忙碌,默认为空闲,所述分配起始时间表示该数据加密设备被分配了数据加密请求的起始时间,默认为空; 所述数据加密设备信息列表中的所有数据加密设备按照与数据服务器连接时间的先后升序排列,最早与所述数据服务器建立连接的数据加密设备对应的记录的序号为I。
3.根据权利要求2所述的集群式数据加密系统中的数据加密请求分配方法,其特征在于,所述的方法还包括: 当所述数据加密设备信息列表中的某个数据加密设备与所述数据服务器之间的连接断开后,将所述某个数据加密设备对应的记录从所述数据加密设备信息列表中删除; 当所述数据加密设备信息列表中的某个数据加密设备处理数据加密请求完毕后,将该某个数据加密设备的状态从忙碌修改为空闲。
4.根据权利要求2所述的集群式数据加密系统中的数据加密请求分配方法,其特征在于,所述的方法还包括: 当数据加密设备启动,并与数据服务器建立了传输控制协议TCP连接,所述数据服务器给所述数据加密设备分配IP地址、端口号后,在所述数据加密设备信息列表的尾端添加所述数据加密设备对应的记录,该记录中存储所述数据加密设备的IP地址、端口号、设备编号、状态、与数据服务器连接时间、分配起始时间以及该记录的序号,所述状态为空闲,所述分配起始时间为空。
5.根据权利要求2、3或4所述的集群式数据加密系统中的数据加密请求分配方法,其特征在于,所述的根据数据服务器中存储的数据加密设备信息列表获取最近一次被分配的数据加密设备,包括: 获取所述数据加密设备信息列表中的所有数据加密设备对应的分配起始时间信息,将所有数据加密设备对应的分配起始时间的大小进行比较,确定最大的分配起始时间,当所述最大的分配起始时间不为空时,将所述最大的分配起始时间对应的数据加密设备作为最近一次被分配的数据加密设备。
6.根据权利要求5所述的集群式数据加密系统中的数据加密请求分配方法,其特征在于,所述的根据所述最近一次被分配的数据加密设备的位置信息和设定的分配规则,将所述数据加密请求分配给所述数据加密设备信息列表中的状态为空闲的某个数据加密设备,包括: 当所述最近一次被分配的数据加密设备对应的记录为所述数据加密设备信息列表中最后一条记录时,将所述数据加密请求分配给所述数据加密设备信息列表中的第一条记录对应的数据加密设备; 当所述最近一次被分配的数据加密设备对应的记录不是所述数据加密设备信息列表中最后一条记录时,获取所述最近一次被分配的数据加密设备对应的记录的下一条记录,当该下一条记录对应的数据加密设备的状态为空闲时,将所述数据加密请求分配给所述下一条记录对应的数据加密设备; 当所述下一条记录对应的数据加密设备的状态为忙碌时,获取所述下一条记录对应的下一条记录,当所述下一条记录对应的下一条记录对应的数据加密设备的状态为空闲时,将所述数据加密请求分配给所述下一条记录对应的下一条记录对应的数据加密设备;当所述下一条记录对应的下一条记录对应的数据加密设备的状态为忙碌时,重复执行上述处理过程,一直到将所述数据加密请求分配给状态为空闲的某个数据加密设备。
7.一种集群式数据加密系统的数据加密请求分配装置,其特征在于,包括: 最近分配数据加密设备确定模块,用于在数据服务器接收到数据加密请求后,根据所述数据服务器中存储的数据加密设备信息列表获取最近一次被分配的数据加密设备; 数据加密请求分配处理模块,用于根据所述最近一次被分配的数据加密设备的位置信息和设定的分配规则,将所述数据加密请求分配给所述数据加密设备信息列表中的状态为空闲的某个数据加密设备,并将所述某个数据加密设备在所述数据加密设备信息列表中的状态修改为忙碌。
8.根据权利要求7所述的集群式数据加密系统中的数据加密请求分配装置,其特征在于,所述的 装置还包括: 数据加密设备信息列表管理模块,用于在数据服务器中存储和管理数据加密设备信息列表,该数据加密设备信息列表中的每条记录唯一对应一个数据加密设备,数据加密设备对应的记录中存储了该数据加密设备的IP地址、端口号、设备编号、状态、与数据服务器连接时间、分配起始时间以及该记录的序号,所述状态为空闲或者忙碌,默认为空闲,所述分配起始时间表示该数据加密设备被分配了数据加密请求的起始时间,默认为空; 所述数据加密设备信息列表中的所有数据加密设备按照与数据服务器连接时间的先后升序排列,最早与所述数据服务器建立连接的数据加密设备对应的记录的序号为I。
9.根据权利要求8所述的集群式数据加密系统中的数据加密请求分配装置,其特征在于: 所述的数据加密设备信息列表管理模块,还用于当所述数据加密设备信息列表中的某个数据加密设备与所述数据服务器之间的连接断开后,将所述某个数据加密设备对应的记录从所述数据加密设备信息列表中删除; 当所述数据加密设备信息列表中的某个数据加密设备处理数据加密请求完毕后,将该某个数据加密设备的状态从忙碌修改为空闲。
10.根据权利要求8所述的集群式数据加密系统中的数据加密请求分配装置,其特征在于: 所述的数据加密设备信息列表管理模块,还用于当数据加密设备启动,并与数据服务器建立了传输控制协议TCP连接,所述数据服务器给所述数据加密设备分配IP地址、端口号后,在所述数据加密设备信息列表的尾端添加所述数据加密设备对应的记录,该记录中存储所述数据加密设备的IP地址、端口号、设备编号、状态、与数据服务器连接时间、分配起始时间以及该记录的序号,所述状态为空闲,所述分配起始时间为空。
11.根据权利要求8、9或10所述的集群式数据加密系统中的数据加密请求分配装置,其特征在于: 所述的最近分配数据加密设备确定模块,还用于获取所述数据加密设备信息列表中的所有数据加密设备对应的分配起始时间信息,将所有数据加密设备对应的分配起始时间的大小进行比较,确定最大的分配起始时间,当所述最大的分配起始时间不为空时,将所述最大的分配起始时间对应的数据加密设备作为最近一次被分配的数据加密设备。
12.根据权利要求11所述的集群式数据加密系统中的数据加密请求分配装置,其特征在于: 所述的数据加密请求分配处理模块,还用于当所述最近一次被分配的数据加密设备对应的记录为所述数据加密设备信息列表中最后一条记录时,将所述数据加密请求分配给所述数据加密设备信息列表中的第一条记录对应的数据加密设备; 当所述最近一次被分配的数据加密设备对应的记录不是所述数据加密设备信息列表中最后一条记录时,获取所述最近一次被分配的数据加密设备对应的记录的下一条记录,当该下一条记录对应的数据加密设备的状态为空闲时,将所述数据加密请求分配给所述下一条记录对应的数据加密设备; 当所述下一条记录对应的数据加密设备的状态为忙碌时,获取所述下一条记录对应的下一条记录,当所述下一条记录对应的下一条记录对应的数据加密设备的状态为空闲时,将所述数据加密请求分配给所述 下一条记录对应的下一条记录对应的数据加密设备;当所述下一条记录对应的下一条记录对应的数据加密设备的状态为忙碌时,重复执行上述处理过程,一直到将所述数据加密请求分配给 状态为空闲的某个数据加密设备。
【文档编号】H04L29/08GK103888424SQ201210560720
【公开日】2014年6月25日 申请日期:2012年12月20日 优先权日:2012年12月20日
【发明者】陈懿, 胡金辉, 王俊杰, 张国喜, 赵轶民, 孙国良, 武志鹏 申请人:航天信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1