CN104267975A - 一种处理扩展应用数据的方法及装置、卡片 - Google Patents
一种处理扩展应用数据的方法及装置、卡片 Download PDFInfo
- Publication number
- CN104267975A CN104267975A CN201410259665.4A CN201410259665A CN104267975A CN 104267975 A CN104267975 A CN 104267975A CN 201410259665 A CN201410259665 A CN 201410259665A CN 104267975 A CN104267975 A CN 104267975A
- Authority
- CN
- China
- Prior art keywords
- application data
- expanded application
- buffer zone
- write buffer
- atomic write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种处理扩展应用数据的方法及装置、卡片,该方法包括:接收到更新扩展应用数据缓存指令后,将扩展应用数据写入所述卡片的原子写缓冲区;接收到交易完成指令后,提交所述原子写缓冲区内保存的扩展应用数据。通过本发明可以节省卡片上的RAM,同时降低交易用时,能够优化原子写功能。
Description
技术领域
本发明涉及电子商务技术领域,特别是涉及一种处理扩展应用数据的方法及装置、卡片。
背景技术
QPBOC扩展应用及EDEP(电子存折电子钱包)类行业扩展应用在标准应用的交易中增加了UPDATE CAPP(扩展应用)DATA CACHE命令,由UPDATE CAPP DATA CACHE(更新扩展应用数据缓存)命令传入的应用数据保存在RAM(Random Access Memory,易失性存取器)中,在交易的最后一条指令的提交与其它交易数据共同提交原子写入,由此导致两方面主要问题:
一方面,应用中一般要求在一次交易中要支持多条UPDATE CAPPDATA CACHE命令,要在卡片(如银行卡、信用卡上的芯片)RAM中分配较大的一块空间作为CACHE来存储这些数据。在硬件资源十分短缺,且对硬件成本要求很高的卡片上,这个要求有些苛刻。严重时,可能由于这个要求卡片无法达到而无法实现扩展应用或由于应用要求专门去提高卡片配置;另一方面,QPBOC扩展应用与EDEP类行业应用对交易时间都有要求。与基本应用相比,扩展应用主要增加了读记录、UPDATE CAPP DATA CACHE指令、及最终将数据写入文件三部分的时间。在传统的实现方式下,复合应用数据首先被搬移到内存中,再经原子操作方式写入文件,这些耗时的数据搬移操作为达到交易时间的要求带来较大困难。
发明内容
本发明要解决的技术问题是提供一种处理扩展应用数据的方法及装置,以节省卡片上的RAM空间。
为了解决上述技术问题,本发明提供了一种处理扩展应用数据的方法,应用于实现电子交易的卡片,所述方法包括:
接收到更新扩展应用数据缓存指令后,将扩展应用数据写入所述卡片的原子写缓冲区;
接收到交易完成指令后,提交所述原子写缓冲区内保存的扩展应用数据。
进一步地,上述方法还具有下面特点:所述将扩展应用数据写入原子写缓冲区之后,还包括:
在易失性存储器中备份当前所述原子写缓冲区中已有的数据控制信息。
进一步地,上述方法还具有下面特点:所述接收到更新扩展应用数据缓存指令后,将扩展应用数据写入所述卡片的原子写缓冲区前还包括:
判断所述更新扩展应用数据缓存指令是否是本次交易的第一条更新扩展应用数据高速缓存指令,如是,则清除所述原子写缓冲区的数据控制信息备份,如果不是则根据所述易失性存储器中的备份恢复所述原子写缓冲区的数据控制信息。
进一步地,上述方法还具有下面特点:
所述扩展应用数据包括QPBOC扩展应用数据或电子存折电子钱包类行业扩展应用数据。
为了解决上述问题,本发明还提供了一种处理扩展应用数据的装置,用于在实现电子交易的卡片中处理扩展应用数据;所述卡片包括:原子写缓冲区;其中,所述装置包括:
写模块,用于接收到更新扩展应用数据高速缓存指令后,将扩展应用数据写入所述原子写缓冲区;
提交模块,用于接收到交易完成指令后,提交所述原子写缓冲区内保存的扩展应用数据。
进一步地,上述装置还具有下面特点:所述装置还包括:
易失性存取器,用于备份当前所述原子写缓冲区中已有的数据控制信息。
进一步地,上述装置还具有下面特点:所述装置还包括:
处理模块,用于接收到更新扩展应用数据高速缓存指令后,判断所述更新扩展应用数据高速缓存指令是否是本次交易的第一条更新扩展应用数据高速缓存指令,如是,则清除所述原子写缓冲区的数据控制信息备份,如果不是则根据所述易失性存储器中的备份恢复所述原子写缓冲区的数据控制信息。
进一步地,上述装置还具有下面特点:
所述写模块,写入所述原子写缓冲区的扩展应用数据包括QPBOC扩展应用数据或电子存折电子钱包类行业扩展应用数据。
为了解决上述问题,本发明还提供了一种卡片,包括:原子写缓冲区;其中,还包括:上述的装置。
综上,本发明提供一种处理扩展应用数据的方法及装置、卡片,可以节省卡片上的RAM,同时降低交易用时。在本发明方法中,多条UPDATE CAPPDATA CACHE指令数据的保存不会占用RAM空间,同时,在交易完成时也不需要再搜索要更新的文件,无需再次将数据写入原子写缓冲区,省去了一次数据搬移及文件查找的过程,降低了交易时间,本发明提供了一种全新的应用数据处理方式,能够优化原子写功能。
附图说明
图1为本发明一实施例的一种处理扩展应用数据的方法的流程图;
图2为本发明另一实施例的一种处理扩展应用数据的方法的流程图;
图3为本发明实施例的装置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明实施例的一种处理扩展应用数据的方法的流程图,如图1所示,本实施例的方法包括:
步骤11、接收到UPDATE CAPP DATA CACHE指令后,将扩展应用数据写入原子写缓冲区;
步骤12、接收到交易完成指令后,提交所述原子写缓冲区内保存的扩展应用数据。
QPBOC扩展应用及EDEP类行业扩展应用是为满足支付应用中可能遇到的分时、分段计费的需求,在卡片中增加了复合应用专用文件,每个应用可以设置一条或多条相关的复合应用专用数据记录。在交易流程中,允许修改本应用对应的专用数据,两类扩展应用都增加了UPDATE CAPP DATACACHE命令,该命令在一次交易中可以发送多条。规范要求该命令传送给卡片的应用数据不立即更新写入复合应用交易文件,而是在最终交易完成时,与余额、交易日志等交易相关数据一同更新。还有一种为规范指出的默认方案,在RAM中开辟足够大的CACHE区域来临时保存CAPP DATA,当交易完成时,CAPP DATA与交易数据(交易日志、内部数据元)等一同利用原子写机制写入文件。
原子写机制是指的写入操作不可拆分机制,即写入的所有数据同时生效或完全无效,在实现上如图2中原子写机制模块所示的由“控制信息”与“原子写缓冲区”两部分组成,一次原子写操作有如下步骤:步骤1、写入数据到原子写缓冲区;步骤2、控制信息更新;步骤3、控制信息写入到EEPROM中。步骤1与步骤2可能会出现多次,所有数据是否失效均受步骤3的操作结果影响。如上所述,原子写缓冲区是一块专用于保存准备进行原子写的数据的非易失性存储区域,等待被更新的数据会保存在其中。
一般QPBOC扩展应用及EDEP扩展应用是在原有基本应用的基础上扩展而来的。而实际开发中,常见的也要求在现有的基本应用基础上通过一定的代码修改,在同一个平台或同一款卡片芯片上实现扩展应用。在这样的情况下,若采用默认的实现方案,假设在一次交易中会出现4~5条UPDATECAPP DATA CACHE指令,由此导致应用需要在RAM中划出至少512字节的RAM作为CACHE,由于在开发基础应用时会考虑资源合理利用,扩展应用设计中一般很难找到这样一块RAM区域来保存CAPP DATA数据,此时面临的就是换芯片,或放弃增加复合应用的想法。
在上述的情况下,若采用本发明实施例的方法,扩展应用设计上不会新增RAM的需求,所有的CAPP DATA均写入原子写缓冲区,即EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)中,且卡片支持UPDATE CAPP DATA CACHE的条数完全由原子写缓冲区大小决定。
另一方面,由于QPBOC扩展应用及EDEP扩展应用均对交易时间有要求,且时间要求与基本应用相同,而之前开发基本应用时时间余量若不是很丰富,再新增两条指令,同时新增大量数据操作的情况下,增加复合应用有相当难度。若采用本发明实施例的方法,在整个交易过程中,CAPP DATA大数据减少了一次搬移,在一般实现上也会减少一次文件查询,有效得减少了交易时间,为在原有平台上实现扩展应用提供了可能性。
EDEP扩展应用的交易流程主要包含以下过程:选择应用、读取复合应用数据、发送复合应用消费初始化指令、发送一条或多条UPDATE CAPPDATA CACHE指令、发送确认消费指令。QPBOC扩展应用的交易流程主要包含以下过程:选择应用、读取复合应用数据、获取应用数据、发送一条或多条UPDATE CAPP DATA CACHE指令、发送读记录指令、最后一条读记录指令时完成交易。
综合上述两种情况,在发送多条UPDATE CAPP前,两种扩展应用均进行了交易相关的一部分准备工作,而CAPP DATA发送完毕后,两应用在最终完成交易前的数据提交前,可能会有一些数据处理操作,这两部分内容相关性不大,不再详述。本发明实施例的方法实现CAPP应用数据主要利用了一种可以延迟提交的原子写实现,在交易完成前,应用数据写入到原子写缓冲区(掉电不丢失),但并不提交。交易完成时将交易相关的数据操作(如写交易日志等)与CAPP应用数据一同提交,若交易失败,数据控制信息没有生效,写入到原子写缓冲区的数据无效。
以下以一具体实施例对本发明的方法进行详细的说明,如图2所示,包括以下步骤:
步骤101、终端传入了UPDATE CAPP DATA CACHE指令及数据;对传入数据结构的合法性、被更新数据与新数据应用标志的一致性进行检查,如不一致,结束,如一致,则转步骤102;
步骤102、判断当前指令,若为本次交易的第一条UPDATE CAPP DATACACHE指令,则清除原子写缓冲区的数据控制信息的备份,如果不是则根据备份恢复原子写缓冲区的数据控制信息;然后转步骤103;一般原子写机制是以指令为单位的,在每次指令的开始阶段会将数据控制信息清除,清除数据控制信息,将会清除或覆盖原子写缓冲区中已保存的数据,恢复数据控制信息,将保存原子写缓冲区中已保存的数据,而不会使数据在下一指令到来后被清除或覆盖;
步骤103、直接将CAPP DATA写入原子写缓冲区,但此时并不进行原子写提交操作;
步骤104、对当前原子写缓冲区中已有的数据控制信息进行备份;
步骤105、接收下一条指令,若为UPDATE CAPP DATA CACHE,则重复步骤102~104,否则转步骤106;
步骤106、继续交易后续操作;
步骤107、接收到交易完成指令后,在执行最后完成交易的最终原子处理前,根据步骤104中的备份恢复原子写缓冲区数据控制信息,然后提交原子写缓冲区内保存的数据。
如果交易失败,将不作处理,数据控制信息不生效,写入到原子写缓冲区的数据无效,流程结束。
本发明实施例的方法的优势在于:不需要另外分配Cache空间。在交易过程中,多条Update Capp Data Cache数据不额外占用RAM空间,节省RAM,且支持最大的支持条数仅与原子写缓冲区大小相关。在交易完成时也不需要再搜索要更新的文件,无需再次将数据写入原子写缓冲区,省去了一次数据搬移及文件查找的过程,降低了交易时间。
图3为本发明实施例的一种处理扩展应用数据的装置的示意图,如图3所示,本实施例的装置用于在实现电子交易的卡片中处理扩展应用数据;所述卡片包括原子写缓冲区,所述装置包括:
写模块,用于接收到更新扩展应用数据高速缓存指令后,将扩展应用数据写入原子写缓冲区;
提交模块,用于接收到交易完成指令后,提交所述原子写缓冲区内保存的扩展应用数据。
其中,所述装置还可以包括:
易失性存取器,用于备份当前所述原子写缓冲区中已有的数据控制信息。
在一优选实施例中,所述装置还可以包括:
处理模块,用于接收到更新扩展应用数据高速缓存指令后,判断所述更新扩展应用数据高速缓存指令是否是本次交易的第一条更新扩展应用数据高速缓存指令,如是,则清除所述原子写缓冲区的数据控制信息备份,如果不是则易失性存储器中的备份恢复所述原子写缓冲区的数据控制信息。
其中,所述写模块,写入所述原子写缓冲区的扩展应用数据可以包括:QPBOC扩展应用数据或电子存折电子钱包类行业扩展应用数据。
本发明实施例还提供一种卡片,包括原子写缓冲区,还包括上述的处理扩展应用数据的装置。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (9)
1.一种处理扩展应用数据的方法,应用于实现电子交易的卡片,所述方法包括:
接收到更新扩展应用数据缓存指令后,将扩展应用数据写入所述卡片的原子写缓冲区;
接收到交易完成指令后,提交所述原子写缓冲区内保存的扩展应用数据。
2.如权利要求1所述的方法,其特征在于:所述将扩展应用数据写入原子写缓冲区之后,还包括:
在易失性存储器中备份当前所述原子写缓冲区中已有的数据控制信息。
3.如权利要求2所述的方法,其特征在于:所述接收到更新扩展应用数据缓存指令后,将扩展应用数据写入所述卡片的原子写缓冲区前还包括:
判断所述更新扩展应用数据缓存指令是否是本次交易的第一条更新扩展应用数据高速缓存指令,如是,则清除所述原子写缓冲区的数据控制信息备份,如果不是则根据所述易失性存储器中的备份恢复所述原子写缓冲区的数据控制信息。
4.如权利要求1-3任一项所述的方法,其特征在于,
所述扩展应用数据包括QPBOC扩展应用数据或电子存折电子钱包类行业扩展应用数据。
5.一种处理扩展应用数据的装置,用于在实现电子交易的卡片中处理扩展应用数据;所述卡片包括:原子写缓冲区;其特征在于,所述装置包括:
写模块,用于接收到更新扩展应用数据高速缓存指令后,将扩展应用数据写入所述原子写缓冲区;
提交模块,用于接收到交易完成指令后,提交所述原子写缓冲区内保存的扩展应用数据。
6.如权利要求5所述的装置,其特征在于:所述装置还包括:
易失性存取器,用于备份当前所述原子写缓冲区中已有的数据控制信息。
7.如权利要求6所述的装置,其特征在于:所述装置还包括:
处理模块,用于接收到更新扩展应用数据高速缓存指令后,判断所述更新扩展应用数据高速缓存指令是否是本次交易的第一条更新扩展应用数据高速缓存指令,如是,则清除所述原子写缓冲区的数据控制信息备份,如果不是则根据所述易失性存储器中的备份恢复所述原子写缓冲区的数据控制信息。
8.如权利要求5-7任一项所述的装置,其特征在于:
所述写模块,写入所述原子写缓冲区的扩展应用数据包括QPBOC扩展应用数据或电子存折电子钱包类行业扩展应用数据。
9.一种卡片,包括:原子写缓冲区;
其特征在于,还包括:如权利要求5-8中任一项所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410259665.4A CN104267975B (zh) | 2014-06-11 | 2014-06-11 | 一种处理扩展应用数据的方法及装置、卡片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410259665.4A CN104267975B (zh) | 2014-06-11 | 2014-06-11 | 一种处理扩展应用数据的方法及装置、卡片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104267975A true CN104267975A (zh) | 2015-01-07 |
CN104267975B CN104267975B (zh) | 2018-10-09 |
Family
ID=52159499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410259665.4A Active CN104267975B (zh) | 2014-06-11 | 2014-06-11 | 一种处理扩展应用数据的方法及装置、卡片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104267975B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228483A (zh) * | 2016-12-15 | 2018-06-29 | 北京忆恒创源科技有限公司 | 处理原子写命令的方法和设备 |
CN109558274A (zh) * | 2018-10-24 | 2019-04-02 | 大唐微电子技术有限公司 | 一种信息处理方法、装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650972A (zh) * | 2009-06-12 | 2010-02-17 | 东信和平智能卡股份有限公司 | 智能卡的非易失性存储器数据更新方法 |
CN102147846A (zh) * | 2010-12-29 | 2011-08-10 | 北京握奇数据系统有限公司 | 智能卡内写数据的方法和智能卡 |
CN102592154A (zh) * | 2011-12-30 | 2012-07-18 | 北京握奇数据系统有限公司 | 智能卡数据处理方法、装置和智能卡 |
CN102708485A (zh) * | 2012-05-17 | 2012-10-03 | 东信和平智能卡股份有限公司 | 一种手机支付卡交易的事物保护方法及手机支付卡 |
-
2014
- 2014-06-11 CN CN201410259665.4A patent/CN104267975B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650972A (zh) * | 2009-06-12 | 2010-02-17 | 东信和平智能卡股份有限公司 | 智能卡的非易失性存储器数据更新方法 |
CN102147846A (zh) * | 2010-12-29 | 2011-08-10 | 北京握奇数据系统有限公司 | 智能卡内写数据的方法和智能卡 |
CN102592154A (zh) * | 2011-12-30 | 2012-07-18 | 北京握奇数据系统有限公司 | 智能卡数据处理方法、装置和智能卡 |
CN102708485A (zh) * | 2012-05-17 | 2012-10-03 | 东信和平智能卡股份有限公司 | 一种手机支付卡交易的事物保护方法及手机支付卡 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228483A (zh) * | 2016-12-15 | 2018-06-29 | 北京忆恒创源科技有限公司 | 处理原子写命令的方法和设备 |
CN108228483B (zh) * | 2016-12-15 | 2021-09-14 | 北京忆恒创源科技股份有限公司 | 处理原子写命令的方法和设备 |
CN109558274A (zh) * | 2018-10-24 | 2019-04-02 | 大唐微电子技术有限公司 | 一种信息处理方法、装置及计算机可读存储介质 |
CN109558274B (zh) * | 2018-10-24 | 2023-08-15 | 大唐微电子技术有限公司 | 一种信息处理方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104267975B (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103473067B (zh) | 嵌入式Linux分区与数据还原方法、系统及系统开发方法 | |
CN102831069B (zh) | 内存处理方法、内存管理设备 | |
CN105260136A (zh) | 数据读写方法及分布式存储系统 | |
CN109344094B (zh) | 地址映射关系反馈方法、装置、设备及可读存储介质 | |
CN101819543A (zh) | 快照数据处理方法和系统以及存储设备 | |
CN106933747B (zh) | 基于多流的数据存储系统和数据存储方法 | |
CN104636414A (zh) | 提供对更新后的文件的访问的方法和执行该方法的计算机 | |
CN103177077B (zh) | 一种apk文件的存储及输出方法 | |
CN103034592B (zh) | 数据处理方法和装置 | |
CN109614048A (zh) | 基于闪存的数据读写方法、装置及计算机可读存储介质 | |
CN103996412A (zh) | 一种用于智能卡非易失性存储器的掉电保护方法 | |
CN103517141A (zh) | 基于ip机顶盒分段式数据升级方法 | |
CN107526608A (zh) | 一种ota升级包升级方法及设备 | |
CN102971698A (zh) | 快照数据处理方法及系统、存储系统、快照代理 | |
CN104239096A (zh) | Android系统实现安全数据区的方法及装置 | |
CN103558998A (zh) | 一种数据操作的方法和设备 | |
CN107608820A (zh) | 一种基于纠删码的文件写入方法及相关装置 | |
CN105138284A (zh) | 虚拟机磁盘镜像同步操作优化的系统及方法 | |
CN104407820A (zh) | 基于固态硬盘存储系统的数据处理方法、装置以及系统 | |
CN103229150B (zh) | 数据控制方法及系统 | |
CN112463656A (zh) | 固态硬盘异常掉电恢复方法、系统及存储介质 | |
CN105389268A (zh) | 资料储存系统及其运作方法 | |
CN110019063A (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
CN104267975A (zh) | 一种处理扩展应用数据的方法及装置、卡片 | |
CN104866388A (zh) | 数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |