发明内容
本发明要解决的技术问题是提供一种多通道无线写卡终端,能够同时支持多个、多级数据通信通道,并自动根据所在区域的网络情况,使用最理想的数据通道资源进行无线写卡服务。
为了解决上述问题,本发明提供了一种多通道无线写卡终端,包括:控制模块和无线通信模块;还包括:通道选择模块;
所述无线通信模块用于接收第一用户识别模块发送的写卡请求数据并进行解析,然后发送给所述通道选择模块;以及将无线移动通信服务器返回的写卡数据解析后转发给所述通道选择模块;
所述控制模块用于当收到所述写卡请求数据后写入第二用户识别模块;接收到第二用户识别模块发回的写卡回应数据后发给所述通道选择模块;
所述通道选择模块用于当接收到所述写卡请求数据时转发给所述控制模块,并判断是否存在选定的数据通道,不存在则指示无线通信模块尝试开启各数据通道,将开启成功的数据通道作为选定的数据通道;将所述写卡回应数据后按照所述选定的数据通道的格式封装并发送给所述无线通信模块;当接收到无线通信模块返回的写卡数据后,按照所述选定的数据通道的格式解封并发送给所述无线通信模块;
所述无线通信模块还用于将封装的写卡回应数据在所述选定的数据通道上发送给无线移动通信服务器;以及将解封的写卡数据发送给所述第一用户识别模块。
进一步地,所述通道选择模块还用于当收到所述写卡回应数据后再次判断是否存在选定的数据通道,如果不存在则缓存该写卡回应数据,待选定数据通道后,将所缓存的写卡回应数据后按照所述选定的数据通道的格式封装并发送给所述无线通信模块;以及用于判断无线通信模块返回的数据是否为写卡数据,如果为失败数据则指示无线通信模块尝试开启其它数据通道,将开启成功的数据通道作为新选定的数据通道;按该新选定的数据通道格式重新封装先前缓存的写卡回应数据后发送给所述无线通信模块。
进一步地,所述无线通信模块还用于根据所述通道选择模块的指示开启相应的数据通道,并返回表示开启结果的回应数据给通道选择模块;
所述通道选择模块指示无线通信模块尝试开启各数据通道是指:
所述通道选择模块从优先级最高的数据通道开始,依次指示无线通信模块尝试开启各优先级的数据通道,直到从无线通信模块收到表示开启成功的回应数据;
所述通道选择模块指示无线通信模块尝试开启其它数据通道是指:
所述通道选择模块从比当前选定的数据通道优先级低一级的数据通道开始,依次指示无线通信模块尝试开启各优先级的数据通道,直到从无线通信模块收到表示开启成功的回应数据。
进一步地,所述通道选择模块包括:
通道数据处理单元、通道检测单元、第一和第二数据I/O接口;
所述第一数据I/O接口用于传递控制模块和通道数据处理单元之间交互的数据;所述第二数据I/O接口用于传递无线通信模块和通道数据处理单元之间交互的数据;
所述通道数据处理单元用于当接收到所述无线控制模块输入的数据后,如果判断是写卡请求数据则转发给所述控制模块,并判断是否存在选定的数据通道,如果不存在则指示所述通道检测单元进行通道检测;当接收到所述控制模块返回的写卡回应数据后,再次判断是否存在选定的数据通道,如果存在则将所述写卡回应数据按选定的数据通道的格式封装后发送给所述无线通信模块,否则缓存所述写卡回应数据,待收到所述通道检测单元选定的数据通道后,将所缓存的所述写卡回应数据按选定的数据通道的格式封装后发送给所述无线通信模块;还用于接收所述无线通信模块返回的回应数据,并发送给所述通道检测单元;以及用于当接收到所述无线通信模块返回的封装的数据后,根据接口协议或数据协议,判断返回的是写卡数据还是失败数据,如果所返回的是写卡数据则按照选定的数据通道的格式解封所述写卡数据后发送给所述无线通信模块;如果所返回的是失败数据则指示所述通道检测单元重新进行通道检测,并在收到通道检测单元返回的新选定的数据通道后,按该新选定的数据通道的格式重新封装先前缓存的写卡回应数据后发送给所述无线通信模块;
所述通道检测单元用于在收到进行通道检测的指示后,生成指示开启优先级最高的数据通道的指令,并将该指令通过所述通道数据处理单元发送给所述无线通信模块;还用于根据所述回应数据判断无线通信模块是否正确执行所述指令,如果正确则将所述指令中指示开启的数据通道作为选定的数据通道,并返回给所述通道数据处理单元;否则生成指示开启下一优先级的数据通道的指令,并将该指令通过所述通道数据处理单元发送给所述无线通信模块;以及用于在收到重新进行通道检测的指示后,生成指示开启优先级比当前选定的数据通道优先级低一级的数据通道的指令,并将该指令通过所述通道数据处理单元发送给所述无线通信模块。
进一步地,所述通道选择模块设置于所述控制模块中,控制模块还包括:
数据处理单元、第一数据I/O接口和第二数据I/O接口;
所述通道选择模块与所述数据处理单元相连,并通过所述数据处理单元和所述第二数据I/O接口与所述无线通信模块相连;
所述数据处理单元用于当收到无线通信模块发送的数据后先转发给所述通道选择模块,收到通道选择模块发送的写卡请求数据后,将其通过所述第一数据I/O接口写入所述第二用户识别模块;以及当通过所述第一数据I/O接口接收到由所述第二用户识别模块发回的写卡回应数据时,将该写卡回应数据发送给所述通道选择模块;
所述通道选择模块包含通道数据处理单元和通道检测单元:
所述通道数据处理单元用于当接收到所述数据处理单元输入的数据后,如果判断是写卡请求数据则转发给所述数据处理单元,并判断是否存在选定的数据通道,如果不存在则指示所述通道检测单元进行通道检测;当接收到所述数据处理单元返回的写卡回应数据后,再次判断是否存在选定的数据通道,如果存在则将所述写卡回应数据按选定的数据通道的格式封装,通过所述数据处理单元和第二数据I/O接口发送给所述无线通信模块,否则缓存所述写卡回应数据,待收到所述通道检测单元选定的数据通道后,将所缓存的所述写卡回应数据按选定的数据通道的格式封装,通过所述数据处理单元和第二数据I/O接口发送给所述无线通信模块;还用于接收所述无线通信模块通过所述数据处理单元和第二数据I/O接口返回的回应数据,并发送给所述通道检测单元;以及用于当接收到所述无线通信模块返回的封装的数据后,根据接口协议或数据协议,判断返回的是写卡数据还是失败数据,从而确定数据通道的连接状态;如果所返回的是写卡数据则按照选定的数据通道的格式解封所述写卡数据后,通过所述数据处理单元和第二数据I/O接口发送给所述无线通信模块;如果所返回的是失败数据则指示所述通道检测单元重新进行通道检测,并在收到通道检测单元返回的新选定的数据通道后,按该新选定的数据通道的格式重新封装先前缓存的写卡回应数据,通过所述数据处理单元和第二数据I/O接口发送给所述无线通信模块;
所述通道检测单元用于在收到进行通道检测的指示后,生成指示开启优先级最高的数据通道的指令,并将该指令发送给所述通道数据处理单元;还用于根据所述回应数据判断无线通信模块是否正确执行所述指令,如果正确说明已开启成功,则将所述指令中指示开启的数据通道作为选定的数据通道,并返回给所述通道数据处理单元;否则生成指示开启下一优先级的数据通道的指令,并将该指令发送给所述通道数据处理单元;以及用于在收到重新进行通道检测的指示后,生成指示开启优先级比当前选定的数据通道优先级低一级的数据通道的指令,并将该指令通过所述通道数据处理单元发送给所述无线通信模块。
进一步地,所述通道选择模块设置于所述控制模块中,所述控制模块包括:
数据处理单元、第一数据I/O接口和第二数据I/O接口;
所述通道选择模块具体设置于所述数据处理单元中;
所述第二数据I/O接口用于连接所述通道选择模块与所述无线通信模块;
所述通道选择模块包括通道数据处理单元和通道检测单元;
所述通道数据处理单元用于当通过所述第二数据I/O接口接收到所述无线通信模块输入的数据后,如果判断是写卡请求数据则将其通过所述第一数据I/O接口写入所述第二用户识别模块,并判断是否存在选定的数据通道,如果不存在则指示所述通道检测单元进行通道检测;当通过所述第一数据I/O接口接收到所述第二用户识别模块返回的写卡回应数据后,再次判断是否存在选定的数据通道,如果存在则将处理后的写卡回应数据按选定的数据通道的格式封装,通过所述第二数据I/O接口发送给所述无线通信模块,否则缓存处理后的写卡回应数据,待收到所述通道检测单元选定的数据通道后,将所缓存的所述写卡回应数据按选定的数据通道的格式封装后通过所述第二数据I/O接口发送给所述无线通信模块;还用于接收所述无线通信模块通过所述第二数据I/O接口返回的回应数据,并发送给所述通道检测单元;以及用于当接收到所述无线通信模块返回的封装的数据后,根据接口协议或数据协议,判断返回的是写卡数据还是失败数据,从而确定数据通道的连接状态;如果所返回的是写卡数据说明数据通道正常,按照选定的数据通道的格式解封所述写卡数据后,通过所述第二数据I/O接口发送给所述无线通信模块;如果所返回的是失败数据则指示所述通道检测单元重新进行通道检测,并在收到通道检测单元返回的新选定的数据通道后,按该新选定的数据通道的格式重新封装先前缓存的写卡回应数据,通过所述第二数据I/O接口发送给所述无线通信模块;
所述通道检测单元用于在收到进行通道检测的指示后,生成指示开启优先级最高的数据通道的指令,并将该指令发送给所述通道数据处理单元;还用于根据所述回应数据判断无线通信模块是否正确执行所述指令,如果正确说明已开启成功,则将所述指令中指示开启的数据通道作为选定的数据通道,并返回给所述通道数据处理单元;否则生成指示开启下一优先级的数据通道的指令,并将该指令发送给所述通道数据处理单元;以及用于在收到重新进行通道检测的指示后,生成指示开启优先级比当前选定的数据通道优先级低一级的数据通道的指令,并将该指令通过所述通道数据处理单元发送给所述无线通信模块。
进一步地,所述通道选择模块当接收到所述无线通信模块返回的数据后,如果判断为失败数据,并且选定的数据通道为最低优先级的数据通道,则将所述无线通信模块返回的失败数据解封装后发送给所述无线通信模块。
进一步地,优先级最低的数据通道为短信通道;
所述通道选择模块还用于当根据所述回应数据,判断无线通信模块没有正确执行指示开启优先级次低的数据通道的指令时,直接将短信通道作为选定的数据通道。
进一步地,如果数据通道一直未能开启成功,则通道选择模块按短信方式封装写卡回应数据,而所述无线通信模块收到通道选择模块封装的写卡回应数据后,按短信方式发送该写卡回应数据。
进一步地,所述的终端还包括:
第一用户识别模块插槽,用于将第一用户识别模块发送的写卡请求数据转发给所述无线通信模块,以及将所述无线通信模块发送的写卡数据转发给所述第一用户识别模块;
第二用户识别模块接口模块,用于将所述控制模块发送的写卡请求数据转发给所述第二用户识别模块,以及将所述第二用户识别模块发送的写卡回应数据转发给所述控制模块。
本发明的技术方案使得无线写卡终端能够同时支持多个、多级数据通信通道(包括但不限于USSD、3G、WIFI、EDGE、GPRS、短信等数据通道),使得同一个无线写卡终端可以自适应通过使用运营商提供的最佳数据通道进行无线写卡,例如在拥有GPRS资源的区域可以优先使用GPRS通道,减少数据交互次数,缩短用户等待时间,避免数据通道堵塞的问题;在没有GPRS资源的区域通过使用短信通道获得无线写卡业务的能力,保证无线写卡业务的正常提供。本发明的技术方案使得无线写卡终端可以最大程度的通过使用现有最合理资源提高无线写卡终端的性能及其业务服务水平,同时规避了单独使用这些数据通道的缺点;在不能使用最佳数据通道资源的区域,无线写卡终端还能够自动将通道切换至次一级的数据通道,从而使得无线写卡终端能够顺利完成相关业务。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
实施例一,多通道无线写卡终端,如图1所示,包括:控制模块、无线通信模块、通道选择模块、以及用户识别模块接口模块;所述通道选择模块通过有线通信方式或内部接口的方式与所述控制模块、所述无线通信模块进行连接。
本实施例中,所述用户识别模块接口模块包括第一用户识别模块插槽、和第二用户识别模块接口模块;
所述第一用户识别模块插槽用于连接第一用户识别模块和所述无线通信模块;所述第一用户识别模块为具有无线写卡功能的智能卡(具体可见中国专利200710119254.5)。在实际应用中,第一用户识别模块也可以是位于无线移动通信服务器端,因此不排除无线写卡终端没有该第一用户识别模块插槽。
所述第二用户识别模块接口模块可以为一用户识别模块插槽,也可以为一读卡器,用于向用户识别模块提供数据接口,本实施例中可以提供第二用户识别模块与所述控制模块之间的连接,用于将所述控制模块发送的写卡请求数据转发给所述第二用户识别模块,以及将所述第二用户识别模块发送的写卡回应数据转发给所述控制模块。
所述第一用户识别模块插槽用于将第一用户识别模块发送的写卡请求数据转发给所述无线通信模块,以及将所述无线通信模块发送的写卡数据转发给所述第一用户识别模块;所述写卡请求数据中包括写卡指令,还可以选择性地携带与写卡操作相关的信息和数据;本实施例中,第一用户识别模块与无线通信模块之间的通信可以采用符合GSM11.14协议规范的数据协议。
所述无线通信模块用于解析接收到的所述写卡请求数据并发送给所述通道选择模块;以及当收到无线移动通信服务器返回的下一包写卡数据或失败数据时,解析后转发给所述通道选择模块。
所述通道选择模块用于当接收到所述无线通信模块发来的数据时,判断是否为写卡请求数据,如果是则转发给所述控制模块,并判断是否存在选定的数据通道,如果不存在则从优先级最高的数据通道开始,依次指示无线通信模块尝试开启各优先级的数据通道,直到从无线通信模块收到表示开启成功的回应数据,将开启成功的数据通道作为选定的数据通道;以及当收到所述控制模块返回的写卡回应数据后,再次判断是否存在选定的数据通道,如果存在则将所述写卡回应数据按该选定的数据通道的格式封装后发送给所述无线通信模块;如果不存在则缓存写卡回应数据,待选定数据通道后将缓存的写卡回应数据按该数据通道的格式封装后发送给所述无线通信模块;还用于接收无线通信模块返回的封装的数据,如果为写卡数据则说明数据通信正常,按照所述选定的数据通道的格式解封数据,然后发送给所述无线通信模块;如果为失败数据则说明数据通信失败,则可以从比当前选定的数据通道优先级低一级的数据通道开始,依次指示无线通信模块尝试开启各优先级的数据通道,直到从无线通信模块收到表示开启成功的回应数据,将开启成功的数据通道作为新选定的数据通道;按该新选定的数据通道格式重新封装先前缓存的写卡回应数据后发送给所述无线通信模块。
本实施例中,所述控制模块用于当收到写卡请求数据后,将其拆分为单个的APDU数据,并逐个依次通过第二用户识别模块接口模块写入第二用户识别模块(即进行写卡操作);以及当接收到由第二用户识别模块经由第二用户识别模块接口模块发回的该次交互过程中的写卡回应数据(即写卡回应操作)时,将该写卡回应数据采用应用层报文APDU指令逐条处理后发送给所述通道选择模块。
所述无线通信模块还用于根据所述通道选择模块的指示开启相应的数据通道,并返回表示开启结果的回应数据给通道选择模块;以及用于接收所述通道选择模块封装的写卡回应数据,并在所述选定的数据通道上发送给无线移动通信服务器,发送时还可以通知第一用户识别模块,可以仅通知已收到写卡回应数据,也可以直接转发所述写卡回应数据作为通知。所述无线通信模块还用于在收到所述通道选择模块返回的解封后的写卡数据时通过所述第一用户识别模块插槽发送给所述第一用户识别模块,至此完成一次完整的写卡流程。
在实际应用时,所述通道选择模块也可以通过接收回应数据以外的方式判断通道是否开启成功,比如采用直接监听所述无线通信模块的交互数据的方式;另外,当收到无线通信模块返回的失败数据后,也可以直接提示写卡失败;在本实施例中,是采用了重新开启数据通道的方式,以提高写卡操作的成功率。
所述无线通信模块可以但不限于是以下模块中的任一种或任几种:CDMA、GSM、GPRS、EDGE、小灵通、大灵通、3G、WiMax模块等。
本实施例中,所述通道选择模块结构如图2所示,包括:数据I/O接口,通道数据处理单元,通道检测单元。
所述数据I/O接口包括第一数据I/O接口和第二数据I/O接口;
所述第一数据I/O接口连接在所述通道数据处理单元与控制模块之间;用于传递控制模块和通道数据处理单元之间交互的数据;
所述第二数据I/O接口连接在所述通道数据处理单元与无线通信模块之间,用于传递通道数据处理单元与无线通信模块之间交互的数据。
所述通道数据处理单元用于当接收到所述无线控制模块输入的数据后,如果判断是写卡请求数据则转发给所述控制模块,并判断是否存在选定的数据通道,如果不存在则指示所述通道检测单元进行通道检测;当接收到所述控制模块返回的写卡回应数据后,再次判断是否存在选定的数据通道,如果存在则将所述写卡回应数据按选定的数据通道的格式封装后发送给所述无线通信模块,否则缓存所述写卡回应数据,待收到所述通道检测单元选定的数据通道后,将所缓存的所述写卡回应数据按选定的数据通道的格式封装后发送给所述无线通信模块;还用于接收所述无线通信模块返回的回应数据,并发送给所述通道检测单元;以及用于当接收到所述无线通信模块返回的封装的数据后,根据接口协议或数据协议,判断返回的是写卡数据还是失败数据,从而确定数据通道的连接状态;如果所返回的是写卡数据说明数据通道正常,按照选定的数据通道的格式解封所述写卡数据后发送给所述无线通信模块;如果所返回的是失败数据则说明数据通道关闭,指示所述通道检测单元重新进行通道检测,并在收到通道检测单元返回的新选定的数据通道后,按该新选定的数据通道的格式重新封装先前缓存的写卡回应数据后发送给所述无线通信模块。
所述通道检测单元用于在收到进行通道检测的指示后,生成指示开启优先级最高的数据通道的指令,例如指示开启GPRS数据通道的指令,并将该指令通过所述通道数据处理单元发送给所述无线通信模块;还用于根据所述回应数据判断无线通信模块是否正确执行所述指令,如果正确说明已开启成功,则将所述指令中指示开启的数据通道作为选定的数据通道,并返回给所述通道数据处理单元;否则生成指示开启下一优先级的数据通道的指令,并将该指令通过所述通道数据处理单元发送给无线通信模块;以及用于在收到重新进行通道检测的指示后,生成指示开启优先级比当前选定的数据通道优先级低一级的数据通道的指令,并将该指令通过所述通道数据处理单元发送给所述无线通信模块。
如果所述通道数据处理单元当接收到所述无线通信模块返回的数据后,判断数据通道关闭,并且该选定的数据通道为最低优先级的数据通道,则可以将所述无线通信模块返回的失败数据解封装后发送给所述无线通信模块。
所述无线通信模块根据所述通道选择模块的指示开启相应的数据通道,并返回表示开启结果的回应数据给所述通道选择模块是指:
所述无线通信模块执行所述通道检测单元生成的指令,开启相应的数据通道,并返回表示执行结果的回应数据给所述通道数据处理单元。
可见,通过本实施例中的通道选择模块,从优先级最高的数据通道开始尝试,如果一优先级的数据通道可以使用则利用该数据通道进行数据交互,如果不可以使用则会尝试下一优先级的数据通道,因此可以自适应地选择当前情况下优先级最高的数据通道。
本实施例中,将通信质量最佳的数据通道设为优先级最高的数据通道,次佳的数据通道设为优先级次高的,以此类推;实际应用时,也可以根据性价比、费用高低、网络速度等实际情况来设定数据通道的优先级。
本实施例的一种实施方式中,将短信通道设为优先级最低的数据通道;由于短信通道无需开启,因此,所述通道检测单元当根据所述回应数据,判断无线通信模块没有正确执行指示开启优先级次低的数据通道的指令时,直接将短信通道作为选定数据通道;
相应的,所述无线通信模块如果一直未能正确执行所述指令,也就是数据通道一直未能开启成功,则通道数据处理单元按短信方式封装写卡回应数据,而所述无线通信模块收到通道数据处理单元封装的写卡回应数据后,按短信方式发送该写卡回应数据。
本实施例的另一种实施方式中,是将短信通道以外的其它数据通道设为优先级最低的数据通道,则可以还是由通道检测单元生成指示开启该数据通道的指令,如果根据所述回应数据,判断无线通信模块没有正确执行该指令,则可以提示用户写卡失败。
本实施例中,所述数据通道由运营商提供,包括但不限于以下数据通道中的任几种:USSD(Unstructured Supplementary Service Data,非结构化的补充业务数据)、WIFI(Wireless Fidelity,无线保真)、3G(Third Generation,第三代移动通信)、EDGE(Enhanced Data Rate for GSM Evolution,增强型数据速率GSM演进技术)、GPRS、短信等数据通道。
实施例二,多通道无线写卡终端,包括控制模块、无线通信模块、用户识别模块接口模块以及通道选择模块;如图3所示,本实施例中通道选择模块设置在控制模块中;所述无线通信模块及用户识别模块接口模块与实施例一中相同,区别是所述无线通信模块需要通过所述控制模块与所述通道选择模块进行交互。
本实施例中,所述控制模块结构如图4所示,包括:
数据I/O接口、存储单元、判断单元、数据处理单元;所述数据I/O接口包括第一数据I/O接口和第二数据I/O接口。
所述数据处理单元通过所述第一数据I/O接口与所述第二用户识别模块接口模块相连;
所述通道选择模块与所述数据处理单元相连,并通过所述数据处理单元和所述第二数据I/O接口与所述无线通信模块相连;
本实施例中,所述数据处理单元用于当收到无线通信模块发送的数据后先转发给所述通道选择模块,收到通道选择模块发送的写卡请求数据后,将其拆分为单个的APDU数据,并逐个依次通过所述第一数据I/O接口和所述第二用户识别模块接口模块写入所述第二用户识别模块(即进行写卡操作);以及当通过所述第一数据I/O接口接收到由所述第二用户识别模块经由所述第二用户识别模块接口模块发回的该次交互过程中的写卡回应数据(即写卡回应操作)时,将该写卡回应数据采用应用层报文APDU指令逐条处理后发送给所述通道选择模块。
本实施例中,所述通道选择模块结构如图5所示,所述通道选择模块包含通道数据处理单元和通道检测单元:
所述通道数据处理单元用于当接收到所述数据处理单元输入的数据后,如果判断是写卡请求数据则转发给所述数据处理单元,并判断是否存在选定的数据通道,如果不存在则指示所述通道检测单元进行通道检测;当接收到所述数据处理单元返回的写卡回应数据后,再次判断是否存在选定的数据通道,如果存在则将所述写卡回应数据按选定的数据通道的格式封装,通过所述数据处理单元和第二数据I/O接口发送给所述无线通信模块,否则缓存所述写卡回应数据,待收到所述通道检测单元选定的数据通道后,将所缓存的所述写卡回应数据按选定的数据通道的格式封装,通过所述数据处理单元和第二数据I/O接口发送给所述无线通信模块;还用于接收所述无线通信模块通过所述数据处理单元和第二数据I/O接口返回的回应数据,并发送给所述通道检测单元;以及用于当接收到所述无线通信模块返回的封装的数据后,根据接口协议或数据协议,判断返回的是写卡数据还是失败数据,从而确定数据通道的连接状态;如果所返回的是写卡数据说明数据通道正常,按照选定的数据通道的格式解封所述写卡数据后,通过所述数据处理单元和第二数据I/O接口发送给所述无线通信模块;如果所返回的是失败数据则说明数据通道关闭,指示所述通道检测单元重新进行通道检测,并在收到通道检测单元返回的新选定的数据通道后,按该新选定的数据通道的格式重新封装先前缓存的写卡回应数据,通过所述数据处理单元和第二数据I/O接口发送给所述无线通信模块。
所述通道检测单元用于在收到进行通道检测的指示后,生成指示开启优先级最高的数据通道的指令,例如指示开启GPRS数据通道的指令,并将该指令发送给所述通道数据处理单元;还用于根据所述回应数据判断无线通信模块是否正确执行所述指令,如果正确说明已开启成功,则将所述指令中指示开启的数据通道作为选定的数据通道,并返回给所述通道数据处理单元;否则生成指示开启下一优先级的数据通道的指令,并将该指令发送给所述通道数据处理单元;以及用于在收到重新进行通道检测的指示后,生成指示开启优先级比当前选定的数据通道优先级低一级的数据通道的指令,并将该指令通过所述通道数据处理单元发送给所述无线通信模块。
如果所述通道数据处理单元当接收到所述无线通信模块返回的数据后,判断数据通道关闭,并且该选定的数据通道为最低优先级的数据通道,则将把所述无线通信模块返回的失败数据解封装后发送给所述无线通信模块。
所述无线通信模块通过所述第二数据I/O接口和所述数据处理单元向所述通道选择模块发送写卡请求数据、无线移动通信服务器返回的数据(为写卡数据或失败数据)、以及回应数据;通过所述第二数据I/O接口和所述数据处理单元接收所述通道选择模块的指示、封装后的写卡回应数据、以及解封后的写卡数据。
本实施例中,将通信质量最佳的数据通道设为优先级最高的数据通道,次佳的数据通道设为优先级次高的,以此类推;实际应用时,也可以根据性价比、费用高低、网络速度等实际情况来设定数据通道的优先级。
本实施例的一种实施方式中,也是将短信通道设为优先级最低的数据通道;所述通道检测单元当根据所述回应数据,判断无线通信模块没有正确执行指示开启次低数据通道的指令时,直接将短信通道作为选定数据通道;
相应的,所述无线通信模块如果一直未能正确执行所述指令,则通道数据处理单元按短信方式封装写卡回应数据,而无线通信模块收到通道数据处理单元发送的写卡回应数据后,按短信方式发送该数据。
本实施例的另一种实施方式中,也是将短信通道以外的其它数据通道设为优先级最低的数据通道,则可以还是由通道检测单元生成指示开启该数据通道的指令,如果根据所述回应数据,判断无线通信模块没有正确执行该指令,则可以提示用户写卡失败。
本实施例中,所述数据通道由运营商提供,包括但不限于以下数据通道中的任几种:USSD(Unstructured Supplementary Service Data,非结构化的补充业务数据)、WIFI(Wireless Fidelity,无线保真)、3G(Third Generation,第三代移动通信)、EDGE(Enhanced Data Rate for GSM Evolution,增强型数据速率GSM演进技术)、GPRS、短信等数据通道。
实施例三,多通道无线写卡终端,包括控制模块、无线通信模块、用户识别模块接口模块以及通道选择模块;如图6所示,本实施例中控制模块结构与实施例二相同,如图6所示,通道选择模块设置在所述控制模块的所述数据处理单元中;所述无线通信模块及用户识别模块接口模块与实施例一相同,区别是所述无线通信模块需要通过所述控制模块中的第二数据I/O接口与所述通道选择模块进行交互,通过所述第二数据I/O接口向所述通道选择模块发送写卡请求数据、无线移动通信服务器返回的数据(为写卡数据或失败数据)、以及回应数据;通过所述第二数据I/O接口接收所述通道选择模块的指示、封装后的写卡回应数据、以及解封后的写卡数据。
本实施例中,所述控制模块中:
所述第一数据I/O接口用于连接所述通道选择模块与所述第二用户识别模块接口模块;
所述第二数据I/O接口用于连接所述通道选择模块与所述无线通信模块。
所述通道选择模块与实施例二相同,包括通道数据处理单元和通道检测单元;所述通道检测单元也与实施例二中相同。实施例二中所述数据处理单元在写卡操作中进行的操作在本实施例中由通道数据处理单元完成。
所述通道数据处理单元用于当通过所述第二数据I/O接口接收到所述无线通信模块输入的数据后,如果判断是写卡请求数据则将其拆分为单个的APDU数据,并逐个依次通过所述第一数据I/O接口和所述第二用户识别模块接口模块写入所述第二用户识别模块(即进行写卡操作),并判断是否存在选定的数据通道,如果不存在则指示所述通道检测单元进行通道检测;当通过所述第一数据I/O接口接收到由所述第二用户识别模块接口模块转发的所述第二用户识别模块返回的写卡回应数据后,将该写卡回应数据采用应用层报文APDU指令逐条处理,然后再次判断是否存在选定的数据通道,如果存在则将处理后的写卡回应数据按选定的数据通道的格式封装,通过所述第二数据I/O接口发送给所述无线通信模块,否则缓存处理后的写卡回应数据,待收到所述通道检测单元选定的数据通道后,将所缓存的所述写卡回应数据按选定的数据通道的格式封装后通过所述第二数据I/O接口发送给所述无线通信模块;还用于接收所述无线通信模块通过所述第二数据I/O接口返回的回应数据,并发送给所述通道检测单元;以及用于当接收到所述无线通信模块返回的封装的数据后,根据接口协议或数据协议,判断返回的是写卡数据还是失败数据,从而确定数据通道的连接状态;如果所返回的是写卡数据说明数据通道正常,按照选定的数据通道的格式解封所述写卡数据后,通过所述第二数据I/O接口发送给所述无线通信模块;如果所返回的是失败数据则说明数据通道关闭,指示所述通道检测单元重新进行通道检测,并在收到通道检测单元返回的新选定的数据通道后,按该新选定的数据通道的格式重新封装先前缓存的写卡回应数据,通过所述第二数据I/O接口发送给所述无线通信模块。
其它实施细节可也与实施例二相同。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。