CN101324918A - 主机对多厂商芯片设备数据交换协议进行动态转换的方法 - Google Patents
主机对多厂商芯片设备数据交换协议进行动态转换的方法 Download PDFInfo
- Publication number
- CN101324918A CN101324918A CNA2008101171717A CN200810117171A CN101324918A CN 101324918 A CN101324918 A CN 101324918A CN A2008101171717 A CNA2008101171717 A CN A2008101171717A CN 200810117171 A CN200810117171 A CN 200810117171A CN 101324918 A CN101324918 A CN 101324918A
- Authority
- CN
- China
- Prior art keywords
- data exchange
- main frame
- exchange agreement
- chipset
- data
- 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
Images
Landscapes
- Exchange Systems With Centralized Control (AREA)
Abstract
本发明涉及一种主机对多厂商芯片设备数据交换协议进行动态转换的方法,属于计算机技术领域。先为芯片设备配置数据交换协议规则,并形成规则库,主机中的数据交换协议转换模块从主机中的驱动模块获取当前插入芯片设备的厂商代码等信息并根据此信息检索到与上述芯片设备数据交换协议相匹配的数据交换协议规则,并根据此规则对来自主机中的应用模块的数据交互请求指令进行组包后经由主机中的驱动模块发给上述芯片设备,并再根据此规则从经由主机中的驱动模块返回的芯片设备的处理数据中获取相关信息并返回给主机中的应用模块。本发明的优点是掌握了数据交换协议的配置方法后,对新的芯片设备数据交换协议的支持将更快捷、更可靠。
Description
技术领域
本发明涉及一种主机对多厂商芯片设备数据交换协议进行动态转换的方法,属于计算机技术领域。
背景技术
芯片设备得以在全世界范围内迅猛发展,其标准化的制订和推广功不可没,ISO7816作为国际规范已成为各个智能芯片设备应用的根本和基础,其中,ISO7816规范中的APDU(application protocol data unit)部分对数据交换协议指令格式及主要功能做了详细说明和限制,尽管如此,各芯片设备的数据交换协议指令集仍是极具个性化和差异性,造成这种状况的原因如下:
1、ISO7816所规定的APDU指令集,过于全面和庞大,很多芯片设备厂商在设计自己的数据交换协议指令集时根据实际应用需要对该规范进行了裁剪性使用,只包含并实现了其中部分指令,比如:多数厂商不支持安全环境相关的指令。
2、ISO7816所规定的APDU指令集,某些指令细节的规定过于复杂,而规范本身并没有强制各芯片设备厂商严格遵照执行,很多芯片设备厂商在设计实现其数据交换协议指令时对其规范进行了改造,以便实现和用户理解,如:创建文件指令中,对文件的安全属性进行重新设计和支持。
3、ISO7816规范对APDU指令的规定也存在扩展性,各芯片设备厂商在设计实现自己的数据交换协议指令时发挥各自的优势,这也会带来各芯片设备数据交换协议指令的差异性,如:各芯片设备厂商对非对称密钥操作的指令就各不相同,主要体现在公钥信息出卡时机、私钥信息读取权限和读取方式上。
4、ISO7816规范是芯片设备设计实现的最佳实践总结,难免会滞后于市场的发展和新技术的兴起,而很多芯片设备制造商更乐于在自己的数据交换协议指令集实现过程中运用新技术,力求进一步创新,而新技术新思路往往是ISO7816规范里没有规定和限制的,各厂商的创新会加大芯片设备数据协议交换协议指令的差异性,如:各厂商对国产密码算法(SSF33算法)的支持就各具一格。
由于上述原因导致了市场上现有各芯片设备数据交换协议的差异性,这就给使用带来极大的不方便,针对于此主要有如下两种解决办法:
1、芯片设备开发商直接将其数据交换协议交给应用开发商,应用开发商在自己的应用程序中直接使用该数据交换协议与芯片设备交互,但是当芯片设备的数据交换协议发生增减改变时,应用开发商就要修改自己的应用程序,这就会影响应用程序的稳定性,并需要应用程序开发商做好日后修改和长期维护的准备,尤其是应用开发商需要同时支持多个芯片设备时,投入到应用程序开发、修改、维护上的工作量会明显增多;
2、芯片设备开发商对其数据交换协议进行封装,对外提供简单直观易使用的接口,以便应用可以通过这些接口与芯片设备交互,但这种方式仍然不能避免当芯片设备的数据交换协议发生增减改变时带来的程序修改和维护,只是将程序不稳定的风险和修改维护工作从应用程序开发商转移到了芯片设备开发商,而且若改动较大导致芯片设备开发商提供的接口也有所改变时,那么应用开发商也要随之修改应用程序,应用程序的稳定性仍然会受到影响。
发明内容
本发明的目的是提出一种主机对多厂商芯片设备数据交换协议进行动态转换的方法,开发一个通用的数据交换协议转换程序,程序中不体现任何一个芯片设备的数据交换协议,而是通过读取芯片设备的数据交换协议规则库来获得与其交互的指令规则,对于多厂商芯片设备的数据交换协议具有普遍的适用性。
本发明提出的主机对多厂商芯片设备数据交换协议进行动态转换的方法,包括以下步骤:
(1)分别为多种厂商芯片设备配置与主机中的数据交换协议转换模块通信的数据交换协议规则,并形成数据交换协议规则库;
(2)当主机中的应用模块向当前插入的芯片设备发送数据交互请求指令时,主机中的应用模块向主机中的数据交换协议转换模块发送数据交互请求指令;主机的数据交换协议转换模块接到上述数据交互指令后,从主机中的驱动模块分别获取当前插入芯片设备的厂商代码、产品代码、产品版本号,根据上述获取的厂商代码、产品代码、产品版本号,主机的数据交换协议转换模块从上述数据交换协议规则库中检索到与当前插入芯片设备相匹配的数据交换协议规则;
(3)主机中的数据交换协议转换模块根据上述检索到的数据交换协议规则,对来自主机中的应用模块的数据交互请求指令进行组包处理后,经由主机中的驱动模块发送至当前插入芯片设备,当前插入芯片设备对上述数据交互请求指令进行处理,并将处理数据通过主机的驱动模块返回至主机的数据交换协议转换模块;
(4)主机中的数据交换协议转换模块根据上述检索到的数据交换协议规则,从来自主机中的驱动模块的数据中获取相关信息,并返回给主机中的应用模块。
本发明提出的主机对多厂商芯片设备数据交换协议进行动态转换的方法,由于主机中的数据交换协议转换模块对各种芯片设备数据交换协议的识别是通过芯片设备中的厂商代码、产品代码、产品版本号从而读取数据交换协议规则方式实现的,因此即使有更多的芯片设备数据交换协议需要支持也不需修改主机中的数据交换协议转换模块的程序,这就保证了主机中的数据交换协议转换模块的稳定性,当已有主机中的数据交换协议转换模块需支持新的芯片设备数据交换协议时,只要按照已设计好的芯片设备数据交换协议规则配置流程和配置方法为该芯片设备数据交换协议增加一个新的数据交换协议规则,新的芯片设备数据交换协议就可以通过已有主机中的数据交换协议转换模块进行识别了,这也不再需要芯片设备厂商对外提供与其对应的数据交换协议接口程序,大大减少了芯片设备厂商的工作量,只要理解和掌握数据交换协议规则的配置方法,对于新的芯片设备数据交换协议的支持将更快捷、更可靠。
附图说明
图1是本发明方法的流程框图。
具体实施方式
本发明提出的主机对多厂商芯片设备数据交换协议进行动态转换的方法,其流程框图如图1所示,包括以下步骤:
(1)分别为多种厂商芯片设备配置与主机中的数据交换协议转换模块通信的数据交换协议规则,并形成数据交换协议规则库;
(2)当主机中的应用模块向当前插入的芯片设备发送数据交互请求指令时,主机中的应用模块向主机中的数据交换协议转换模块发送数据交互请求指令;主机的数据交换协议转换模块接到上述数据交互指令后,从主机中的驱动模块分别获取当前插入芯片设备的厂商代码、产品代码、产品版本号,根据上述获取的厂商代码、产品代码、产品版本号,主机的数据交换协议转换模块从上述数据交换协议规则库中检索到与当前插入芯片设备相匹配的数据交换协议规则;
(3)主机中的数据交换协议转换模块根据上述检索到的数据交换协议规则,对来自主机中的应用模块的数据交互请求指令进行组包处理后,经由主机中的驱动模块发送至当前插入芯片设备,当前插入芯片设备对上述数据交互请求指令进行处理,并将处理数据通过主机的驱动模块返回至主机的数据交换协议转换模块;
(4)主机中的数据交换协议转换模块根据上述检索到的数据交换协议规则,从来自主机中的驱动模块的数据中获取相关信息,并返回给主机中的应用模块。
以下介绍本发明的一个实施例:
以国内某厂商的芯片设备为例,说明其数据交换协议在windows系统上的动态转换过程。(假设这个芯片操作系统所在芯片设备的厂商代码、产品代码、产品版本号分别为0x9876、0x5432、0x1000,并假设主机中的应用模块将从芯片设备中读取一个文件标识是0x0001、文件长度是0x0010字节的二进制文件)。
新增芯片设备及其数据交换协议时,配置方法和步骤如下:
(1)修改数据交换协议规则库中的全局配置文件,即文件eid.ini,在该文件的段[PTL]中添加一属性及属性值,该属性为芯片设备的厂商代码、产品代码、产品版本号对应值的16进制显示的顺序组合,例子中的属性应为“987654321000”,该属性值为该芯片设备的数据交换协议规则对应的配置文件的路径及名称,例子中其文件名为:“987654321000.ini”,并假定该文件所在路径为:“C:\Program Files\eid\PTL”,则此处属性“987654321000”对应的属性值为:“C:\Program Files\eid\PTL\987654321000.ini”;
(2)配置该例子中的芯片设备的数据交换协议规则,即文件“987654321000.ini”,该文件的格式及所包含的段、及各段包含的属性、属性值格式等应按照已经设计好的数据交换协议规则配置说明进行配置,且配置时属性值需遵照芯片设备厂商提供的数据交换协议集说明,每一个数据交换协议作为一个单独的段,且格式都相同,例子中读取二进制文件所用到的数据交换协议段如下:
[Read_Binary]
CmdType=1
CLA=00
INS=B0
ArgCount=3
P1=%Arg1%
P2=%Arg2%
LcLen=0
Lc=-5
Data=-5
LeLen=1
Le=%Arg3%
MaxWaitTime=300
Reserve=
其中,属性CLA、INS、P1、P2、Lc、Data、Le的属性值按顺序组合符合ISO7816中规定的应用程序协议数据单元指令格式。
该芯片设备的数据交换协议规则即文件“987654321000.ini”配置完成后,需将该文件拷贝到路径“C:\Program Files\eid\PTL\”下,此后,主机的数据交换协议转换模块就可以根据该文件中的数据交换协议规则与当前插入芯片设备进行数据交互了。
当主机的应用模块向当前插入芯片设备发送读取二进制文件指令时,主机中的数据交换协议转换模块处理过程如下所述:
(1)主机的数据交换协议转换模块接到上述读取二进制文件指令后,从主机中的驱动模块分别获取当前插入芯片设备的厂商代码,产品代码、产品版本号,根据上述获取的厂商代码、产品代码、产品版本号,主机的数据交换协议转换模块先从上述数据交换协议规则库中检索到与当前插入芯片设备相匹配的数据交换协议规则,即文件“0x987654321000.ini”,再从该文件中获取与读取二进制文件对应的指令段[Read_Binary]及段内各属性值;
(2)主机中的数据交换协议转换模块根据上述检索到的读取二进制文件数据交换协议规则,对来自主机中的应用模块的读取二进制文件指令请求进行组包处理后得到数据流:0x00b0000110,再经由主机中的驱动模块发送至当前插入芯片设备,当前插入芯片设备对上述数据交互请求指令进行处理,具体处理过程为:先进行CLA合法性检查,然后找到文件标识符为0x0001的二进制文件,再按照文件长度0x0010读取该二进制文件0x0001的内容,最后当前插入芯片设备将读取出的文件内容等信息经由主机的驱动模块返回至主机中的数据交换协议转换模块;
(3)主机中的数据交换协议转换模块根据上述检索到的数据交换协议规则,从来自主机中的驱动模块的数据中获取标识为0x0001的二进制文件的长度为0x0010字节的有效信息,并将有效文件信息返回给主机中的应用模块。
Claims (1)
1、主机对多厂商芯片设备数据交换协议进行动态转换的方法,其特征在于该方法包括以下步骤:
(1)分别为多种厂商芯片设备配置与主机中的数据交换协议转换模块通信的数据交换协议规则,并形成数据交换协议规则库;
(2)当主机中的应用模块向当前插入的芯片设备发送数据交互请求指令时,主机中的应用模块向主机中的数据交换协议转换模块发送数据交互请求指令;主机的数据交换协议转换模块接到上述数据交互指令后,从主机中的驱动模块分别获取当前插入芯片设备的厂商代码、产品代码、产品版本号,根据上述获取的厂商代码、产品代码、产品版本号,主机的数据交换协议转换模块从上述数据交换协议规则库中检索到与当前插入芯片设备相匹配的数据交换协议规则;
(3)主机中的数据交换协议转换模块根据上述检索到的数据交换协议规则,对来自主机中的应用模块的数据交互请求指令进行组包处理后,经由主机中的驱动模块发送至当前插入芯片设备,当前插入芯片设备对上述数据交互请求指令进行处理,并将处理数据通过主机的驱动模块返回至主机的数据交换协议转换模块;
(4)主机中的数据交换协议转换模块根据上述检索到的数据交换协议规则,从来自主机中的驱动模块的数据中获取相关信息,并返回给主机中的应用模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810117171A CN100587705C (zh) | 2008-07-25 | 2008-07-25 | 主机对多厂商芯片设备数据交换协议进行动态转换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810117171A CN100587705C (zh) | 2008-07-25 | 2008-07-25 | 主机对多厂商芯片设备数据交换协议进行动态转换的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101324918A true CN101324918A (zh) | 2008-12-17 |
CN100587705C CN100587705C (zh) | 2010-02-03 |
Family
ID=40188455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810117171A Active CN100587705C (zh) | 2008-07-25 | 2008-07-25 | 主机对多厂商芯片设备数据交换协议进行动态转换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100587705C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516158A (zh) * | 2015-12-18 | 2016-04-20 | 山东海量信息技术研究院 | 一种可配置协议转换状态机电路结构及协议配置方法 |
CN107066409A (zh) * | 2017-03-31 | 2017-08-18 | 福建升腾资讯有限公司 | 基于业务系统的通信口重定向和通信数据二次处理的方法 |
CN108769017A (zh) * | 2018-05-29 | 2018-11-06 | 杭州字符串科技有限公司 | 一种数据通信方法及装置 |
CN110891057A (zh) * | 2019-11-22 | 2020-03-17 | 北京启迪区块链科技发展有限公司 | 一种协议转换的方法、装置、设备及存储介质 |
CN112492000A (zh) * | 2020-11-18 | 2021-03-12 | 中盈优创资讯科技有限公司 | 一种物联网访问网络规则的加载方法及装置 |
CN114449049A (zh) * | 2022-01-19 | 2022-05-06 | 广东优力普物联科技有限公司 | 基于轻管理数据交互的通信装置及通信系统 |
-
2008
- 2008-07-25 CN CN200810117171A patent/CN100587705C/zh active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516158A (zh) * | 2015-12-18 | 2016-04-20 | 山东海量信息技术研究院 | 一种可配置协议转换状态机电路结构及协议配置方法 |
CN107066409A (zh) * | 2017-03-31 | 2017-08-18 | 福建升腾资讯有限公司 | 基于业务系统的通信口重定向和通信数据二次处理的方法 |
CN108769017A (zh) * | 2018-05-29 | 2018-11-06 | 杭州字符串科技有限公司 | 一种数据通信方法及装置 |
CN110891057A (zh) * | 2019-11-22 | 2020-03-17 | 北京启迪区块链科技发展有限公司 | 一种协议转换的方法、装置、设备及存储介质 |
CN110891057B (zh) * | 2019-11-22 | 2021-12-28 | 北京启迪区块链科技发展有限公司 | 一种协议转换的方法、装置、设备及存储介质 |
CN112492000A (zh) * | 2020-11-18 | 2021-03-12 | 中盈优创资讯科技有限公司 | 一种物联网访问网络规则的加载方法及装置 |
CN114449049A (zh) * | 2022-01-19 | 2022-05-06 | 广东优力普物联科技有限公司 | 基于轻管理数据交互的通信装置及通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100587705C (zh) | 2010-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100587705C (zh) | 主机对多厂商芯片设备数据交换协议进行动态转换的方法 | |
EP2421216A1 (en) | Enhanced near field communication terminal, smart card and communication method thereof | |
WO2011116556A1 (zh) | 基于物联网的无线通信终端及其应用方法 | |
KR100845234B1 (ko) | 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법 | |
CN103425497B (zh) | 一种网络工程脚本跨厂家转换的方法和装置 | |
EP1908252A1 (en) | System and method for support of legacy communications protocols in a smart card | |
US10382594B2 (en) | Integrated head-end utility metering system | |
CN108228664B (zh) | 非结构化数据处理方法及装置 | |
CN108182119B (zh) | 读写分离控制方法和装置、存储介质及电子装置 | |
CN102291337A (zh) | EtherCAT协议与Profibus-DP协议通信转换的网关及其通信方法 | |
CN103677820A (zh) | 一种嵌入式开发软件输出方法及系统 | |
US20120030311A1 (en) | System and method for inventory data extraction | |
US8533747B2 (en) | Method and system for selecting one or more integrated circuit card interface devices | |
CN115134427B (zh) | 通信协议协调方法、装置、计算机设备和存储介质 | |
CN101404656A (zh) | 一种与第三方智能设备协议通讯的软件接口设计方法 | |
CN103856466A (zh) | 一种可自动配置协议的采集终端装置 | |
US9608885B2 (en) | Automatic connectivity analysis for a DICOM network | |
CN104424153B (zh) | 一种对usb接口的音视频设备数据采集系统及其方法 | |
CN114827249A (zh) | 网格代理扩展的方法和装置 | |
CN100450028C (zh) | 一种电信设备系统资源管理的方法 | |
CN110874321B (zh) | 测试接口的远程调用方法、调用封装引擎及远程代理引擎 | |
US7930458B2 (en) | USB memory card reader having memory card identification | |
CN102026402A (zh) | 一种实现电脑装置接入无线网络的方法 | |
CN104902132A (zh) | 一种显微图像标准化封装系统 | |
CN112650512A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |