本申请涉及但不限于存储器技术领域,尤指一种数据处理方法和装置。
背景技术:
随着电子技术信息的发展,由于借记卡和贷记卡具有携带方便、持久保持和灵活交易等优势,采用借记卡或贷记卡进行交易逐渐取代使用现金的交易方式。QPBOC应用作为借记卡和贷记卡的一种重要交易方式,提高QPBOC应用的交易速度是提高产品竞争力的重要途径。
QPBOC应用是一中基于电子现金的非接触式小额交易,标准的消费应用流程包括:选应用、获取处理选项(GPO)、读记录(READ RECORD)三种指令,读记录指令会发送多条。QPBOC应用在每次交易中都需要修改应用交易计数器(Application Transaction Counter,简称为:ATC)、应用数据、交易日志文件等数据,为了保证交易中写入数据的准确性和安全性,并且绝对不允许出现数据破坏的现象,因此,QPBOC应用的设计原理为:每次交易中以原子写方式更新上述数据,即所有数据同时生效或同时无效。目前进行数据组织优化后的QPBOC应用在交易中以原子写方式执行一次写操作的一般过程为:1、将要修改的数据写入指定的原子写数据缓冲区;2、将原子写的控制信息写入原子写控制区;3、将要修改的数据回写到存储器的正确位置;4、清除原子写的控制信息。通过上述方式实现QPBOC应用,执行一次获取处理选项(GPO)指令需要执行4次写操作;基于PBOC规范,在执行最后一条读记录(READ RECORD)指令时,需要更新应用数据、日志文件和日志文件的控制信息三种信息,即使在进行数据组织优化后,指令执行时仍然需要执行8次写操作。显然地,在一次正常的QPBOC应用的交易中,至少需要执行12次写操作。
综上所述,采用现有技术的QPBOC应用在实现交易的过程中,由于每次交易需要修改相关数据所执行的写操作的次数较多,而导致交易速度较慢的问题。
技术实现要素:
为了解决上述技术问题,本发明实施例提供了一种数据处理方法和装置,以解决采用现有技术的QPBOC应用在实现交易的过程中,由于每次交易需要修改相关数据所执行的写操作的次数较多,而导致交易速度较慢的问题。
本发明实施例提供一种数据处理方法,包括:
在设备配置的至少两个目标区域中,将最近一次执行写操作写入数据的目标区域确认为第一目标区域,所述设备为配置有QPBOC应用的智能卡;
根据接收到的写操作指令,在第二目标区域中执行写操作;所述第二目标区域是所述至少两个目标区域中除所述第一目标区域之外的目标区域。
可选地,如上所述的数据处理方法中,所述目标区域包括以下一项或多项:应用交易计数器ATC区域、应用数据区域和日志文件区域。
可选地,如上所述的数据处理方法中,所述目标区域为所述ATC区域,所述设备中配置有两个ATC区域;所述将最近一次执行写操作写入数据的区域确认为第一目标区域,包括:
判断每个所述ATC区域中的ATC值是否能够通过校验;
在判断出每个所述ATC区域中的ATC值都通过校验时,将较大的ATC值对应的ATC区域确认为第一ATC区域;
在判断出一个ATC区域中的ATC值通过校验,且另一个ATC区域中的ATC值未通过校验时,将通过校验的ATC值对应的ATC区域确认为第一ATC区域;
所述根据接收到的写操作指令,在所述至少两个目标区域的第二目标区域中执行写操作,包括:
根据接收到的所述写操作指令,对第二ATC区域中的ATC值执行计数值加一的写操作。
可选地,如上所述的数据处理方法中,所述目标区域为所述应用数据区域,所述设备中配置有至少两个应用数据区域;所述将最近一次执行写操作写入数据的区域确认为第一目标区域,包括:
根据所述设备当前记录的应用数据索引,将所述应用数据索引对应的应用数据区域确认为第一应用数据区域;所述应用数据索引用于记录最近一次执行写操作写入应用数据的应用数据区域。
可选地,如上所述的数据处理方法中,所述目标区域为所述日志文件区域,所述设备中配置有N+1个日志文件区域,其中N个日志文件区域中存储有效日志文件,其中,所述N为正整数;所述将最近一次执行写操作写入数据的区域确认为第一目标区域,包括:
根据所述设备当前记录的日志文件控制信息,将所述日志文件控制信息指示的日志文件区域确认为第一日志文件区域;所述日志文件控制信息用于指示最近一次执行写操作写入日志文件的日志文件区域;
所述方法还包括:
根据所述第一日志文件区域和所述存储有效日志文件的N个日志文件区域,确认所述N+1个日志文件区域中的第二日志文件区域。
可选地,如上所述的数据处理方法中,所述设备设备配置有两个ATC区域和三个应用数据区域,每个所述ATC区域的两侧相邻排布一个所述应用数据区域;所述将最近一次执行写操作写入数据的区域确认为第一目标区域,包括:
将最近一次执行写操作写入数据的ATC区域确认为第一ATC区域,并将最近一次执行写操作写入数据的应用数据区域确认为第一应用数据区域;
所述根据接收到的写操作指令,在所述至少两个目标区域的第二目标区域中执行写操作,包括:
根据所述接收到的所述写操作指令,以及已确认的第一ATC区域和第一应用数据区域,对所述第二ATC区域和与所述第二ATC区域相邻的第二应用数据区域同时执行写操作。
可选地,如上所述的数据处理方法中,所述方法还包括:
将执行所述写操作指令写入的应用数据对应的应用数据索引通过原子写操作写入到所述设备的存储器中。
可选地,如上所述的数据处理方法中,在所述与所述第二ATC区域相邻的第二应用数据区域中写入的内容包括:执行所述写操作指令所写入的应用数据,以及执行所述写操作指令所写入的日志文件的控制信息,其中,所述应用数据和所述日志文件的控制信息在执行所述写操作指令并成功写入所述应用数据索引后生效。
本发明实施例提供一种数据处理装置,所述装置设置于配置有QPBOC应用的设备中,所述装置包括:
确认模块,用于在所述设备配置的至少两个目标区域中,将最近一次执行写操作写入数据的目标区域确认为第一目标区域;
接收模块,用于接收写操作指令;
写操作模块,用于根据所述接收模块接收到的所述写操作指令,在第二目标区域中执行写操作;所述第二目标区域是所述至少两个目标区域中除所述第一目标区域之外的目标区域。
可选地,如上所述的数据处理装置中,所述目标区域包括以下一项或多项:应用交易计数器ATC区域、应用数据区域和日志文件区域。
可选地,如上所述的数据处理装置中,所述目标区域为所述ATC区域,所述设备中配置有两个ATC区域;所述确认模块包括:
判断单元,用于判断每个所述ATC区域中的ATC值是否能够通过校验;
确认单元,用于在所述判断单元判断出每个所述ATC区域中的ATC值都通过校验时,将较大的ATC值对应的ATC区域确认为第一ATC区域;
所述确认单元,还用于在所述判断单元判断出一个ATC区域中的ATC值通过校验,且另一个ATC区域中的ATC值未通过校验时,将通过校验的ATC值对应的ATC区域确认为第一ATC区域;
所述写操作模块根据接收到的所述写操作指令,在所述至少两个目标区域的第二目标区域中执行写操作,包括:
根据接收到的所述写操作指令,对第二ATC区域中的ATC值执行计数值加一的写操作。
可选地,如上所述的数据处理装置中,所述目标区域为所述应用数据区域,所述设备中配置有至少两个应用数据区域;所述确认模块将最近一次执行写操作写入数据的区域确认为第一目标区域,包括:
根据所述设备当前记录的应用数据索引,将所述应用数据索引对应的应用数据区域确认为第一应用数据区域;所述应用数据索引用于记录最近一次执行写操作写入应用数据的应用数据区域。
可选地,如上所述的数据处理装置中,所述目标区域为所述日志文件区域,所述设备中配置有N+1个日志文件区域,其中N个日志文件区域中存储有效日志文件,其中,所述N为正整数;所述确认模块将最近一次执行写操作写入数据的区域确认为第一目标区域,包括:
根据所述设备当前记录的日志文件控制信息,将所述日志文件控制信息指示的日志文件区域确认为第一日志文件区域;所述日志文件控制信息用于指示最近一次执行写操作写入日志文件的日志文件区域;
所述确认模块,还用于根据所述第一日志文件区域和所述存储有效日志文件的N个日志文件区域,确认所述N+1个日志文件区域中的第二日志文件区域。
可选地,如上所述的数据处理装置中,所述设备设备配置有两个ATC区域和三个应用数据区域,每个所述ATC区域的两侧相邻排布一个所述应用数据区域;所述确认模块将最近一次执行写操作写入数据的区域确认为第一目标区域,包括:
将最近一次执行写操作写入数据的ATC区域确认为第一ATC区域,并将最近一次执行写操作写入数据的应用数据区域确认为第一应用数据区域;
所述写操作模块根据接收到的所述写操作指令,在所述至少两个目标区域的第二目标区域中执行写操作,包括:
根据所述接收到的所述写操作指令,以及已确认的第一ATC区域和第一应用数据区域,对所述第二ATC区域和与所述第二ATC区域相邻的第二应用数据区域同时执行写操作。
可选地,如上所述的数据处理装置中,所述写操作模块,还用于将执行所述写操作指令写入的应用数据对应的应用数据索引通过原子写操作写入到所述设备的存储器中。
可选地,如上所述的数据处理装置中,所述写操作模块在所述与所述第二ATC区域相邻的第二应用数据区域中写入的内容包括:执行所述写操作指令所写入的应用数据,以及执行所述写操作指令所写入的日志文件的控制信息,其中,所述应用数据和所述日志文件的控制信息在执行所述写操作指令并成功写入所述应用数据索引后生效。
本发明实施例提供的数据处理方法和装置,通过在设备中配置的至少两个目标区域中,将最近一次执行写操作写入数据的目标区域确认为第一目标区域,并在接收到的写操作指令,在第二目标区域中执行写操作,该第二目标区域是至少两个目标区域中除上述第一目标区域之外的目标区域;本发明实施例中的设备为配置有QPBOC应用的智能卡,通过为设备配置的可以互为备份的至少两个目标区域,实现了通过执行一次写操作即可实现原子写操作对数据准确性和安全性的要求,极大的减少了采用QPBOC应用实现交易中执行写操作的次数,从而解决了采用现有技术的QPBOC应用在实现交易的过程中,由于每次交易需要修改相关数据所执行的写操作的次数较多,而导致交易速度较慢的问题。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为现有技术中一种标准原子写方式的原理示意图;
图2为本发明实施例提供的一种数据处理方法的流程图;
图3为本发明实施例提供的另一种数据处理方法的流程图;
图4为本发明实施例提供的又一种数据处理方法的流程图;
图5为现有技术中的一种日志文件的结构示意图;
图6为本发明实施例提供的数据处理方法中一种日志文件的结构示意图;
图7为本发明实施例提供的再一种数据处理方法的流程图;
图8为图7所示实施例提供的数据处理方法的一种目标区域的结构示意图;
图9为本发明实施例提供的一种数据处理装置的结构示意图;
图10为本发明实施例提供的另一种数据处理装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
QPBOC应用作为借记卡和贷记卡的一种重要交易方式,在采用QPBOC应用进行交易的过程中,其性能参数(即一次完整的脱机交易需要用的时间)是衡量一个卡片硬件性能优劣、软件设计水平的重要指标。由于QPBOC应用在实现交易的过程中,以原子写方式更新本次交易需要修改的相关数据,来保证数据的准确性和安全性;因此,PBOC应用规范要求在执行GPO指令时,ATC的计数值加一,且ATC的写操作要求是原子写方式;在最后一条读记录(READ RECORD)时,QPBOC应用要求同时更新电子现金余额、内部相关数据、交易日志文件等数据。采用QPBOC应用实现的交易是一种挥卡交易,用户对交易的速度比较敏感,中国人民银行也因此对QPBOC应用的交易速度提出了明确的性能要求。在很多项目的招标角逐中,QPBOC应用的交易速度也是一个十分重要的指标。
目前配置有QPBOC应用的设备(例如为可实现非接触式交易的卡片)的擦写操作是比较耗时的操作,且执行写操作的时间与执行写操作的次数呈线性关系,背景技术中已说明现有技术中采用QPBOC应用进行一次交易需要执行12次写操作,从而使得每次交易需要执行写操作的次数较多,而严重影响了交易时间。
为了后续便于理解本发明实施例提供的数据处理方法的优势,此处简要介绍现有技术中的标准原子写操作的实现方式,为了保证写入数据的安全性和同时生效性(即写入的数据全部生效或全部无效),原子写操作并不直接将目标数据写入目标地址,而是专门为目标数据开辟出原子写缓冲区,在提交控制信息后,再将原子写缓冲区中的目标数据写入目标地址,从而保证即便是本次写操作执行失败原数据还在,并且可以保证新写入的数据同时生效。如图1所示,为现有技术中一种标准原子写方式的原理示意图,现有技术中的标准原子写方式一般包括如下步骤:
步骤1、将需要更新的目标数据写入原子写缓冲区(第一次写操作);
步骤2、将控制信息写入原子写控制区(第二次写操作);
步骤3、将目标数据回写到目标地址(第三次写操作);
步骤4、清除原子写控制区中的控制信息(第四次写操作)。
可以看出,现有技术中一次标准的原子写需要执行4次写操作,因此,采用QPBOC应用实现交易时,每次交易需要执行写操作的次数较多,背景技术中已经详细说明每次交易需要执行12次写操作,从而导致交易速度较慢的问题。
基于现有技术中采用QPBOC应用实现交易中,交易速度较慢的问题,如何合理的利用QPBOC应用的硬件实现特点,在保证交易中写入数据准确性和安全性的前提下,最大限度地提高采用QPBOC应用实现交易的速度成为目前亟需解决的问题,并且提高交易速度可以带来较高的经济价值和品牌价值。
下面通过具体的实施例对本发明的技术方案进行详细说明,本发明以下各实施例中的设备为配置有QPBOC应用的智能卡,该设备可以通过QPBOC应用实现非接触式小额交易,该设备例如可以为公交卡,或者配置有QPBOC应用的借记卡或贷记卡。本发明提供以下几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本发明实施例提供的一种数据处理方法的流程图。本实施例提供的数据处理方法适用于进行电子现金的非接触式小额交易的情况中,该方法可以由数据处理装置执行,该数据处理装置通常以硬件和软件相结合的方式来实现,该装置可以集成在设备的处理器中,供处理器调用使用。如图2所示,本实施例的方法可以包括如下步骤,即S110~S120:
S110,在设备配置的至少两个目标区域中,将最近一次执行写操作写入数据的目标区域确认为第一目标区域,该设备为配置有QPBOC应用的智能卡。
本发明实施例提供的数据处理方法,提供一种通过QPBOC应用实现非接触式交易的方式。本发明实施例所描述的设备,为配置有QPBOC应用的智能卡,即可以用于实现电子现金的非接触式小额交易的智能卡,例如日常生活中常用的公交卡,标识有QPBOC的借记卡或贷记卡都配置有该QPBOC应用。
在本发明实施例中,配置有QPBOC应用的设备中,还配置有至少两个目标区域,该至少两个目标区域即是在执行写操作时写入数据的存储区域,该设备配置的至少两个目标区域通常是设计人员设计QPBOC应用时,在设备的存储器中专门开辟的存储区域。在每次需要执行写操作时,可以仅在其中一个目标区域中执行写操作,此时,执行本次写操作后的目标区域中的数据为最新数据,即有效数据,其它目标区域中的数据即为无效数据,因此,本发明实施例中可以先确认出最近一次执行写操作写入数据的目标区域,并将该具有有效数据的目标区域作为第一目标区域。
需要说明的是,本发明实施例与现有技术的区别在于:设备中配置有至少两个目标区域,该至少两个目标区域用于互为备份存储区域,本发明实施例根据QPBOC应用的特征,提供一种不同于现有技术中设备的硬件配置方式,用以在后续采用QPBOC应用实现交易时,提供不同于现有技术的写操作方式。另外,本发明实施例的设备中的存储器例如为电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称为:EEPROM),或闪存(Flash Memory)等存储器。
S120,根据接收到的写操作指令,在第二目标区域中执行写操作;该第二目标区域是至少两个目标区域中除第一目标区域之外的目标区域。
在本发明实施例中,已经在S110中确认出最近一次执行写操作且正常写入数据的目标区域,即已知第一目标区域中的数据为最近一次写入的数据,可以理解为有效数据,其它目标区域中的数据为较早写入的数据,其它目标区域可以记为第二目标区域,或其它目标区域中的一个特定目标区域可以记为第二目标区域。在设备接收到写操作指令时,可以根据当前接收到的写操作执行,在已确认出的第二目标区域中执行本次写操作。
需要说明的是,本发明实施例中的第二目标区域可以是一个或多个,第一目标区域只有一个;另外,由于设备每次仅在一个目标区域执行写操作,因此,若第二目标区域有多个,设备可以选择其中一个第二目标区域中执行写操作。
举例来说,设备中配置的目标区域包括:目标区域A、目标区域B和目标区域C,判断出目标区域A中的数据为最近一次执行写操作写入的数据,该目标区域A为第一目标区域,本次执行写操作时需要保护目标区域A中的数据,本次执行写操作写入的区域例如为目标区域C;那么,在执行完本次写操作为,目标区域C中的数据则为最近一次执行写操作写入的数据,此时,该目标区域C为第一目标区域,下一次执行写操作时需要保护目标区域C中的数据。也就是说,设备中配置的至少两个目标区域形成互为备份区域的存储方式,在每次执行写操作时,即便是写操作执行失败,也不会影响上一次执行写操作写入的数据,即第一目标区域中的数据仍为有效数据,这样,在保证数据准确性和安全性的同时,每次写入数据仅需要执行一次写操作。
现有技术中通过QPBOC实现交易的方式,并未结合QPBOC应用的特点和设备存储器的读写特点来设计写操作的方式,在执行原子写操作时的操作过程比较繁琐,每次写入数据需要执行4次写操作。另外,每次原子写操作实际上在设备中都保存有两份数据,需要不断得将原子写数据缓冲区的数据回写到设备的目标地址中;同时还需要在设备的原子写控制区保存相关的控制信息,在完成数据的回写后还需要清原子写控制区中的控制信息,这样繁琐的操作导致每次实现交易需要执行写操作的次数较多,而导致交易速度较慢的问题。
本发明实施例通过在设备中配置的至少两个目标区域作为互为备份存储区域的,并充分结合设备中存储器的硬件读写特点、对原子写操作的功能要求、QPBOC应用实现交易中各数据的更新要求,设计出可以明显减少每次交易中写操作执行次数的数据处理方法,根据本发明实施例提供的方法可以看出,将标准原子写操作中的4次写操作优化为仅执行一次写操作即可实现原子写操作对数据准确性和安全性的需求,从而明显缩短了每次交易中需要修改数据的时间,即本发明实施例通过减少每次交易中写操作的执行次数来提高QPBOC应用的性能参数。
本实施例提供的数据处理方法,通过在设备中配置的至少两个目标区域中,将最近一次执行写操作写入数据的目标区域确认为第一目标区域,并在接收到的写操作指令,在第二目标区域中执行写操作,该第二目标区域是至少两个目标区域中除上述第一目标区域之外的目标区域;本发明实施例中的设备为配置有QPBOC应用的智能卡,通过为设备配置的可以互为备份的至少两个目标区域,实现了通过执行一次写操作即可实现原子写操作对数据准确性和安全性的要求,极大的减少了采用QPBOC应用实现交易中执行写操作的次数,从而解决了采用现有技术的QPBOC应用在实现交易的过程中,由于每次交易需要修改相关数据所执行的写操作的次数较多,而导致交易速度较慢的问题。
可选地,在本发明实施例中,上述目标区域可以为应用交易计数器(Application Transaction Counter,简称为:ATC)区域、应用数据区域和日志文件区域,即至少两个目标区域可以包括以下一项或多项:至少两个ATC区域、至少两个应用数据区域和至少两个日志文件区域。需要说明的是,在采用QPBOC应用实现交易时,ATC的计数值、应用数据(例如包括交易的金额、时间、余额和交易数据的控制信息)和日志文件都是需要写入的数据,对上述每种需要写入的数据类型,都可以配置至少两个目标区域,以实现上述每种类型的数据在写入时,都可以通过本发明实施例提供的方式执行写操作,从而减少上述每种类型的数据在交易中执行写操作的次数。
可选地,在本发明实施例的一种实现方式中,如图3所示,为本发明实施例提供的另一种数据处理方法的流程图。在上述图1所示数据处理方法的基础上,本实施例中的目标区域可以为ATC区域,并且设备中具体配置有两个ATC区域,则本实施例中S110的实现方式可以包括:
S111,判断每个ATC区域中的ATC值是否能够通过校验;在判断出每个ATC区域中的ATC值都通过校验时,执行S112;在判断出一个ATC区域中的ATC值通过校验,且另一个ATC区域中的ATC值未通过校验时,执行S113。ATC值可以通过校验说明该ATC值在上一次执行计数值的加一操作时,成功执行写操作。
S112,将较大的ATC值对应的ATC区域确认为第一ATC区域;设备在初始状态下,上述两个ATC值都为0,每次执行交易时,对其中一个ATC值进行加一操作,规则为两个ATC值交替进行写操作;由此可知,较大的ATC值为设备最近一次执行写操作时修改的ATC值,即该较大的ATC值对应的第一ATC区域为设备最近一次执行写操作的ATC区域。
S113,将通过校验的ATC值对应的ATC区域确认为第一ATC区域;若仅有一个ATC值通过校验,则说明另一个ATC值在上一次执行写操作时执行失败,该通过校验的ATC值即为最近一次成功执行写操作修改的ATC值。
本实施例中的S120的实现方式可以为:根据接收到的写操作指令,对第二ATC区域中的ATC值执行计数值加一的写操作。
在本发明实施例提供的方法中,ATC值在交易中是一个每次交易都需要修改的数据元,即ATC值是每次执行GPO指令时唯一一个确定需要被直接更新的数据元,ATC值在每次修改中要保证的是:若GPO指令未完成执行而导致本次ATC值未成功修改的话,上一次执行GPO指令时成功修改的ATC值仍然有效;若本次执行GPO指令成功修改ATC值,则该ATC值中的每个位(bit)同时生效。本发明实施例的设计原理利用了ATC值的一个数据特征,ATC值做为QPBOC应用的寿命计数器是一个递增的值,这样设备中存储有两个正确的ATC值时,可以很快得确定哪个才是最近一次交易时更新的ATC值。设计设备时可以在设备的存储区域(例如EEPROM)中开辟了两个ATC区域,该两个ATC区域可以为交替使用的,从而达到通过本发明实施例中的1次写操作实现现有技术中原子写操作中的4次写操作的效果和对写入数据的要求。上述S111~S113为判断两个ATC区域中的ATC值,哪个才是最近一次交易时更新的ATC值的实现方式,以两个ATC值为ATC-A和ATC-B为例,说明每次执行交易时判断和修改ATC值的规则:
1、若两个ATC值均能通过校验,则说明这两个ATC值的各自上一次的写操作都是成功执行,则选较大的ATC值(例如为ATC-A)对应的ATC区域作为第一ATC区域,该ATC-A为最近一次交易时成功更新的ATC值,且本次交易中对ATC-B进行更新,即本次交易中的ATC-A没有更新。
2、若只有一个ATC值(例如为ATC-A)通过校验,则说明上一次执行交易未能正确对ATC值执行写操作,即在更新ATC-B时出现了中断,根据原子写操作的要求,中断的原子写操作应该完全不生效,则将ATC-A对应的ATC区域作为第一ATC区域,该ATC-A为最近一次交易时成功更新的ATC值,且本次交易中对ATC-B进行更新,即本次交易中的ATC-A没有更新。
3、若两个ATC值均不能通过校验,说明设备的存储器出现了未知问题,直接报错,且停该设备的使用;该情况可以是由于设备的故障,例如卡片的损坏或挂失造成的。
需要说明的是,本发明实施例中的每个ATC区域中可以包括ATC值和ATC校验值,其中,ATC值为执行交易时用于进行计数操作的数据,ATC校验值用于检测对应的ATC值是否为执行交易后成功修改的数据;本发明实施例不限制ATC校验值的设置方式以及根据ATC校验值检测对应ATC值是否能够通过校验的方式。
可选地,在本发明实施例的另一种实现方式中,在上述图1所示数据处理方法的基础上,本实施例中的目标区域可以为应用数据区域,并且设备中配置有至少两个应用数据区域,则本实施例中S110的实现方式可以包括:根据设备当前记录的应用数据索引,将该应用数据索引对应的应用数据区域确认为第一应用数据区域;该应用数据索引用于记录最近一次执行写操作写入应用数据的应用数据区域。在本实施例中,可以根据当前记录的应用数据索引判断出至少两个应用数据区域中,哪个应用数据区域中的应用数据为最近一次执行交易成功更新的应用数据,即判断出的应用数据区域即为第一应用数据区域,随后,在本次交易中选择其它应用数据区域中的应用数据进行更新;这样,可以保持即便本次交易过程中更新应用数据失败,最近一次执行交易更新的应用数据仍然有效,达到了与现有技术中的原子写操作对数据准确性和安全性要求的相同效果。
可选地,在本发明实施例的又一种实现方式中,如图4所示,为本发明实施例提供的又一种数据处理方法的流程图。在上述图1所示数据处理方法的基础上,本实施例中的目标区域可以为日志文件区域,并且设备中具体配置有N+1个日志文件区域,其中N个日志文件区域存储有效日志文件,其中,N为正整数,例如N可以为10个,则本实施例中S110的实现方式可以包括:
根据设备当前记录的日志文件控制信息,将该日志文件控制信息指示的日志文件区域确认为第一日志文件区域;该日志文件控制信息用于指示最近一次执行写操作写入日志文件的日志文件区域。
本实施例提供的方法在S120之前,还可以包括:
S114,根据第一日志文件区域和存储有效日志文件的N个日志文件区域,确认N+1个日志文件区域中的第二日志文件区域;即确认出本次执行写操作执行写入数据的日志文件区域。
在QPBOC应用中,交易的日志文件为一种循环文件,如图5所示,为现有技术中的一种日志文件的结构示意图,现有技术中的日志文件通常具有10个区域,并且可以记录10条日志文件,由于最新的一条日志文件的记录号为1,次新的一条日志文件的记录号为2,依次类推,在日志文件的控制信息中可以标明当前记录,用来指明哪个记录为最新记录。现有技术中标准的日志文件的更新与正常的文件相同,由于更新日志文件的同时需要更新文件体和该文件体的控制信息,因此,需要执行6次写操作才能完成一条日志文件的更新。
在本发明实施例提供的方法中,设计在标准的循环文件的基础上新增一个日志文件区域,即具有11个日志文件区域,如图6所示,为本发明实施例提供的数据处理方法中一种日志文件的结构示意图,对本发明实施例中的日志文件同样设计为10条记录,即日志文件区域中存储10条有效日志文件,图6所示的日志文件中,除日志文件区域202外的其它日志文件区域中的数据均为有效日志文件,当前日志文件中的日志文件区域201的记录号为1,日志文件区域203的记录号为10。在本次交易中,日志文件区域202被确认为第二日志文件区域,本次交易的日志文件则写入该日志文件区域202中。若本次交易成功,日志文件区域202的记录号变化为1,日志文件区域203成为无效记录;若本次交易失败,日志文件区域202的数据无效,日志文件区域201仍然为最近一条的记录。
进一步地,在本发明上述实施例的基础上,还提供一种数据处理方法的实现方式,如图7所示,为本发明实施例提供的再一种数据处理方法的流程图。在上述图1所示数据处理方法的基础上,本实施例的设备中配置有两个ATC区域和三个应用数据区域,每个ATC区域的两侧相邻排布一个应用数据区域,如图8所示,为图7所示实施例提供的数据处理方法的一种目标区域的结构示意图,由图8可以看出,ATC区域-A1的两侧相邻排布有应用数据区域-B1和应用数据区域-B2,ATC区域-A2的两侧相邻排布有应用数据区域-B2和应用数据区域-B3;为了进一步减少采用QPBOC应用执行交易中,每次交易需要修改数据的写操作次数,本实施例提供的方法可以同时写入ATC值和应用数据,即本实施例中S110的实现方式可以包括:
将最近一次执行写操作写入数据的ATC区域确认为第一ATC区域,并将最近一次执行写操作写入数据的应用数据区域确认为第一应用数据区域。
本实施例中确认第一ATC区域和确认第一应用数据区域的方式与上述实施例中的方式相同,故在此不再赘述。
本实施例中S120的实现方式可以包括:
根据接收到的写操作指令,以及已确认的第一ATC区域和第一应用数据区域,对第二ATC区域和与第二ATC区域相邻的第二应用数据区域同时执行写操作。
在本发明实施例提供的方法中,设计出一种“3+2”结构的特殊数据存储方式,该目标区域的结构可以保证每个ATC区域都有两个应用数据区域与其相临,即图8所示的目标区域,该结构的设计中,无论执行本次写操作写入的第二ATC区域是ATC区域-A1还是ATC区域-A2,都有可以找到一个与其相邻的第二应用数据区域,因此,可以在彼此相邻的第二ATC区域和第二应用数据区域中同时执行写操作,即在上述实施例的基础上,又减少了一次执行写操作的次数。现有技术在采用QPBOC应用实现的交易中,如果为成功的交易,则在READ RECORD指令的最后一条时更新应用数据,若为失败的交易,则只更新ATC值。为了省略标准原子写操作中的数据回写到目标地址的写操作,并实现应用数据与ATC值合并成一次写操作,同时还需要保证最近一次执行交易时修改的ATC值和应用数据不会在本次交易中被修改。本发明实施例提供的方法中采用图8所示“3+2”结构的存储区域的排布方式,整个“3+2”结构位于同一个物理页中,另外,通过原子写操作写入应用数据索引,表明当前有效的应用数据。
举例来说,在S110中确定出ATC区域-A1为第一ATC区域,并且假设应用数据索引为B3,即应用数据区域-B3中的数据为当前有效的应用数据,该应用数据区域-B3为第一应用数据区域;因此,本次交易中待更新ATC值的第二ATC区域为ATC区域-A2,另外,在更新ATC值的同时还可以写入本次交易的应用数据,此时,需要选择一个应用数据区域来写入新的应用数据,参考图8可知,当前的第二应用数据区域为应用数据区域-B1和应用数据区域-B2,为了一次性更新ATC值和写入应用数据的要求,可以选择应用数据区域-B2为本次交易执行写操作的第二应用数据区,即本次交易同时更新ATC区域-A2和应用数据区域-B2,从而实现了通过执行一次写操作完成更新ATC值和写入本次交易的应用数据。
再举例来说,在S110中确定出ATC区域-A1为第一ATC区域,并且假设应用数据索引为B2,即应用数据区域-B2中的数据为当前有效的应用数据,该应用数据区域-B2为第一应用数据区域;因此,本次交易中待更新ATC值的第二ATC区域为ATC区域-A2,另外,在更新ATC值的同时还可以写入本次交易的应用数据,此时,需要选择一个应用数据区域来写入新的应用数据,参考图8可知,当前的第二应用数据区域为应用数据区域-B1和应用数据区域-B3,为了一次性更新ATC值和写入应用数据的要求,可以选择应用数据区域-B3为本次交易执行写操作的第二应用数据区,即本次交易同时更新ATC区域-A2和应用数据区域-B3,从而实现了通过执行一次写操作完成更新ATC值和写入本次交易的应用数据。
不再列举其它情况,由于每个ATC区域均有两个应用数据区域与之相连,总能找到一个应用数据区域可以与ATC值在执行一次写操作时同时完成更新。本实施例提供的方法,进一步减少了采用QPBOC应用实现交易中,每次交易执行写操作的次数。
可选地,本发明实施例提供的方法还可以包括:
S130,将执行写操作指令写入的应用数据对应的应用数据索引通过原子写操作写入到该设备的存储器中。
在本发明实施例中,在完成应用数据的写操作后,可以将本次写入应用数据的应用数据索引通过原子写操作写入到设备的存储器中,以便在交易完成时将该应用数据索引与其它原子式数据一并提交,从而实现了两个效果:一是应用数据与ATC值一次性执行写操作;二是避免了现有技术中对应用数据进行回写的写操作。另外,在本实施例中,如果应用数据索引没有更改,则应用数据没有写入,虽然应用数据与ATC值一起写入,但本次交易的ATC值生效,而应用数据没有生效。
进一步地,在本发明实施例中,在与第二ATC区域相邻的第二应用数据区域中写入的内容包括:执行写操作指令所写入的应用数据,以及执行该写操作指令所写入的日志文件的控制信息,其中,应用数据和日志文件的控制信息在执行该写操作指令并成功写入应用数据索引后生效,即应用数据和日志文件的控制信息在S130中的应用数据索引成功执行写操作后生效。
需要说明的是,本实施例中的日志文件的控制信息可以写入在应用数据中,若交易成功,日志文件的控制信息随着应用数据索引的更新而生效,则该控制信息对应的日志文件同时生效;若交易失败,应用数据索引没有更新成功,日志文件的控制信息和对应的日志文件均没有更新。
举例来说,本发明实施例中日志文件的控制信息可以为对应日志文件在日志文件区域中的位置,例如日志文件区域的总数为11个,即共有10个记录,参考图8所示,日志文件区域中的每个区域都有一个特定的位置编号,11个区域的位置编号为00到0A,记录号为1的日志文件所在位置(例如为图8中日志文件区域201)的编号为02,则该记录号为1的日志文件的控制信息可以用2字节(Byte)表示为:020A。本发明实施例不限制日志文件的控制信息的表示方式和具体含义,只要是可以通过该日志文件的控制信息标识对应的日志文件,并可以同日志文件在每次交易中同时生效或同时失效即可。
采用本发明实施例提供的数据处理方法,交易中需要执行标准原子写操作的数据只有应用数据索引一个数据元,在整个交易中,执行写操作的最少此时可以减少到5次,具体包括:一次写操作为,一次性更新ATC值和写入应用数据(其中包括日志文件的控制信息);一次写操作为,日志文件的写操作;另外,应用数据索引的原子写需要执行3次写操作。在实现交易的数据修改方式中,针对一个目标区域的数据的原子写做特殊优化,不再擦除原子写控制信息,直接对比数据元,减少执行写操作的次数。本发明实施例提供的方法,在保证原子写操作属性的同时,保证数据准确性和安全性的前提下,将每次交易执行写操作的次数由12次降低为5次,即一次交易的写入时间可以减低到现有技术中的42%,极大的提高了采用QPBOC应用执行交易的时间。
图9为本发明实施例提供的一种数据处理装置的结构示意图。本实施例提供的数据处理装置适用于进行电子现金的非接触式小额交易的情况中,该数据处理装置通过硬件和软件结合的方式来实现,该装置可以集成在设备的处理器中,供处理器调用使用。如图9所示,本实施例的数据处理装置可以包括:确认模块10、接收模块20和写操作模块30。
其中,确认模块10,用于在设备配置的至少两个目标区域中,将最近一次执行写操作写入数据的目标区域确认为第一目标区域。
本发明实施例提供的数据处理装置,为一种通过QPBOC应用实现非接触式交易的装置。本发明实施例所描述的设备,为配置有QPBOC应用的智能卡,即可以用于实现电子现金的非接触式小额交易的智能卡,例如日常生活中常用的公交卡,标识有QPBOC的借记卡或贷记卡都配置有该QPBOC应用。
在本发明实施例中,配置有QPBOC应用的设备中,还配置有至少两个目标区域,该至少两个目标区域即是在执行写操作时写入数据的存储区域,该设备配置的至少两个目标区域通常是设计人员设计QPBOC应用时,在设备的存储器中专门开辟的存储区域。在每次需要执行写操作时,可以仅在其中一个目标区域中执行写操作,此时,执行本次写操作后的目标区域中的数据为最新数据,即有效数据,其它目标区域中的数据即为无效数据,因此,本发明实施例中的确认模块10可以先确认出最近一次执行写操作写入数据的目标区域,并将该具有有效数据的目标区域作为第一目标区域。
需要说明的是,本发明实施例与现有技术的区别在于:设备中配置有至少两个目标区域,该至少两个目标区域用于互为备份存储区域,本发明实施例根据QPBOC应用的特征,提供一种不同于现有技术中设备的硬件配置方式,用以在后续采用QPBOC应用实现交易时,提供不同于现有技术的写操作方式。另外,本发明实施例的设备中的存储器例如为EEPROM,或闪存等存储器。
接收模块20,用于接收写操作指令;
写操作模块30,用于根据接收模块20接收到的写操作指令,在第二目标区域中执行写操作;该第二目标区域是上述至少两个目标区域中除第一目标区域之外的目标区域。
在本发明实施例中,确认模块10已经在确认出最近一次执行写操作且正常写入数据的目标区域,即已知第一目标区域中的数据为最近一次写入的数据,可以理解为有效数据,其它目标区域中的数据为较早写入的数据,其它目标区域可以记为第二目标区域,或其它目标区域中的一个特定目标区域可以记为第二目标区域。在设备接收到写操作指令时,可以根据当前接收到的写操作执行,在已确认出的第二目标区域中执行本次写操作。
需要说明的是,本发明实施例中的第二目标区域可以是一个或多个,第一目标区域只有一个;另外,由于设备每次仅在一个目标区域执行写操作,因此,若第二目标区域有多个,设备可以选择其中一个第二目标区域中执行写操作。
现有技术中通过QPBOC实现交易的方式,并未结合QPBOC应用的特点和设备存储器的读写特点来设计写操作的方式,在执行原子写操作时的操作过程比较繁琐,每次写入数据需要执行4次写操作。另外,每次原子写操作实际上在设备中都保存有两份数据,需要不断得将原子写数据缓冲区的数据回写到设备的目标地址中;同时还需要在设备的原子写控制区保存相关的控制信息,在完成数据的回写后还需要清原子写控制区中的控制信息,这样繁琐的操作导致每次实现交易需要执行写操作的次数较多,而导致交易速度较慢的问题。
本发明实施例通过在设备中配置的至少两个目标区域作为互为备份存储区域的,并充分结合设备中存储器的硬件读写特点、对原子写操作的功能要求、QPBOC应用实现交易中各数据的更新要求,设计出可以明显减少每次交易中写操作执行次数的数据处理装置,根据本发明实施例提供的装置可以看出,将标准原子写操作中的4次写操作优化为仅执行一次写操作即可实现原子写操作对数据准确性和安全性的需求,从而明显缩短了每次交易中需要修改数据的时间,即本发明实施例通过减少每次交易中写操作的执行次数来提高QPBOC应用的性能参数。
本发明实施例提供的数据处理装置用于执行本发明图2所示实施例提供的数据处理方法,具备相应的功能模块,其实现原理和技术效果类似,此处不再赘述。
可选地,在本发明实施例中,上述目标区域可以为ATC区域、应用数据区域和日志文件区域,即至少两个目标区域可以包括以下一项或多项:至少两个ATC区域、至少两个应用数据区域和至少两个日志文件区域。需要说明的是,在采用QPBOC应用实现交易时,ATC的计数值、应用数据(例如包括交易的金额、时间、余额和交易数据的控制信息)和日志文件都是需要写入的数据,对上述每种需要写入的数据类型,都可以配置至少两个目标区域,以实现上述每种类型的数据在写入时,都可以通过本发明实施例提供的方式执行写操作,从而减少上述每种类型的数据在交易中执行写操作的次数。
可选地,在本发明实施例的一种实现方式中,如图10为本发明实施例提供的另一种数据处理装置的结构示意图。在上述图9所示装置的结构基础上,本实施例中的目标区域可以为ATC区域,并且设备中具体配置有两个ATC区域,本实施例中的确认模块10可以包括:
判断单元11,用于判断每个ATC区域中的ATC值是否能够通过校验;ATC值可以通过校验说明该ATC值在上一次执行计数值的加一操作时,成功执行写操作。
确认单元12,用于在判断单元11判断出每个ATC区域中的ATC值都通过校验时,将较大的ATC值对应的ATC区域确认为第一ATC区域;设备在初始状态下,上述两个ATC值都为0,每次执行交易时,对其中一个ATC值进行加一操作,规则为两个ATC值交替进行写操作;由此可知,较大的ATC值为设备最近一次执行写操作时修改的ATC值,即该较大的ATC值对应的第一ATC区域为设备最近一次执行写操作的ATC区域。
确认单元12,还用于在判断单元11判断出一个ATC区域中的ATC值通过校验,且另一个ATC区域中的ATC值未通过校验时,将通过校验的ATC值对应的ATC区域确认为第一ATC区域;若仅有一个ATC值通过校验,则说明另一个ATC值在上一次执行写操作时执行失败,该通过校验的ATC值即为最近一次成功执行写操作修改的ATC值。
本实施例中的写操作模块30根据接收到的写操作指令,在至少两个目标区域的第二目标区域中执行写操作的实现方式,可以包括:
根据接收到的写操作指令,对第二ATC区域中的ATC值执行计数值加一的写操作。
在采用本发明实施例提供的装置进行交易时,ATC值在交易中是一个每次交易都需要修改的数据元,即ATC值是每次执行GPO指令时唯一一个确定需要被直接更新的数据元,ATC值在每次修改中要保证的是:若GPO指令未完成执行而导致本次ATC值未成功修改的话,上一次执行GPO指令时成功修改的ATC值仍然有效;若本次执行GPO指令成功修改ATC值,则该ATC值中的每个位(bit)同时生效。本发明实施例的设计原理利用了ATC值的一个数据特征,ATC值做为QPBOC应用的寿命计数器是一个递增的值,这样设备中存储有两个正确的ATC值时,可以很快得确定哪个才是最近一次交易时更新的ATC值。设计设备时可以在设备的存储区域(例如EEPROM)中开辟了两个ATC区域,该两个ATC区域可以为交替使用的,从而达到通过本发明实施例中的1次写操作实现现有技术中原子写操作中的4次写操作的效果和对写入数据的要求。上述判断单元11和确认单元12执行的操作为判断两个ATC区域中的ATC值,哪个才是最近一次交易时更新的ATC值的实现方式。
需要说明的是,采用本发明实施例提供的装置,在每次执行交易时判断和修改ATC值的规则在上述实施例中已经详细说明,故在此不再赘述。另外,本发明实施例中的每个ATC区域中可以包括ATC值和ATC校验值,其中,ATC值为执行交易时用于进行计数操作的数据,ATC校验值用于检测对应的ATC值是否为执行交易后成功修改的数据;本发明实施例不限制ATC校验值的设置方式以及根据ATC校验值检测对应ATC值是否能够通过校验的方式。
本发明实施例提供的数据处理装置用于执行本发明图3所示实施例提供的数据处理方法,具备相应的功能模块,其实现原理和技术效果类似,此处不再赘述。
可选地,在本发明实施例的另一种实现方式中,在上述图9所示数据处理装置的基础上,本实施例中的目标区域可以为应用数据区域,并且设备中配置有至少两个应用数据区域,则本实施例中确认模块10将最近一次执行写操作写入数据的区域确认为第一目标区域的实现方式,可以包括:根据设备当前记录的应用数据索引,将该应用数据索引对应的应用数据区域确认为第一应用数据区域;该应用数据索引用于记录最近一次执行写操作写入应用数据的应用数据区域。在本实施例中,可以根据当前记录的应用数据索引判断出至少两个应用数据区域中,哪个应用数据区域中的应用数据为最近一次执行交易成功更新的应用数据,即判断出的应用数据区域即为第一应用数据区域,随后,在本次交易中选择其它应用数据区域中的应用数据进行更新;这样,可以保持即便本次交易过程中更新应用数据失败,最近一次执行交易更新的应用数据仍然有效,达到了与现有技术中的原子写操作对数据准确性和安全性要求的相同效果。
可选地,在本发明实施例的又一种实现方式中,在上述图9所示数据处理装置的结构基础上,本实施例中的目标区域可以为日志文件区域,并且设备中具体配置有N+1个日志文件区域,其中N个日志文件区域存储有效日志文件,其中,N为正整数,例如N可以为10个,则本实施例中确认模块10将最近一次执行写操作写入数据的区域确认为第一目标区域的实现方式,可以包括:根据设备当前记录的日志文件控制信息,将该日志文件控制信息指示的日志文件区域确认为第一日志文件区域;该日志文件控制信息用于指示最近一次执行写操作写入日志文件的日志文件区域。
本实施例提供中的确认模块10,还用于根据第一日志文件区域和存储有效日志文件的N个日志文件区域,确认N+1个日志文件区域中的第二日志文件区域;即确认出本次执行写操作执行写入数据的日志文件区域。
现有技术中的日志文件通常具有10个区域,并且可以记录10条日志文件。在本发明实施例提供的装置中,同样设计在标准的循环文件的基础上新增一个日志文件区域,即具有11个日志文件区域,可以参考图6所示日志文件的结构示意图,对本发明实施例中的日志文件同样设计为10条记录,即日志文件区域中存储10条有效日志文件,图6所示的日志文件中,除日志文件区域202外的其它日志文件区域中的数据均为有效日志文件,当前日志文件中的日志文件区域201的记录号为1,日志文件区域203的记录号为10。在本次交易中,日志文件区域202被确认为第二日志文件区域,本次交易的日志文件则写入该日志文件区域202中。若本次交易成功,日志文件区域202的记录号变化为1,日志文件区域203成为无效记录;若本次交易失败,日志文件区域202的数据无效,日志文件区域201仍然为最近一条的记录。
本发明实施例提供的数据处理装置用于执行本发明图4所示实施例提供的数据处理方法,具备相应的功能模块,其实现原理和技术效果类似,此处不再赘述。
进一步地,在本发明上述实施例的基础上,还提供一种数据处理装置的实现方式,在上述图9所示装置的基础上,本实施例的设备中配置有两个ATC区域和三个应用数据区域,每个ATC区域的两侧相邻排布一个应用数据区域,可以参照图8所示目标区域的结构示意图,由图8可以看出,ATC区域-A1的两侧相邻排布有应用数据区域-B1和应用数据区域-B2,ATC区域-A2的两侧相邻排布有应用数据区域-B2和应用数据区域-B3;为了进一步减少采用QPBOC应用执行交易中,每次交易需要修改数据的写操作次数,在采用本实施例提供的装置执行交易时,可以同时写入ATC值和应用数据,即本实施例中确认模块10将最近一次执行写操作写入数据的区域确认为第一目标区域的实现方式,可以包括:将最近一次执行写操作写入数据的ATC区域确认为第一ATC区域,并将最近一次执行写操作写入数据的应用数据区域确认为第一应用数据区域。
本实施例中的写操作模块30根据接收到的写操作指令,在至少两个目标区域的第二目标区域中执行写操作的实现方式,可以包括:根据接收到的写操作指令,以及已确认的第一ATC区域和第一应用数据区域,对第二ATC区域和与第二ATC区域相邻的第二应用数据区域同时执行写操作。
在本发明实施例提供的装置中,设计出一种“3+2”结构的特殊数据存储方式,该目标区域的结构可以保证每个ATC区域都有两个应用数据区域与其相临,可以参考图8所示的目标区域,该结构的设计中,无论执行本次写操作写入的第二ATC区域是ATC区域-A1还是ATC区域-A2,都有可以找到一个与其相邻的第二应用数据区域,因此,可以在彼此相邻的第二ATC区域和第二应用数据区域中同时执行写操作,即在上述实施例的基础上,又减少了一次执行写操作的次数。现有技术在采用QPBOC应用实现的交易中,如果为成功的交易,则在READ RECORD指令的最后一条时更新应用数据,若为失败的交易,则只更新ATC值。为了省略标准原子写操作中的数据回写到目标地址的写操作,并实现应用数据与ATC值合并成一次写操作,同时还需要保证最近一次执行交易时修改的ATC值和应用数据不会在本次交易中被修改。本发明实施例提供的装置中采用图8所示“3+2”结构的存储区域的排布方式,整个“3+2”结构位于同一个物理页中,另外,通过原子写操作写入应用数据索引,表明当前有效的应用数据。
通过图8所示“3+2”结构的存储区域,实现一次性修改ATC值和写入应用数据的方式,在上述实施例中已经举例详细说明,故在此不再赘述。由于每个ATC区域均有两个应用数据区域与之相连,总能找到一个应用数据区域可以与ATC值在执行一次写操作时同时完成更新。本实施例提供的装置,进一步减少了采用QPBOC应用实现交易中,每次交易执行写操作的次数。
可选地,本发明实施例提供的装置中,写操作模块30,还用于将执行写操作指令写入的应用数据对应的应用数据索引通过原子写操作写入到该设备的存储器中。
在本发明实施例中,在完成应用数据的写操作后,可以将本次写入应用数据的应用数据索引通过原子写操作写入到设备的存储器中,以便在交易完成时将该应用数据索引与其它原子式数据一并提交,从而实现了两个效果:一是应用数据与ATC值一次性执行写操作;二是避免了现有技术中对应用数据进行回写的写操作。另外,在本实施例中,如果应用数据索引没有更改,则应用数据没有写入,虽然应用数据与ATC值一起写入,但本次交易的ATC值生效,而应用数据没有生效。
进一步地,在本发明实施例中,写操作模块30在与第二ATC区域相邻的第二应用数据区域中写入的内容包括:执行写操作指令所写入的应用数据,以及执行该写操作指令所写入的日志文件的控制信息,其中,应用数据和日志文件的控制信息在执行该写操作指令并成功写入应用数据索引后生效,即应用数据和日志文件的控制信息在写操作模块30成功写入应用数据索引后生效。
本发明实施例提供的数据处理装置用于执行本发明图7所示实施例提供的数据处理方法,具备相应的功能模块,其实现原理和技术效果类似,此处不再赘述。
需要说明的是,本实施例中的日志文件的控制信息可以写入在应用数据中,若交易成功,日志文件的控制信息随着应用数据索引的更新而生效,则该控制信息对应的日志文件同时生效;若交易失败,应用数据索引没有更新成功,日志文件的控制信息和对应的日志文件均没有更新。
采用本发明实施例提供的数据处理装置执行交易时,交易中需要执行标准原子写操作的数据只有应用数据索引一个数据元,在整个交易中,执行写操作的最少此时可以减少到5次,具体包括:一次写操作为,一次性更新ATC值和写入应用数据(其中包括日志文件的控制信息);一次写操作为,日志文件的写操作;另外,应用数据索引的原子写需要执行3次写操作。在实现交易的数据修改方式中,针对一个目标区域的数据的原子写做特殊优化,不再擦除原子写控制信息,直接对比数据元,减少执行写操作的次数。本发明实施例提供的装置,在保证原子写操作属性的同时,保证数据准确性和安全性的前提下,将每次交易执行写操作的次数由12次降低为5次,即一次交易的写入时间可以减低到现有技术中的42%,极大的提高了采用QPBOC应用执行交易的时间。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可以通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。