异构ic卡系统间业务统一的分段继承方法

文档序号:6633076阅读:152来源:国知局
异构ic卡系统间业务统一的分段继承方法
【专利摘要】本发明公开了一种异构IC卡系统间业务统一的分段继承方法,属于信息处理【技术领域】。本发明按照“业务统一,分段集控”的思路,主要采用父子控件的转发调用方式,分段继承遗留系统的读写卡模块,最终实现新旧卡业务过程合并办理,解决新老系统更替时原有业务对接的难题。本发明方法实现了不同厂商同类产品间业务受理的简单整合方法,仅需提取遗留系统读写卡模块进行再包装,就可快速将老系统遗留业务融入到新产品的业务过程中,避免了不同异构系统间的二次技术开发风险,无风险承接原有各项业务,大大缩短了新产品上线时间,同时提供了业务平稳过渡的服务保障。
【专利说明】异构IC卡系统间业务统一的分段继承方法

【技术领域】
[0001]本发明涉及一种异构IC卡系统间业务统一的分段继承方法,属于信息处理【技术领域】。

【背景技术】
[0002]随着经济社会的飞速发展,城市一卡通进程的加快,“一卡多用”和“多卡合一”的建设理念在各类城市建设过程中得到了广泛推广使用。但由于历史原因,当前全国各城市所开展的市民卡建设层次不一,新发CPU智能卡对存量Ml卡的替换周期很长,特别是一卡通使用有一定规模的城市,旧卡存量大,直接替换原IT支撑系统工作周期长风险大,并面对以下难题:一是旧卡功能繁多,重新开发新的读写卡控件周期长,特别是测试旧卡的客观条件缺乏,实际投入不可控;二是各类旧卡卡内结构复杂,且历史发卡资料和情况不明,很难保证新系统直接接管服务的实际效果,且这种废止老系统的升级过程难以复制推广;三是若采用惯用的新老系统各自独立运行过渡方式,无法提升原持卡客户的持续服务良好体验。
[0003]以往各城市因未发卡或发卡量较少,直接采用停止或减少原卡服务体系的方式,工作量较小,但目前各城市先后推出过市民卡或公共交通一卡通工程,卡片业务种类多,原有的IT支撑系统平台复杂,其读写卡控件实现方式、加密机调用和服务方式极不统一。每一次新系统引入就带来服务的停滞期或动荡期,主要因为新建设加入者很难获得准确的卡片结构技术说明和历史发卡情况。面对这种情况,传统操作过程中通常采取推倒重建和割裂新老系统边界的粗暴方式,造成全面停止存量旧卡服务,同时消耗大量的研制周期和开发成本,而IC卡的特点是测试时间长和现场环境多变,对历史存量旧卡重新回归测试几乎不可行,故而对现存旧卡用户的正常使用,产生冲击。


【发明内容】

[0004]本发明所要解决的技术问题在于克服现有技术缺陷,提供一种避免对旧系统推倒重建的方式,重点解决对旧卡读写模块有效继承的途径上,保留老产品部分读写模块进行再包装,在保证新产品正常使用的基础上快速加入旧卡业务,不必更改新产品的前后台业务处理流程和接口,实现了一种异构IC卡系统间业务统一框架下的分段继承方法。
[0005]为了解决上述技术问题,本发明提供的异构IC卡系统间业务统一的分段继承方法,包括以下步骤:
1、一种异构IC卡系统间业务统一的分段继承方法,其特征在于包括以下步骤:
1)、页面选择业务;
2)、触发父控件选择下设的新卡子控件或旧卡子控件接受步骤I)请求;若步骤I)请求为新卡读写操作则转至步骤3),若步骤I)请求为旧卡读写操作则跳至步骤4);
3)、新卡子控件调用中间件TUXEDO产品传递加密机服务请求,根据服务结果执行对新卡的读写卡操作后,返回操作结果至父控件并跳至步骤9); 4)、旧卡子控件接受并处理步骤2)旧卡读写操作请求,同时将旧卡数据请求加密后发送至服务分散中心处理;
5)、服务分散中心接收并解密步骤4)的请求入消息队列等待处理;
6)、服务分散中心扫描消息队列中的请求消息,并为每个消息生成专用工作线程;
7)、服务分散中心中的工作线程遍历加密机服务列表,调用对应的旧卡加密机服务或加密算法服务;
8)、加密机将服务结果回传到服务分散中心,服务分散中心将服务结果加密后回传至旧卡子控件解密后,执行对旧卡的读写卡操作,旧卡子控件将操作结果返回至父控件;
9)、父控件完成数据规格化操作后,回送页面。
[0006]本发明中,父子控件采用OCX控件嵌套调用方式。
[0007]本发明中,所述加密和解密采用AES算法。
[0008]本发明的有益效果在于:(I)、本发明实现了不同厂商产品的业务过程有序承接,既保证了新产品的业务过程不被破坏,也可对原有不明确历史产品所存服务完整继承,避免了不同异构系统间的技术开发风险,大大缩短了整体的新产品上线时间,同时提供业务平稳过渡的服务保障;(2)、采用父子控件调用方式,既能直接继承老系统旧卡成果,同时也避免了新产品业务过程变动,并可复制到类似产品割接上线过程中;(3)、本发明操作简便,重构工作量小,可广泛应用其他类似业务系统的继承使用。

【专利附图】

【附图说明】
[0009]图1为本发明的异构系统读写卡控件所采用的可复制多级转发调用控制图;
图2为本发明的异构系统读写卡改造后存量旧卡总体处理流程图;
图3为本发明对存量Ml旧卡读写控件改造后的控制流程图;
图4为服务分散中心调用加密机服务的控制流程图。

【具体实施方式】
[0010]下面结合附图对本发明作进一步详细说明。
[0011]本发明实施例的实施地点为某地级市,该城市曾存在其它厂商的一^^通运营系统,已有30多种100万张存量旧卡在使用中,原有老系统(以下简称为旧系统)采用Linux平台的三层架构,旧卡卡内结构复杂,读写卡操作部分只可外部调用,实际细节不可知。根据快速改造的可复制目标,保留原读写卡控件的动态库程序部分,以此继承旧卡读写关键技术,实现对旧卡原业务的直接继承,围绕着新产品标准处理过程业务统一的要求,针对其中三个关键技术:读写卡控件重构、新增服务分散中心和改造加密机服务,进行适应性改造,使丨H卡业务办理过程标准化,完成对存量旧卡的服务流程整合。
[0012]为实施上述三个关键技术环节的改造,结合新产品对重点模块存量旧卡读写卡操作现存部分进行重点梳理:
1、整个读写卡操作分三个部分,分别为用户卡读卡器操作、操作员卡读卡器操作、用户卡业务操作;其中操作员卡读卡器操作主要针对CPU卡,旧系统未有此种方式,属于新增部分,选用新产品代码及读卡器硬件;另两种针对用户卡读卡器操作,旧系统读写用户卡的对应dll动态库技术内幕不可知,采用继承原接口调用模式,忽略业务细节继承该程序部分动态库代码,以直接继承原产品旧卡服务,而硬件读写卡工具方面,原系统采用的德卡D8读卡器,新系统也支持;
2、存量旧卡的用户卡业务操作主要功能有:读取卡号、读取卡内信息、更改卡片状态、锁卡、解锁、写持卡人信息、消费、充值、计次充值、读取计次充值、读取交易记录、更新COS的BUG (此项为聚辰芯片旧卡遗留的特殊问题)等,以上原有业务种类与新卡业务范围相近,区别在于旧卡卡内结构与新卡有差异,原卡结构可从卡厂商处获得,主要读写指令和流程可知,但细节难确定,特别是Ml卡的卡内内部算法未公开,但其存储于老加密机上,直接调用即可得;
3、旧系统存在30多种卡片,包含普通钱包卡、学生卡、老年优惠卡、老年免费卡、伤残军人卡、司机卡等,存量旧卡的用户卡读卡器包括对CPU卡、Ml卡、PSAM卡的基本操作,PSAM卡由建设部提供,CPU卡、Ml旧卡存量为100万左右,本次工程建设未有直接替换成新卡和停止旧卡服务的计划,在至少5年之内,必须接续对旧卡的长期服务,单独保留旧系统为其服务不可行,计划将旧卡的业务办理服务接入至新系统整体服务体系中;
4、旧系统不存在操作员卡,可直接采用新增操作员卡片,采用新系统操作员卡操作SD_CARD0CX_M020流程,具体处理过程为:加载新增的操作员卡片动态库,用USB参数遍历打开读卡器,设置操作主卡座,判断读卡器上是否有卡片?无则提示请放卡片,有则卡片复位返回ATS,发送APDU指令,返回成功则允许操作进入营业系统,否则为非法拒绝操作;
5、旧系统用户卡读卡器操作SD_CARD0CX_M010流程中,对存量CPU卡基本操作依次为:打开读卡器(端口 100表示USB,频率115200),设备复位,获取卡片特征值,防卡冲突,获取卡片序列号,选定给定序列号的卡片,卡片复位返回ATS,发送APDU指令,执行成功则取得卡片息,不成功返回失败息;
6、旧系统用户卡读卡器操作SD_CARD0CX_M010流程中,对存量Ml卡基本操作依次为:打开读卡器(端口 100表示USB,频率115200),设备复位,寻卡返回卡片序列号,加载O扇区KEYA至读卡器RAM,验证O扇区KEYA密钥,读取O扇区返回CSN,解析写卡指令,根据指令执行写块操作或校验KEYA、KEYB操作,操作完成后返回成功或失败信息;
7、旧系统用户卡读卡器操作SD_CARD0CX_M010流程中,对存量PASM卡基本操作依次为:打开读卡器(端口 100表示USB,频率115200),设备复位,设置卡座位SAMl (OxOd),设置PSAM卡参数波特率38400 (入参20),卡片复位返回ATS,发送APDU指令,执行成功则取得卡片息,不成功返回失败息;
通过以上对存量旧卡业务的细致分析,进一步细分存量旧卡指令,如图3所示,其老业务与新卡业务处理流程相近,旧系统与新系统的主要区别为:旧系统采用J2EE标准,运行于Iinux系统平台,采用三级平台架构结构复杂,新系统采用.NET标准,运行于windows系统平台,采用B/S架构,两者的体系标准和技术手段差异大,本案硬件设备资源有限,新产品上线后必须停止对旧系统平台支撑,而将存量旧卡业务直接加入新产品中,技术上不可行,开发周期和难度较大。
[0013]为了保持对存量旧卡业务的平稳继承,重点解决对旧系统读写卡操作技术的直接继承上,即选择性分段继承成熟模块部分,实践中将操作该类卡片的旧系统动态库单独提取出(旧系统代码不公开,但其内部读写卡片命令的调用接口公开,表现为自定义的dll动态库程序),按照新系统接口标准重新包装旧业务接口,从而符合新系统业务处理流程规范,把旧卡原技术框架dll动态库部分用控件OCX包装后,以子控件方式导入至新的技术体系中,实现分段集控的继承方式,从而使新老业务统一至一个流程中,各自独立运行,又合理的利用了历史遗留资产,避免重复开发,实践表明这种改造技术难度小,改造方式可复制。
[0014]本发明的分段继承方法实质是围绕存量旧卡业务实施控件重构,以期通过对原有读写卡关键技术的继承,避免对旧卡读写卡模块重复开发和投入测试周期,实现新旧业务的流程统一、业务独立。
[0015]首先,对读写卡控件进行重构,如图1所示:
1、原厂商的控件采用J2EE标准,与新产品.NET(线上也部分采用了 J2EE标准)不兼容,对原控件的动态库dll进行抽出,结合驱动进行重构;
2、建立多级调用的OCX控件框架,父子控件通过继承关系,按照新产品控件已有具体的各子类业务建立完全一样的虚态调用接口;
3、页面加业务不加代码,少量配置,即可对存量卡片(老卡)全业务前台展示;
4、统一采用新式读卡器,使用单一底层驱动;
5、微调新卡OCX子控件onecard.0cx,只增加继承关系,不改变代码过程(新增业务除外);
6、增加旧卡子控件sd_card.0cx,对老系统的动态库dll进行抽出,结合驱动进行重构,加载与父控件对应的继承方法,细分CPU卡、Ml卡、PSAM卡、操作员卡的操作过程;
7、利用上述旧卡子控件scLcard.0cx对所有30多种类型的存量卡进行循环测试,验证有效性;
8、开展页面连通验证,旧卡和新卡统一调用父控件,由其调用对应子控件,两个子控件由父控件进行鉴别使用,屏蔽触发后端加密机服务的过程。
[0016]其次,构建服务分散中心ctrlcenter,专门模拟老系统旧卡后台服务,即配合旧卡读写子控件完成后端处理的匹配工作,通过服务分散中心完成对存量旧卡发出的加密机服务和私有算法(本案实践是存储在老加密机内的未公开遗留加密算法服务)请求服务,每个socket请求获得一个线程资源,服务分散中心内部分主备方式,以线程池的组织方式响应客户端请求,如图4所示:
1、建设围绕SOCKET通讯的报文通讯中心,同时加载TUXEDO中间件和WEBSERVIES外延协议接口 ;
2、建设围绕消息队列方式的线程动态池;
3、加载旧系统KEYA、KEYB令牌和个性化加密算法协议模块和适配原安全通讯过程;
4、测试与控件、加密机服务的连通性和并发观察。
[0017]最后,改造加密机服务,旧系统使用某SJL06E加密机,新系统为扩展对存量旧卡的长期服务能力,又增加了某SJL05加密机,以socket为基础,重新开发针对存量旧卡的专用加密机服务,主要包括充值校验MACl和计算MAC2、充值验证TAC、消费计算MAC1、消费验证MAC2、消费验证TAC、计算安全报文、消费TAC(M1卡)、计算Ml卡KEYA、获取服务器时间、消费TAC(住建部)、验证令牌、计算Ml卡KEYB等服务,以这些定制服务为存量旧卡sd_card, ocx子控件提供专项对应的操作许可。
[0018]以读写卡控件重构为重心的三个关键中心实施完毕后,也即在新系统业务流程体系中融入了对存量旧卡全业务的支撑,以分段继承遗留旧系统技术的方式,不突破第三方产品私有的代码层,实现业务和技术的继承、整合。本发明在本次实施中实现异构IC卡系统间的分段继承方法的具体步骤如下:
步骤1、营业厅页面选择业务,统一发出(不区分新卡、旧卡)读写卡操作请求至客户端控件;
步骤2、新增读写卡父控件xz_card.0cx,接受步骤I请求,该控件作为统一接口,内设初始化响应测试,能够判断新卡、旧卡两类操作请求,其内部采用与标准CPU读写卡控件onecard.0cx 一致的方法和函数,负责根据外部请求的新卡或旧卡请求,转发调用旧卡专用子控件sd_card.0cx或新卡专用子控件onecard.0cx,若是新卡请求则至步骤3,若是旧卡请求则转至步骤4处理;
步骤3、重构微调标准CPU读写卡控件onecard.0cx,原接口不变,只增加与父控件一致的继承接口,以使父控件xz_card.0cx可以将新卡操作请求传递至新卡专用子控件onecard.0cx处理,该新的专用子控件onecard.0cx执行原有的CPU卡标准流程,即调用TUXEDO服务完成加密机服务请求,执行完读写卡动作后,返回结果至父控件Xz_Card.0cx,跳至步骤9,与原新系统标准业务处理流程相较未改变;
步骤4、如图4所示,新增旧卡专用子控件sd_card.0cx,处理步骤2转来的旧卡读写操作请求,该控件调用旧系统控件操作DLL库部分,完成对各项用户卡业务操作和用户卡读卡器操作包装,依靠旧系统遗留的DLL完成对旧CPU卡、Ml卡、PSAM卡的基本操作,以及旧用户卡业务读取卡号、读取卡内信息、更改卡片状态、锁卡、解锁、消费、充值、写持卡人信息、计次充值、读取计次充值、读取交易记录等的业务处理,该专用子控件sd_card.0cx内部函数列表与标准CPU控件onecard.0cx (新系统现有控件)一致,函数内增加对旧系统读写卡操作DLL动态库外调,以完成存量旧卡初始化和读取卡内信息,同时扩展增加发至服务分散中心处理的加密机服务调用,通讯报文采用AES加密,加密机服务请求发至步骤5服务分散中心处理;
步骤5、新增服务分散中心ctrl_center,接受步骤4的旧卡请求,本程序以windows服务的形式发布,支持多个客户端同时连接,以主备方式存在,当子控件sd_card.0cx以socket报文方式发出加密机服务或加密算法服务请求,将对报文进行AES解密,数据包入消息队列等待处理;
步骤6、每个旧卡操作将在服务分散中心ctrlcenter中被转发成加密机服务调用,月艮务分散中心ctrl_center使用队列形式接收从客户端发过来的连接,采用连接池的方式与加密机进行连接,为队列中每个消息从连接池中取得一个空闲线程,该线程专门为本请求连接加密机,最大数预设100,空闲I分钟后超时关闭,如图4所示;
步骤7、新增专用于存量旧卡的定制加密机服务,步骤6的工作线程将遍历加密机服务列表,根据当前消息类型触发加密机服务(其中包含老系统存储在加密机上的私有加密算法),具体包含充值MAC、充值验证TAC、消费计算MACl、消费验证MAC2、消费验证TAC、计算安全报文、消费TAC (Ml卡)、计算Ml卡KEYA、计算Ml卡KEYB、获取服务器时间、消费TAC (住建部)、验证令牌各服务,以上所有服务均只为存量旧卡专用,旧系统采用的是某S几06E加密机,本次实践过程中,因考虑未来通用需要,采用与新系统匹配的某SJL05加密机,但所有服务也经过某SJL06E加密机测试验证正确; 步骤8、加密机将加工结果回送给服务分散中心的调用线程,调用线程再将加密机服务结果经由AES打包加密,传递至客户端旧卡专用子控件sd_card.0cx,子控件解包后使用该结果作为入参外调旧系统的读写卡操作DLL动态库,由旧卡程序执行对存量旧卡的读写卡操作,并将本次操作成功与失败结果传递至父控件xz_card.0cx ;
步骤9、父控件xz_card.0cx将以统一的方式,忽略新卡与旧卡差异,将操作结果信息转换成与新系统标准CPU控件onecard.0cx 一致的规格,回送页面;
步骤10、步骤9所回传的新旧卡数据格式是相同的,页面可以直接进行统一展示、处理。
[0019]存量旧卡通过以上步骤的操作,由控件重构、增加分散中心、改造加密机服务三个关键环节共同完成,其流程独立于标准CPU新卡的处理流程,但控件接口部分由父控件xz_card, ocx统一接管,这样新系统的营业前台系统不需要代码调整和改变,以原有参数即可调用不同子控件完成新卡和旧卡的操作。本次实践过程中,前台系统页面调用控件的代码部分没有改变,父子控件的开发周期在一月左右,进行了批量测试,未出现显著问题,新系统的处理流程和各子系统代码未进行大范围改变,更多时间关注在老数据割接与卡片发行准备上,这种短周期、分段继承遗留技术的方式具备可复制的效果,当然,这种读写卡新老业务统一的作法,可以进一步优化,也适用于其它同业竞争产品的快速替代需求。
[0020]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下还可以做出若干改进,这些改进也应视为本发明的保护范围。
【权利要求】
1.一种异构IC卡系统间业务统一的分段继承方法,其特征在于包括以下步骤: 1)、页面选择业务; 2)、触发父控件选择下设的新卡子控件或旧卡子控件接受步骤I)请求;若步骤I)请求为新卡读写操作则转至步骤3),若步骤I)请求为旧卡读写操作则跳至步骤4); 3)、新卡子控件调用中间件TUXEDO产品传递加密机服务请求,根据服务结果执行对新卡的读写卡操作后,返回操作结果至父控件并跳至步骤9); 4)、旧卡子控件接受并处理步骤2)旧卡读写操作请求,同时将旧卡数据请求加密后发送至服务分散中心处理; 5)、服务分散中心接收并解密步骤4)的请求入消息队列等待处理; 6)、服务分散中心扫描消息队列中的请求消息,并为每个消息生成专用工作线程; 7)、服务分散中心中的工作线程遍历加密机服务列表,调用对应的旧卡加密机服务或加密算法服务; 8)、加密机将服务结果回传到服务分散中心,服务分散中心将服务结果加密后回传至旧卡子控件解密后,执行对旧卡的读写卡操作,旧卡子控件将操作结果返回至父控件; 9)、父控件完成数据规格化操作后,回送页面。
2.根据权利要求1所述的异构IC卡系统间业务统一的分段继承方法,其特征在于:所述父子控件采用OCX控件嵌套调用方式。
3.根据权利要求1或2所述的异构IC卡系统间业务统一的分段继承方法,其特征在于:所述加密和解密采用AES算法。
【文档编号】G06K17/00GK104318287SQ201410611778
【公开日】2015年1月28日 申请日期:2014年11月4日 优先权日:2014年11月4日
【发明者】王井锋, 葛海欧, 杨智敏, 路晋平, 孙力斌 申请人:南京联创科技集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1