CN107454953A - Emv的实现方法及装置 - Google Patents
Emv的实现方法及装置 Download PDFInfo
- Publication number
- CN107454953A CN107454953A CN201780000963.3A CN201780000963A CN107454953A CN 107454953 A CN107454953 A CN 107454953A CN 201780000963 A CN201780000963 A CN 201780000963A CN 107454953 A CN107454953 A CN 107454953A
- Authority
- CN
- China
- Prior art keywords
- label
- target labels
- data
- labels
- dram
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明揭示了EMV的实现方法及装置,方法包括:清空标签内的原始的标签数据,并读取所有标签的具体值;为多个标签分配一块动态内存;根据标签和标签对应的具体值,建立标签索引表;根据标签索引表查找待写入的标签数据对应的目标标签,将标签数据写入目标标签内使用动态内存。访问和维护简单,内存要求少。
Description
技术领域
本发明涉及到EMV实现领域,特别是涉及到一种EMV的实现方法及装置。
背景技术
EMV采用TLV(TLV结构是一种传输结构,一个buf,通过T(tag)索引,通过L(len)指定后续长度,通过V(value)保存指定长度格式来存储数据,如卡号、磁道数据,卡片有效期、证书等。EMV标准是由国际三大银行卡组织--Europay(欧陆卡,已被万事达收购)、MasterCard(万事达卡)和Visa(维萨)共同发起制定的银行卡从磁条卡向智能IC卡转移的技术标准,是基于IC卡的金融支付标准,已成为公认的全球统一标准。
MPOS是新型支付产品,与手机、平板电脑等通用智能移动设备进行连接,通过互联网进行信息传输,外接设备完成卡片读取、密码输入、数据加解密、提示信息显示等操作,从而实现支付功能的应用。随着移动互联网的普及,用户使用MPOS的过程将更加便捷,MPOS的量也越来越大,相对应的制造商的成本压力也越来越大。采用国产的资源比较少的安全芯片方案制造MPOS已成为趋势,但是由于安全芯片存储空间以及内存的限制,很多厂商对EMV进行了简化,很多功能未能实现。同时要兼容各个卡组织的非接触式快捷支付方式也比较困难,针对资源紧张的问题,急需一种新型的EMV实现方法。
现有的EMV技术存在以下缺点:
缺点一:相关的TLV定长与不定长数据加起来有100多个,不同的卡片以及不同的终端都有不同的TLV数据,不考虑芯片资源的情况下程序在开始的时候会对所有的TLV数据先分配最大内存,或者定义好最大内存,导致在小内存的安全芯片方案里内存不足。
缺点二:EMV规范中说明有时应卡片的需求,终端需要将指定的数据列表发送给卡片,为了减少IC卡内对这些数据的处理,这个指定数据列表不进行TLV编码,只包含若干V值。而V对用的TL(标签和长度)列表则在IC卡中预先定义,称为数据对象列表(DOL),即卡片在需要时将固定格式的DOL传给终端,终端根据DOL要求,按顺序组织对应的数据返回给卡片。DOL的基本格式如下:标签1数据长度标签2数据长度……标签n数据长度,如果采用预先分配内存的结构体方式进行代码处理的话,实现起来就很麻烦,需要记住每一个标签在结构体里的位置,以及最大长度,在每一个需要使用标签的地方都要先读取到在结构体里的位置,然后再从结构体里获取数据,存在代码维护麻烦的问题。
缺点三:不同的卡组织相同的标签有不同的定义,如9F79,万事达卡组织用作为保护的数据域5,维萨卡组织表示可用余额,针对这些特殊的标签,一般的处理方法是特殊标签在特殊的地方特别处理,这样做程序不好阅读,代码不容易维护,也容易出错。
发明内容
本发明的主要目的为提供一种EMV的实现方法及装置,旨在解决内存资源占用率高的问题。
本发明提出一种EMV的实现方法,包括,
清空标签内的原始的第一标签数据,并读取每一个标签的具体值;
为多个所述标签分配一块动态内存,并将标签的具体值保存到动态内存中;
根据所述标签和所述标签对应的具体值,建立标签索引表;
根据所述标签索引表查找待写入的第二标签数据对应的目标标签,将所述第二标签数据写入所述目标标签内。
进一步地,所述具体值包括标签标示、标签最小长度、标签最大长度、数据格式和支持的卡组织。
进一步地,所述为多个标签分配一块动态内存步骤,包括,
根据所述标签的具体值信息为多个所述标签分配一块动态内存,并记录动态内存的使用位置。
进一步地,所述根据所述标签索引表查找待写入的第二标签数据对应的目标标签,将所述第二标签数据写入所述目标标签内步骤,包括以下步骤:
判断标签索引表中是否存在目标标签的标签标示;
若存在目标标签的标签标示,则判断目标标签支持的卡组织是否为第二标签数据对应的卡组织;
若为写入第二标签数据对应的卡组织,则判断目标标签的数据格式是否正确;
若目标标签的数据格式正确,则判断标签索引中是否存在目标标签的标签标示;
若标签索引中存在目标标签的标签标示,则将第二标签数据写入目标标签对应的动态内存中;
若标签索引中不存在目标标签的标签标示,寻找空闲的索引,建立新的标签作为目标标签;
判断目标标签中是否存在足够的储存空间来写入第二标签数据;
若目标标签中存在足够的储存空间,将第二标签数据写入目标标签对应的动态内存中。
进一步地,所述将第二标签数据写入目标标签对应的动态内存中步骤之后,包括,
将所述标签索引表中目标标签的具体值拷贝到标签索引中,所述标签索引指向动态内存的使用位置。
本发明提出了一种EMV的实现装置,包括,
初始化单元,用于清空标签内的原始的第一标签数据,并读取每一个标签的具体值;
内存分配单元,用于为多个标签分配一块动态内存,并将标签的具体值保存到对应的动态内存中;
建表单元,用于根据所述标签和所述标签对应的具体值,建立标签索引表;
数据写入单元,用于根据所述标签索引表查找待写入的第二标签数据对应的目标标签,将所述第二标签数据写入所述目标标签内。
进一步地,所述具体值包括标签标示、标签最小长度、标签最大长度、数据格式和支持的卡组织。
进一步地,所述内存分配单元包括内存分配模块,所述内存分配模块用于根据所述标签的具体值信息为多个所述标签分配一块动态内存,并记录动态内存的使用位置。
进一步地,所述数据写入单元还包括有:
第一判断模块,用于判断标签索引表中是否存在目标标签的标签标示;
第二判断模块,用于若存在目标标签的标签标示,则判断目标标签支持的卡组织是否为第二标签数据对应的卡组织;
第三判断模块,用于若为写入第二标签数据对应的卡组织,则判断目标标签的数据格式是否正确;
第四判断模块,用于若目标标签的数据格式正确,则判断标签索引中是否存在目标标签的标签标示;
新建模块,用于若标签索引中不存在目标标签的标签标示,寻找空闲的索引,建立新的标签作为目标标签;
第五判断模块,用于判断目标标签中是否存在足够的储存空间来写入第二标签数据;
写入模块,若标签索引中存在目标标签的标签标示或者若目标标签中存在足够的储存空间,用于将第二标签数据写入目标标签对应的动态内存中。
进一步地,所述数据写入单元还包括有拷贝模块,所述拷贝模块用于将所述标签索引表中目标标签的具体值拷贝到标签索引中,所述标签索引指向动态内存的使用位置。
本发明的有益效果是:根据标签来访问标签数据简单方便,通过标签索引就可以获取到具体的标签的具体值和标签数据,阅读和维护简单;通过为多个标签设置一块动态内存的方式,多个不同的标签共用一个动态内存,相比于为每一个标签单独设置一个最大内存,大大缩减了所需内存资源,能够在现在所有的48K及以上内存的安全芯片都可以实现完整的EMV。
附图说明
图1为本发明一实施例EMV的实现方法的流程示意图;
图2为本发明另一实施例EMV的实现方法的流程示意图;
图3为本发明一实施例为目标标签写入对应的第二标签数据步骤的具体流程示意图;
图4为本发明一实施例EMV的实现装置的结构框图;
图5为本发明一实施例数据写入单元的结构框图;
图6为本发明一具体实施例标签索引、标签和动态内存的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本实用新型的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本实用新型所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参照图1,本发明提出一种EMV的实现方法,包括以下步骤:
S10、清空标签内的原始的第一标签数据,并读取每一个标签的具体值。
S11、为多个标签分配一块动态内存,并将标签的具体值保存到动态内存中。
S12、根据标签和标签对应的具体值,建立标签索引表。
S13、根据所述标签索引表查找待写入的第二标签数据对应的目标标签,将所述第二标签数据写入所述目标标签内。
对于步骤S10,初始化标签索引时,清空每一个标签内的原始的第一标签数据,在初始化完成之后,当前标签存储有第一标签数据的个数为0,当前内存被使用位置也为0。初始化后,再读取每个标签的具体值,具体值包括有标签标示、标签最小长度、标签最大长度、数据格式和支持的卡组织。
对于步骤S11,为多个标签共同申请一块动态内存,用于写入/保存标签数据,也就是多个标签使用同一块动态内存,该动态内存的具体大小小于为各个标签各自单独分配一个最大内存总和的大小,当正常使用时,使用同一块动态内存的标签,不会全部被使用也就是不会出现所有的标签都写入了标签数据的情况,此时,相当于属于同一动态内存的标签中存在空闲的标签,这部分标签不占用动态内存的大小,全部动态内存可以只给部分标签使用。例如,当1、2、3、4号标签共同使用一块动态内存,具体使用时,因为1-4号标签不会全部被使用,因此在分配动态内存时,动态内存可以为A,A小于1-4号标签各自可以分配的最大内存的总和B,当使用同一块动态内存的标签数量增加时,A与B的差距也会增大。
所以不同于现有为每一个标签定义好最大内存的方案,可以做到在内存资源有限的前提下,为每一个标签分配到足够使用的内存大小,可以在现有所有的48K及以上内存的安全芯片中实现EMV,降低EMV成本。
对于步骤S12,建立标签索引表,从标签索引表中就可以知道标签所有的具体值,也就是的标签最小长度、标签最大长度,数据格式以及所属卡组织等数据,阅读简单,且便于维护。
对于步骤S13,在初始化标签,为标签分配好动态内存之后,向标签索引写入第二标签数据,其中第二标签数据可以是终端内的标签数据也可以是从IC卡中获取到的标签数据,实现了具体标签的标签数据的写入简单直接。
程序读取可以通过标签来访问数据值,而不是通过访问结构体的方式,同时定义了每个标签支持的卡组织。
EMV的实现方法,使用动态内存申请的方式保存各种标签数据,大大缩减了所需的存储资源及内存资源,在现在所有的48K及以上内存的安全芯片都可以实现完整的EMV;程序通过标签来访问对应的标签数据,而不是通过访问结构体的方式,可以解决阅读,维护及兼容性问题,同时定义了每个标签支持的卡组织。
参照图2和图3,本发明提出一种EMV的实现方法,包括以下步骤:
S20、清空标签内的原始的第一标签数据,并读取每一个标签的具体值。
S21、根据所述标签的具体值信息为多个所述标签分配一块动态内存,记录动态内存的使用位置,并将标签的具体值保存到对应的动态内存。
S22、根据标签和标签对应的具体值,建立标签索引表。
S23、根据所述标签索引表查找待写入的第二标签数据对应的目标标签,将所述第二标签数据写入所述目标标签内。
对于步骤S20,初始化标签索引时,清空每一个标签内原始的第一标签数据,在初始化完成之后,当前标签存储有第一标签数据的个数为0,当前内存被使用位置也为0。初始化后,再读取每个标签的具体值,具体值包括有标签标示、标签最小长度、标签最大长度、数据格式和支持的卡组织。
对于步骤S21,为多个标签共同申请一块动态内存,用于写入/保存标签数据,也就是多个标签使用同一块动态内存,该动态内存的具体大小小于为各个标签各自单独分配一个最大内存总和的大小,当正常使用时,使用同一块动态内存的标签,不会全部被使用也就是不会出现所有的标签都写入了标签数据的情况,此时,相当于属于同一动态内存的标签中存在空闲的标签,这部分标签不占用动态内存的大小,全部动态内存可以只给部分标签使用。例如,当1、2、3、4号标签共同使用一块动态内存,具体使用时,因为1-4号标签不会全部被使用,因此在分配动态内存时,动态内存可以为A,A小于1-4号标签各自可以分配的最大内存的总和B,当使用同一块动态内存的标签数量增加时,A与B的差距也会增大。
所以不同于现有为每一个标签定义好最大内存的方案,可以做到在内存资源有限的前提下,为每一个标签分配到足够使用的内存大小,可以在现有所有的48K及以上内存的安全芯片中实现EMV,降低EMV成本。
对于步骤S22,建立标签索引表,从标签索引表中就可以知道标签所有的具体值,也就是的标签最小长度、标签最大长度,数据格式以及所属卡组织等数据,阅读简单,且便于维护。
对于步骤S23,在初始化标签,为标签分配好动态内存之后,向标签索引写入标签数据,其中第二标签数据可以是终端内的第二标签数据也可以是从IC卡中获取到的第二标签数据,实现了具体标签的标签数据的写入简单直接。
程序读取可以通过标签来访问动态内存中的标签数据,而不是通过访问结构体的方式,同时定义了每个标签支持的卡组织。
参考图3,步骤S23具体包括以下步骤:
S231、判断标签索引表中是否存在目标标签的标签标示。
若存在目标标签的标签标示,则进行S232:判断目标标签支持的卡组织是否为第二标签数据对应的卡组织。
若为写入第二标签数据对应的卡组织,则进行S233:判断目标标签的数据格式是否正确。
若目标标签的数据格式正确,则进行S235:判断标签索引中是否存在目标标签的标签标示。
若标签索引中存在目标标签的标签标示,则进行S234:将第二标签数据写入目标标签对应的动态内存中。
若标签索引中不存在目标标签的标签标示,则进行S236:寻找空闲的索引,建立新的标签作为目标标签。
S237、判断目标标签中是否存在足够的储存空间来写入第二标签数据。
若目标标签中存在足够的储存空间,进行步骤S234:将第二标签数据写入目标标签对应的动态内存中。
S238、将标签索引表中目标标签的具体值拷贝到标签索引中,标签索引指向动态内存的使用位置。
对于步骤S235,当判断不存在目标标签的标签标示时,寻找空闲的索引,并建立新的标签作为新的目标标签,再将标签数据写入,然后从标签索引表中获取到目标标签的具体值,写入到标签索引中。
其中空闲的索引是指未保存标签的索引。
具体的步骤S232和步骤S233之间的先后顺序可以互换,但实际工作时,从判断步骤S231到判断步骤S235,都是一步一步判断下来,之中如果有一个步骤不满足,则判断过程结束,不写入相应的标签数据,后一个判断步骤是在满足前一判断步骤满足具体条件的前提下进行的。
参考图6,在本发明一具体实施例中,标签9F79、标签9F15和标签9F30共用一块动态内存,当设备需要读取标签9F15对应的标签数据时,直接通过标签索引来确定标签9F15,并从动态内存中读取出对应的标签数据,整个结构编程简单,维护方便,不容易出错,同时也大大减少了所占用内存资源。
EMV的实现方法,使用动态内存申请的方式保存各种标签数据,大大缩减了所需的存储资源及内存资源,在现在所有的48K及以上内存的安全芯片都可以实现完整的EMV;程序通过标签来访问对应的标签数据,而不是通过访问结构体的方式,可以解决阅读,维护及兼容性问题,同时定义了每个标签支持的卡组织。
参考图4和图5,本发明另一实施例,提出了一种EMV的实现装置,包括:
初始化单元10,用于清空标签内的原始的第一标签数据,并读取每一个标签的具体值;
内存分配单元20,用于为多个标签分配一块动态内存,并将标签的具体值保存到动态内存中;
建表单元30,用于根据所述标签和所述标签对应的具体值,建立标签索引表;
数据写入单元40,用于根据所述标签索引表查找待写入的第二标签数据对应的目标标签,将所述第二标签数据写入所述目标标签内。
对于初始化单元10,初始化标签索引时,清空每一个标签内原始的第一标签数据,在初始化完成之后,当前标签存储有第一标签数据的个数为0,当前内存被使用位置也为0。初始化后,再读取每个标签的具体值,具体值包括有标签标示、标签最小长度、标签最大长度、数据格式和支持的卡组织。
对于内存分配单元20,为多个标签共同申请一块动态内存,用于写入/保存标签数据,也就是多个标签使用同一块动态内存,该动态内存的具体大小小于为各个标签各自单独分配一个最大内存总和的大小,当正常使用时,使用同一块动态内存的标签,不会全部被使用也就是不会出现所有的标签都写入了标签数据的情况,此时,相当于属于同一动态内存的标签中存在空闲的标签,这部分标签不占用动态内存的大小,全部动态内存可以只给部分标签使用。例如,当1、2、3、4号标签共同使用一块动态内存,具体使用时,因为1-4号标签不会全部被使用,因此在分配动态内存时,动态内存可以为A,1-4号标签各自可以分配的最大内存的总和为B,A小于B,当使用同一块动态内存的标签数量增加时,A与B的差距也会增大。
所以不同于现有为每一个标签定义好最大内存的方案,可以做到在内存资源有限的前提下,为每一个标签分配到足够使用的内存大小,可以在现有所有的48K及以上内存的安全芯片中实现EMV,降低EMV成本。
对于建表单元30,建立标签索引表,从标签索引表中就可以知道标签所有的具体值,也就是的标签最小长度、标签最大长度,数据格式以及所属卡组织等数据,阅读简单,且便于维护。
对于数据写入单元30,在初始化标签,为标签分配好动态内存之后,向标签索引写入第二标签数据,其中第二标签数据可以是终端内的第二标签数据也可以是从IC卡中获取到的第二标签数据,实现了具体标签的标签数据的写入,简单直接。
程序读取可以通过标签来访问标签数据,而不是通过访问结构体的方式,同时定义了每个标签支持的卡组织。
内存分配单元20包括内存分配模块,内存分配模块根据标签的具体值信息为多个标签分配一块动态内存,并记录动态内存的使用位置。
数据写入单元40还包括有以下模块:
第一判断模块41,用于判断标签索引表中是否存在目标标签的标签标示。
第二判断模块42,用于若存在目标标签的标签标示,则判断目标标签支持的卡组织是否为写入标签数据对应的卡组织。
第三判断模块43,用于若为写入第二标签数据对应的卡组织,则判断目标标签的数据格式是否正确。
第四判断模块44,用于若目标标签的数据格式正确,则判断标签索引中是否存在目标标签的标签标示。
新建模块45,用于若标签索引中不存在目标标签的标签标示,寻找空闲的索引,建立新的标签作为目标标签。
第五判断模块46,用于判断目标标签中是否存在足够的储存空间来写入第二标签数据。
写入模块48,若目标标签中存在足够的储存空间或者若标签索引中存在目标标签的标签标示,用于将第二标签数据写入目标标签对应的动态内存中。
拷贝模块47,拷贝模块用于将标签索引表中目标标签的具体值拷贝到标签索引中,标签索引指向动态内存的使用位置。
具体的,第一判断模块41、第二判断模块42、第三判断模块43、第四判断模块44和第五判断模块46,在前者判断完之后在进入下一个判断模块进行判断,一步一步判断下来,之中如果有一个模块不满足,则判断过程结束,不写入相应的第二标签数据,后一个判断模块是在前一判断模块条件满足的前提下进行的。
一种EMV的实现装置,使用动态内存申请的方式保存各种标签数据,大大缩减了所需的存储资源及内存资源,在现在所有的48K及以上内存的安全芯片都可以实现完整的EMV;程序通过标签来访问对应的标签数据,而不是通过访问结构体的方式,可以解决阅读,维护及兼容性问题,同时定义了每个标签支持的卡组织。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种EMV的实现方法,其特征在于,包括,
清空标签内的原始的第一标签数据,并读取每一个标签的具体值;
为多个所述标签分配一块动态内存,并将标签的具体值保存到动态内存中;
根据所述标签和所述标签对应的具体值,建立标签索引表;
根据所述标签索引表查找待写入的第二标签数据对应的目标标签,将所述第二标签数据写入所述目标标签内。
2.如权利要求1所述的EMV的实现方法,其特征在于,所述具体值包括标签标示、标签最小长度、标签最大长度、数据格式和支持的卡组织。
3.如权利要求1所述的EMV的实现方法,其特征在于,所述为多个标签分配一块动态内存步骤,包括,
根据所述标签的具体值信息为多个所述标签分配一块动态内存,并记录动态内存的使用位置。
4.如权利要求1所述的EMV的实现方法,其特征在于,所述根据所述标签索引表查找待写入的第二标签数据对应的目标标签,将所述第二标签数据写入所述目标标签内步骤,包括以下步骤:
判断标签索引表中是否存在目标标签的标签标示;
若存在目标标签的标签标示,则判断目标标签支持的卡组织是否为第二标签数据对应的卡组织;
若为写入第二标签数据对应的卡组织,则判断目标标签的数据格式是否正确;
若目标标签的数据格式正确,则判断标签索引中是否存在目标标签的标签标示;
若标签索引中存在目标标签的标签标示,则将第二标签数据写入目标标签对应的动态内存中;
若标签索引中不存在目标标签的标签标示,寻找空闲的索引,建立新的标签作为目标标签;
判断目标标签中是否存在足够的储存空间来写入第二标签数据;
若目标标签中存在足够的储存空间,将第二标签数据写入目标标签对应的动态内存中。
5.如权利要求4所述的EMV的实现方法,其特征在于,所述将第二标签数据写入目标标签对应的动态内存中步骤之后,包括,
将所述标签索引表中目标标签的具体值拷贝到标签索引中,所述标签索引指向动态内存的使用位置。
6.一种EMV的实现装置,其特征在于,包括,
初始化单元,用于清空标签内的原始的第一标签数据,并读取每一个标签的具体值;
内存分配单元,用于为多个标签分配一块动态内存,并将标签的具体值保存到对应的动态内存中;
建表单元,用于根据所述标签和所述标签对应的具体值,建立标签索引表;
数据写入单元,用于根据所述标签索引表查找待写入的第二标签数据对应的目标标签,将所述第二标签数据写入所述目标标签内。
7.如权利要求6所述的EMV的实现装置,其特征在于,所述具体值包括标签标示、标签最小长度、标签最大长度、数据格式和支持的卡组织。
8.如权利要求6所述的EMV的实现装置,其特征在于,所述内存分配单元包括内存分配模块,所述内存分配模块用于根据所述标签的具体值信息为多个所述标签分配一块动态内存,并记录动态内存的使用位置。
9.如权利要求6所述的EMV的实现装置,其特征在于,所述数据写入单元还包括有:
第一判断模块,用于判断标签索引表中是否存在目标标签的标签标示;
第二判断模块,用于若存在目标标签的标签标示,则判断目标标签支持的卡组织是否为第二标签数据对应的卡组织;
第三判断模块,用于若为写入第二标签数据对应的卡组织,则判断目标标签的数据格式是否正确;
第四判断模块,用于若目标标签的数据格式正确,则判断标签索引中是否存在目标标签的标签标示;
新建模块,用于若标签索引中不存在目标标签的标签标示,寻找空闲的索引,建立新的标签作为目标标签;
第五判断模块,用于判断目标标签中是否存在足够的储存空间来写入第二标签数据;
写入模块,若标签索引中存在目标标签的标签标示或者若目标标签中存在足够的储存空间,用于将第二标签数据写入目标标签对应的动态内存中。
10.如权利要求6所述的EMV的实现装置,其特征在于,所述数据写入单元还包括有拷贝模块,所述拷贝模块用于将所述标签索引表中目标标签的具体值拷贝到标签索引中,所述标签索引指向动态内存的使用位置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/076973 WO2018165950A1 (zh) | 2017-03-16 | 2017-03-16 | Emv的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107454953A true CN107454953A (zh) | 2017-12-08 |
CN107454953B CN107454953B (zh) | 2020-11-03 |
Family
ID=60497761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780000963.3A Active CN107454953B (zh) | 2017-03-16 | 2017-03-16 | Emv的实现方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107454953B (zh) |
WO (1) | WO2018165950A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084197A (zh) * | 2020-09-16 | 2020-12-15 | 艾体威尔电子技术(北京)有限公司 | 一种emv协议库中数据的存储方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1340784A (zh) * | 2000-08-31 | 2002-03-20 | 国际商业机器公司 | 允许通过消费者设备使用智能卡进行网络商务 |
CN1900982A (zh) * | 2006-07-05 | 2007-01-24 | 北京飞天诚信科技有限公司 | 一种单张智能卡支持多个金融规范的方法 |
US20120102278A1 (en) * | 2009-04-09 | 2012-04-26 | Gemalto Sa | Method for personalising an electronic device, associated data processing method and device |
WO2012065266A2 (en) * | 2010-11-19 | 2012-05-24 | Shaun Iversen | Method for the creation of a dynamic data record within a payment system environment application |
CN102867377A (zh) * | 2012-09-20 | 2013-01-09 | 中国农业银行股份有限公司 | 在pos端机上实现业务的方法、系统与pos端机 |
CN104090730A (zh) * | 2014-07-08 | 2014-10-08 | 飞天诚信科技股份有限公司 | 一种对存储设备进行数据读写的方法及装置 |
CN104281529A (zh) * | 2013-07-12 | 2015-01-14 | 北京金辉东方科技有限公司 | 大容量rfid电子标签动态分区方法及电子标签和应用 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521551B (zh) * | 2011-12-23 | 2014-08-20 | 大唐微电子技术有限公司 | 一种实现ic卡个人化发行装置及方法 |
-
2017
- 2017-03-16 WO PCT/CN2017/076973 patent/WO2018165950A1/zh active Application Filing
- 2017-03-16 CN CN201780000963.3A patent/CN107454953B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1340784A (zh) * | 2000-08-31 | 2002-03-20 | 国际商业机器公司 | 允许通过消费者设备使用智能卡进行网络商务 |
CN1900982A (zh) * | 2006-07-05 | 2007-01-24 | 北京飞天诚信科技有限公司 | 一种单张智能卡支持多个金融规范的方法 |
US20120102278A1 (en) * | 2009-04-09 | 2012-04-26 | Gemalto Sa | Method for personalising an electronic device, associated data processing method and device |
WO2012065266A2 (en) * | 2010-11-19 | 2012-05-24 | Shaun Iversen | Method for the creation of a dynamic data record within a payment system environment application |
CN102867377A (zh) * | 2012-09-20 | 2013-01-09 | 中国农业银行股份有限公司 | 在pos端机上实现业务的方法、系统与pos端机 |
CN104281529A (zh) * | 2013-07-12 | 2015-01-14 | 北京金辉东方科技有限公司 | 大容量rfid电子标签动态分区方法及电子标签和应用 |
CN104090730A (zh) * | 2014-07-08 | 2014-10-08 | 飞天诚信科技股份有限公司 | 一种对存储设备进行数据读写的方法及装置 |
Non-Patent Citations (1)
Title |
---|
吴艳丽: "基于WinCE的EMV终端的软件设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084197A (zh) * | 2020-09-16 | 2020-12-15 | 艾体威尔电子技术(北京)有限公司 | 一种emv协议库中数据的存储方法 |
CN112084197B (zh) * | 2020-09-16 | 2023-10-31 | 艾体威尔电子技术(北京)有限公司 | 一种emv协议库中数据的存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107454953B (zh) | 2020-11-03 |
WO2018165950A1 (zh) | 2018-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111898139B (zh) | 数据读写方法及装置、电子设备 | |
CN105283855B (zh) | 一种寻址方法及装置 | |
CN103647850B (zh) | 一种分布式版本控制系统的数据处理方法、设备及系统 | |
CN105830059A (zh) | 文件访问方法、装置及存储设备 | |
CN110032598B (zh) | 字段更新方法及装置、电子设备 | |
CN102831069B (zh) | 内存处理方法、内存管理设备 | |
CN109218352A (zh) | 一种区块链网络中交易信息的共识确认方法及装置 | |
TW201033807A (en) | Data processing system, controller, and method thereof for searching specific memory area | |
CN106980551A (zh) | 一种进程通信方法及装置 | |
CN108985930A (zh) | 信息处理方法及装置、区块链节点及存储介质 | |
CN104615684A (zh) | 一种海量数据通信并发处理方法及系统 | |
CN204331878U (zh) | 一种停车场管理系统中的控制电路 | |
CN100535935C (zh) | Cpu与逻辑加密双用智能卡及其数据同步方法 | |
CN110188850B (zh) | 智能卡临时号码控制方法、装置及系统 | |
CN107944866A (zh) | 交易记录排重方法及计算机可读存储介质 | |
CN106933512A (zh) | 一种数据读写的方法及其设备 | |
CN107454953A (zh) | Emv的实现方法及装置 | |
CN104574275A (zh) | 一种在模型绘制过程中合并贴图的方法 | |
CN103631831B (zh) | 一种数据备份方法及装置 | |
CN106598548A (zh) | 存储单元读写冲突的解决方法及装置 | |
CN104978169A (zh) | 期刊阅读应用的sdk处理方法及装置 | |
CN106056329A (zh) | 商品库存的校验方法及校验系统 | |
CN114022148A (zh) | 基于区块链的交易冲突检测方法、装置、设备和存储介质 | |
CN107577428A (zh) | 一种数据存储方法及装置 | |
CN101853216B (zh) | 数据处理系统、控制器及其搜寻特定内存区的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |