CN100568304C - 一种网络税控系统采集销售票据数据的方法 - Google Patents
一种网络税控系统采集销售票据数据的方法 Download PDFInfo
- Publication number
- CN100568304C CN100568304C CNB2007101216249A CN200710121624A CN100568304C CN 100568304 C CN100568304 C CN 100568304C CN B2007101216249 A CNB2007101216249 A CN B2007101216249A CN 200710121624 A CN200710121624 A CN 200710121624A CN 100568304 C CN100568304 C CN 100568304C
- Authority
- CN
- China
- Prior art keywords
- data
- cashing machine
- acquisition module
- data acquisition
- commercial
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Cash Registers Or Receiving Machines (AREA)
Abstract
本发明公开了一种网络税控系统采集销售票据数据的方法。该方法用于网络税控系统从所管理的商业管理信息系统的商业收款机中采集税控用的源数据,包括:通过在商业收款机中设置的数据采集模块截获商业收款机输出的销售票据数据,将截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器。本发明实施例的方法通过截获商业管理信息系统的商业收款机中输出的销售票据数据,作为税控处理用的源数据传送给与商业收款机相连的网络税控器。这种方法保证了作为税控处理的源数据的准确性,同时可以保证数据采集的安全性,不会因使用者采取其它技术手段,禁止数据采集模块的工作或插入虚假数据影响税控结果的准确性。
Description
技术领域
本发明涉及一种数据采集的技术,尤其涉及一种网络税控系统从商业管理信息系统的商业收款机中采集销售票据数据作为税控处理的源数据的方法。
背景技术
随着计算机技术的发展,现有的流通型企业均采用商业管理信息系统(MIS系统)进行商品、销售、财务的管理,目前的商业MIS系统的前端主要采用第三代商用收款机(POS机终端),POS机终端能够运行在DOS,Windows,Linux等系统环境中,后台采用高性能的服务器,前后台设备构建在一个局域网或虚拟专网之上。
现有的POS机终端只能运行MIS前端软件,完成销售时的收款、票据打印功能,并将相应的数据提交给后台对应的服务器。但这种POS机终端只能输出销售的明细数据,而不能输出税控的发票数据。
从上述对现有的商业MIS系统、POS机终端的结构和使用过程中,发明人发现上述现有技术至少存在以下问题:
现有的商业MIS系统只具有企业的信息管理的作用,不具有税控的功能,并且这种系统投入使用后,要保证作业的连续性,不能因为其它原因影响MIS系统的使用,若中断则会给使用中的企业带来经济损失,基于这种情况在不改变现有商业MIS系统前提下,为实现针对该MIS系统的网络税控系统完成以票控税,如何从商业MIS系统的POS机终端中安全、准确的采集税控用的源数据,则成为准确税控的关键,但现有的数据采集方法,无法在不改动现有MIS系统的前提下实现准确、安全的税控数据的采集。
发明内容
本发明提供了一种网络税控系统采集销售票据数据的方法,该方法在不改变现有商业收款机的前提下,有效保证了采集到作为税控处理的源数据的准确性和安全性,进而保证了针对该管理信息系统的网络税控系统以票控税的准确性。
本发明的目的是通过以下技术方案实现的:
本发明提供了一种网络税控系统采集销售票据数据的方法,包括:
通过在商业收款机中设置的数据采集模块截获商业收款机输出的销售票据数据,数据采集模块向与该数据采集模块所在的商业收款机连接的网络税控器进行签到;
若签到成功,则该数据采集模块监控所在的商业收款机的输出销售票据数据的操作,并设定定时巡检的时间间隔;
若商业收款机进行输出销售票据数据的操作,则数据采集模块截获商业收款机输出的销售票据数据,作为税控处理用的源数据传送给与商业收款机连接的网络税控器;
并以设定的时间间隔定时向网络税控器签到进行定时巡检。
所述的截获商业收款机输出的销售票据数据包括:数据采集模块采用截获商业收款机输出至屏幕进行显示的销售明细数据或打印输出队列中销售票据的打印数据。
所述的截获商业收款机输出的打印输出队列中销售票据的打印数据包括:
监控商业收款机的打印端口,当该商业收款机利用打印端口进行打印输出时,则获取输出的打印数据包。
所述方法进一步包括:验证上述数据采集模块的签到、监控、定时巡检步骤是否全部执行成功,若未全部执行成功,则数据采集模块锁定所在的商业收款机。
所述方法进一步包括:验证上述数据采集模块的签到、监控、定时巡检步骤是否全部执行成功,若全部执行成功,则数据采集模块向所述的网络税控器进行签退。
本发明提供了一种网络税控系统采集销售票据数据的方法,包括:
通过将在商业收款机中设置的数据采集模块替换该收款机使用的DOS操作系统中调用的子功能中断;
监控商业收款机利用所述的子功能中断打开、关闭、读、写串口时,则利用替换的子功能中断截获打印输出的销售票据数据;
将截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器。
所述的替换的子功能中断包括:打开文件中断、创建文件中断、关闭文件中断、读文件中断、写文件中断和时钟中断。
将所述的数据采集模块加载到所述DOS操作系统的启动文件中,实现该数据采集模块在所述的DOS操作系统启动时自启动。
所述的方法还包括:数据采集模块向与该模块所在的商业收款机连接的网络税控器签到;
若成功,则监控串口,并进行定时巡检;
驻留替换后的各子功能中断;
上述各子功能中断若全部驻留成功,则向网络税控器签退;
若末全部驻留成功则锁定数据采集模块所在的商业收款机。
本发明提供了一种网络税控系统采集销售票据数据的方法,包括:
通过将在商业收款机中设置的数据采集模块加载到该收款机使用的Windows操作系统的系统进程中;
监控该Windows操作系统的打印输出,利用加载到系统进程中的数据采集模块截获打印输出的销售票据数据;
将截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器;
所述的方法还包括:
数据采集模块向与该模块所在的商业收款机连接的网络税控器签到;
若成功,则监控串口,并进行定时巡检;
运行打印数据监控模块;
上述各步骤若全部执行成功,则向网络税控器签退;
若未全部执行成功则锁定数据采集模块所在的商业收款机。
所述的截获该打印数据包括:字符绘制的应用程序接口函数的调用,并利用Windows操作系统的钩子函数得到发给所述接口函数的参数来获取打印数据。
所述的的数据采集模块加入到该Windows操作系统的启动项,实现该数据采集模块在所述的Windows操作系统启动时自启动。
所述的数据采集模块加入到该Windows操作系统的启动项包括:在该Windows操作系统的注册表文件中加入启动项。
本发明提供了一种网络税控系统采集销售票据数据的方法,包括:
通过在商业收款机中设置的数据采集模块修改或替换该收款机使用的Linux操作系统中的打印设备驱动程序;
监控该Linux系统的打印输出,利用修改或替换的打印设备驱动程序截获打印的销售票据数据,并将截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器。
将所述的截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器包括:直接传送给网络税控器或经用户程序传送给网络税控器。
由上述本发明实施例提供的技术方案可以看出,本发明实施例的方法通过截获商业管理信息系统的商业收款机中输出的销售票据数据,作为税控处理用的源数据传送给与商业收款机相连的网络税控器。这种方法保证了作为税控处理的源数据的准确性,同时可以保证数据采集的安全性,不会因使用者采取其它技术手段,禁止数据采集模块的工作或插入虚假数据影响税控结果的准确性。
附图说明
图1为本发明实施例中网络税控系统的各部件连接示意图;
图2为本发明实施例的采集数据方法的流程图;
图3为本发明实施例的数据采集模块采集打印数据的流程图;
图4为本发明实施例的数据采集模块采集数据过程中安全处理的流程图;
图5为本发明实施例在使用DOS操作系统的商业收款机中采集数据的流程图;
图6为本发明实施例在使用DOS操作系统的商业收款机中采集打印数据的流程图;
图7为本发明实施例在使用DOS操作系统的商业收款机中数据采集模块签到处理流程图;
图8为本发明实施例的商业收款机的DOS操作系统中设置数据采集模块的体系结构框图;
图9为图7中的TSR串口通讯协议层图的结构框图;
图10为图8中的读字符处理流程图;
图11为图8中的写字符处理流程图;
图12为图8中的读包处理流程图;
图13为图8中的写包处理流程图;
图14为图8中的单包通讯层处理流程图;
图15为本发明实施例在DOS操作系统中数据采集模块签到处理流程图;
图16为本发明实施例在DOS操作系统中数据采集模块定时巡检处理流程图;
图17为本发明实施例在DOS操作系统中数据采集模块签退处理流程图;
图18为本发明实施例在DOS操作系统中数据采集模块传送监控数据处理流程图;
图19为本发明实施例在DOS操作系统中数据采集模块请求应答处理流程图;
图20为本发明实施例在DOS操作系统中打开/创建文件中断处理流程图;
图21为本发明实施例在DOS操作系统中关闭文件中断处理流程图;
图22为本发明实施例在DOS操作系统中写文件中断处理流程图;
图23为本发明实施例在DOS操作系统中读文件中断处理流程图;
图24为本发明实施例在DOS操作系统中时钟中断处理流程图;
图25为本发明实施例在使用Windows操作系统的商业收款机中采集数据的流程图;
图26为本发明实施例在使用Windows操作系统的商业收款机中数据采集模块签到处理流程图;
图27为本发明实施例在使用Windows操作系统的商业收款机中截获Windows字符绘制函数的流程图;
图28为本发明实施例在使用Windows操作系统的商业收款机中串口通信处理流程图;
图29为本发明实施例在使用Windows操作系统的商业收款机中串口初始化处理流程图;
图30为本发明实施例在使用Windows操作系统的商业收款机中开机签到处理流程图;
图31为本发明实施例在使用Windows操作系统的商业收款机中定时巡检处理流程图;
图32为本发明实施例在使用Windows操作系统的商业收款机中传送监控数据处理的总体处理流程图;
图33为本发明实施例在使用Windows操作系统的商业收款机中传送监控数据处理的单包发送处理流程图;
图34为本发明实施例在使用Windows操作系统的商业收款机中传送监控数据处理的单包接收处理流程图;
图35为本发明实施例在使用Windows操作系统的商业收款机中传送监控数据处理的多包发送处理流程图;
图36为本发明实施例在使用Windows操作系统的商业收款机中传送监控数据处理的多包接收/请求应答处理流程图;
图37为本发明实施例在使用Windows操作系统的商业收款机中签退处理流程图;
图38为本发明实施例在使用Linux操作系统的商业收款机中采集数据的流程图;
图39为本发明实施例在使用Linux操作系统的商业收款机中采集数据的流程图;
图40为本发明实施例在使用Linux操作系统的商业收款机中采集数据的流程图。
具体实施方式
本发明实施例提供的一种网络税控系统采集销售票据数据的方法,是通过截获商业收款机输出的销售票据数据作为税控用的源数据,并将截获后的数据传送到与商业收款机连接的网络税控器作为源数据进行税控处理用。该方法在不改变且不影响现有商业MIS系统的前提下,保证了税控处理用的源数据的准确性和安全性,进而保证了针对该MIS系统的网络税控系统的以票控税的准确性。
为进一步清楚的说明本发明实施例的采集数据的方法,结合附图说明该方法的具体采集过程。
本发明实施例的销售票据数据采集方法,主要是针对图1所示的网络税控系统中进行采集税控处理用的源数据。该网络税控系统具体由税控服务器、税控数据采集模块、网络税控器、税控发票终端等部分构成,通过局域网对商业管理信息系统进行以票控税的税控管理,其中如何从商业收款机中获取销售票据数据来作为网络税控系统税控处理的源数据,是准确控税的关键,因此,如图2所示,本发明实施例提供了一种网络税控系统采集销售票据数据的方法,主要用于网络税控系统从商业管理信息系统的商业收款机中采集税控处理用的源数据,该方法具体包括下述步骤:
步骤1,运行在商业收款机中设置的数据采集模块;
步骤2,数据采集模块截获商业收款机输出的销售票据数据;
步骤3,将截获的销售票据数据传送给与商业收款机连接的网络税控器作为税控处理用的源数据;
步骤4,数据输出是否结束,若结束,则结束本次采集;若未结束,则执行步骤2。
其中,数据采集模块采用截获商业收款机的屏幕显示的销售明细数据或打印输出队列中销售票据的打印数据。
其中,所述的采用截获商业收款机输出的打印输出队列中销售票据的打印数据具体包括下述步骤,见图3,
其中,步骤21,监控商业收款机的打印端口;
步骤22,当该商业收款机利用打印端口进行打印输出时;
步骤23,则获取输出的打印数据包。
本发明实施例的采集方法中,为保证安全的采集数据,数据采集模块要向所述的网络税控器进行签到及定时巡检处理,具体包括的如下步骤,如图4所示:
其中步骤31,数据采集模块向与该采集模块所在的商业收款机连接的网络税控器进行签到;
步骤32,判断签到是否成功;
步骤33,若签到成功,则该数据采集模块监控所在的商业收款机的输出销售票据数据的操作,并设定定时巡检的时间间隔;
步骤34,若商业收款机进行输出销售票据数据的操作,则数据采集模块截获输出的销售票据数据作为税控处理用的源数据传送给所述的网络税控器;
步骤35,以设定的时间间隔定时向网络税控器签到进行定时巡检。
其中步骤32中若未签到成功,则进行步骤31重新签到。
在图4的流程中还进一步包括:
步骤36,验证上述数据采集模块的签到、监控、定时巡检步骤是否全部执行成功,
步骤38,若未全部执行成功,则数据采集模块锁定所在的商业收款机。即不允许数据采集模块工作进行数据采集,则锁定商业收款机使其无法工作,保证了网络税控系统的税控处理的安全使用。
步骤37,若验证上述数据采集模块的签到、监控、定时巡检步骤为全部执行成功,则数据采集模块向所述的网络税控器进行签退。
下面结合具体的实施例对所采用的具体采集数据方法作进一步说明。
实施例一
如图5所示,当网络税控系统所处理的管理信息系统的商业收款机使用DOS操作系统时,从DOS操作系统的商业收款机中采集税控用的源数据时,该方法具体的采集步骤包括:
步骤A1,通过在商业收款机中设置的数据采集模块替换该收款机使用的DOS操作系统中调用的子功能中断;
步骤A2,监控商业收款机利用所述的子功能中断打开、关闭、读、写串口时,则利用替换的子功能中断截获打印输出的销售票据数据;
步骤A3,将截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器;
步骤A4,数据输出是否结束,若是则结束本次采集;若否,则执行步骤A2;
步骤A5,结束本次数据采集。
在DOS操作系统中,可以利用修改中断向量来实现对POS机终端上打印的销售票据数据的截获。具体方法如图6所示:替换DOS系统调用(INT 21H)的部分子功能中断;需要替换的子功能包括:打开文件中断、创建文件中断、关闭文件中断、读文件中断、写文件中断和时钟中断。当POS机终端上的应用程序利用这些中断来打开、关闭、读、写串口时,可以得到打印数据;而时钟中断则保证了定时巡检功能的实现。例如:当需要打印数据时,会调用写文件中断(处理过程中将需要写数据的缓冲区地址和长度提交给“写文件中断”);当数据采集模块替换原有(写文件)中断后,则可以获取通过写文件中断输出的打印数据。
如图7所示,将所述的数据采集模块加载到所述DOS操作系统的启动文件中,实现该数据采集模块在所述的DOS操作系统启动时自启动。为保证数据采集模块的安全性,数据采集模块启动过程中,要进行安全签到处理,具体流程如下:
其中,步骤A31,数据采集模块向网络税控器进行签到;
步骤A32,判断签到是否成功?
步骤A33,若步骤A32中签到成功,则数据采集模块配置监控串口参数,设置定时巡检时间间隔;
步骤A34,驻留创建、打开、读、写、关闭文件和时钟中断处理程序;
步骤A35,判断上述程序是否全部驻留成功?
步骤A36,若步骤A35中上述程序全部驻留成功,则数据采集模块向网络税控器进行签退。
若步骤A35中上述程序未全部驻留成功,则执行步骤A37,锁定计算机,保证了采集数据的安全,不会使数据采集模块补被旁路掉等。
下面实际采集数据过程中的各方法流程图,对该方法的具体实现进行详细说明。
上述的数据采集模块在DOS系统下的体系结构如图8的结构框图所示,该模块分TSR应用层和TSR通讯协议层两个主要部分。其中TSR通讯协议层主要负责实现和《串口通讯协议》中所规定相符合的通讯机制;而TSR应用层会替换DOS系统服务中相应的中断服务函数,并在其他应用程序调用系统中断时截获和串口的有关通讯数据,并将其转发至网络税控器。
如图9所示,其中,在TSR串口通讯协议层中自底向上又分为;链路层、单包运输层、单包通讯层和应用层四个层次。
链路层主要由两个函数组成:ReadChar(读字符)和WriteChar(写字符)。通过该层可以向指定的串口读或者写一个字符。ReadChar和WriteChar实现流程如图10、图11所示,
其中,ReadChar实现流程如下,见图10,
其中,步骤A91,首先判断对应串口的LSR中输入缓冲是否为空;
步骤A92,若否,则执行步骤A94读取输入缓冲中的字符;
步骤A91的结果若为是,则进一步判断等待时间是否大于1秒;
步骤A93,若是则准备返回超时错误,进而结束读字符处理。
其中,WriteChar的实现流程如图11所示,
其中,步骤A101,首先判断对应串口的LSR中输入缓冲是否为空;
步骤A102,若否,则执行步骤A104读取输入缓冲中的字符;
步骤A101的结果若为是,则进一步判断等待时间是否大于1秒;
步骤A103,若是则准备返回超时错误,进而结束读字符处理。
所述的单包运输层主要由两个函数组成:ReadAPackage(读包函数)和WriteAPackage(写包函数)。通过该层可以向指定的串口读或者写多个字符。ReadAPackage和WriteAPackage的实现流程如图12、图13所示,
其中,ReadAPackage实现流程如图11所示,WriteAPackage实现流程如图12所示,所述的两个函数可读写多个字符,其具体读写的内容和长度由具体使用的通信协议规定。
所述的单包通讯层的实现函数为:LaunchAColloquy。通过该层可以通过指定的串口和网络税控器发起一次会话;会话的流程即为:最大限度的保证通信协议中所规定的一问一答机制的正确执行。对于采集模块向网络税控器发送一个命令后,该层会对:超时;(2)网络税控器没有正确收到采集模块发送的包;(3)采集模块没有正确收到网络税控器发送的包;(4)网络税控器发送的WT命令,这几种情况进行自动处理。处理的方法包括通信协议中所规定的“三次重发机制”和“连续发送三次OX01包机制”。所以,对于使用该层的用户而言,它们需要关心命令发起后的最终通信结果是成功还是失败,而不用考虑具体的通信错误问题。
所述函数会告诉调用者会话执行的结果:通信成功或失败。这个执行的结果仅仅表示的是通讯层面上的执行结果,而不是具体的业务操作的执行结果。如果会话执行成功,则调用者可以使用全局的输出缓冲器来读取具体的业务操作执行过的数据结果;如果会话执行失败,则说明此时通信彻底中断。其具体实现流程如图13所示。
通过所述的应用层可以执行:签到、签退、定时巡检、传送监管数据、请求应答数据这五条命令。实现流程如图14、图15、图16、图17、图18所示,
其中,签到实现流程如图14所示,它实现了数据采集模块向网络税控器进行签到的处理过程。
其中,定时巡检实现流程如图15所示,它实现了数据采集模块向网络税控器定时巡检的处理过程。
其中,签退实现流程如图16所示,它实现了数据采集模块向网络税控器进行签退的处理过程。
其中,传送监控数据实现流程如图17所示,它实现了数据采集模块向网络税控器进行传送监控数据的处理过程。
其中,请求应答实现流程如图18所示,它实现了数据采集模块向网络税控器进行请求应答的处理过程。
TSR应用层主要由:打开、关闭、创建、读、写文件和时钟中断这五个子程序构成,其实现流程如图19、图20、图21、图22、图23所示,
其中,打开/创建文件中断实现流程如图19所示,它示出了打开/创建文件中断的具体处理流程。
其中,关闭文件中断实现流程如图19所示,它示出了关闭文件中断的具体处理流程。
其中,写文件中断实现流程如图19所示,它示出了写文件中断的具体处理流程。
其中,读文件中断实现流程如图19所示,它示出了读文件中断的具体处理流程。
其中,时钟中断实现流程如图19所示,它示出了时钟中断的具体处理流程。
综上所述的DOS系统的商业收款机中数据采集过程中的各种处理,实现将DOS系统输出的打印数据截获,并将该数据传送给网络税控器作为税控处理用的源数据,且采集数据用的数据采集模块在网络税控器中进行签到及定时巡检处理等操作,保证了采集的安全性,进一步保证了DOS系统中以票控税的准确性。
实施例二
如图24所示,本发明实施例提供的一种网络税控系统采集销售票据数据的方法,当所采集数据的商业管理信息系统的商业收款机使用Windows操作系统时,具体的采集过程包括下述步骤:
步骤B1,通过在商业收款机中设置的数据采集模块加载到该收款机使用的Windows操作系统的系统进程中;
步骤B2,监控该Windows操作系统的打印输出,利用加载到系统进程中的数据采集模块截获打印输出的销售票据数据;
步骤B3,将截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器;
步骤B4,数据输出是否结束,若是则结束本次采集;若否,则执行步骤B2;
步骤B5,结束本次数据采集。
具体实施时是在Windows系统的商业收款机工作时实现获取税控数据源。
Windows系统下数据采集模块具体实现通过设计原理、及将该数据采集模块通过DLL(动态链接库)注入Windows的系统进程的方法、截获Windows关于字符绘制的API函数实现方法以及Window串口通信实现四部分进行详细说明。
(1)设计原理
在Windows操作系统中,字符绘制的API函数是TextOut、ExtTextOut、DrawTextPrawTextExt,实现获取打印数据的关键是利用HOOK(钩子)技术,截获对这些函数的调用,得到程序发给它们的参数。可以将打印监控程序生成DLL,利用DLL注入系统进程监控打印数据,实现对POS机终端上销售打印数据的截获。
首先,需要在WINDOWS系统的注册表中加入启动程序,该程序启动DLL注入系统进程模块后会先向税控器签到,然后运行打印数据监控模块后退出。
具体实现流程如图25所示,其中,步骤B31,数据采集模块向网络税控器进行签到;
步骤B32,判断签到是否成功?
步骤B33,若步骤B32中签到成功,则数据采集模块配置监控串口参数,设置定时巡检时间间隔;
步骤B34,运行打印数据监控模块,对商业收款机的打印输出进行监控;
步骤B35,判断上述程序是否全部执行成功?
步骤B36,若步骤B35中上述程序全部执行成功,则数据采集模块向网络税控器进行签退。
若步骤B35中上述程序未全部执行成功,则执行步骤B37,锁定计算机,保证了采集数据的安全,不会使数据采集模块被旁路掉等。
(2)DLL注入系统进程
把上述的数据采集模块加载到系统进程dll中,比如Explorer.exe进程中。注入时可先调用OpenProcess来打开目标系统进程,然后用VirtualAllocEx在目标系统进程中分配一块儿内存,再用WriteProcessMemory向该内存中写入要注入的dll的路径和名称,然后利用CreateRemoteThread在目标系统进程中创建一个线程,这个线程执行LoadLibrary,并以刚才分配的内存中的dll的路径和名称为参数。这样就使dll载入了目标进程的地址空间。
(3)截获Windows关于字符绘制的API函数
在Windows操作系统中,字符绘制的API函数是TextOut、ExtTextOut、DrawTextDrawTextExt,当需要打印数据时,商业收款机所用的Windows系统会调用所述的API函数(其中一个或多个函数),当数据采集模块替换原有API函数后,则可以截获对这些函数的调用,主要是利用HOOK(钩子)技术,获取发给调用的API函数的参数,函数的参数包括要打印的数据,达到获取打印数据的目的。其具体实现流程如图26所示。
(4)Windows串口通信实现
在Windows系统下,可以使用两种方式实现串口通信,其一是调用的Windows的API函数,其二是使用ActiveX控件。使用API函数调用,可以清楚地掌握串口通信的机制,熟悉各种配置和自由灵活采用不同的流控进行串口通信。在税控系统中,数据采集模块与网络税控器间的串口通信采用Windows系统的API函数来实现,具体实现流程如图27所示。
Windows操作系统下数据采集模块与网络税控器的之间的串口通讯主要有以下五个模块完成,即串口初始化、开机签到、定时巡检、监控数据发送与接收、签退。其具体的实现流程如图28~图36所示,
其中,串口初始化实现流程如图28所示,它在Windows系统开机时实现串口的初始化工作,如创建串口名柄、参数配置和通讯超时设置等。
其中,开机签到的实现流程如图29所示,它实现了税控数据采集模块向网络税控器发送签到命令,通知网络税控器数据采集模块已开始工作,并获取模块的相关配置参数。
其中,定时巡检实现流程如图30所示,它实现了税控数据采集模块定时向网络税控器签到,以示采集模块工作是否正常,并获取模块的相关配置参数。
其中,传送监控数据-总流程如图31所示,它实现了税控数据采集模块将所监控到的数据发送网络税控器,并接收税控器返回的监控数据。
其中,传送监控数据-单包发送流程如图32所示,它实现了税控数据采集模块将所监控获得的数据以单包的形式发送到网络税控器时的处理流程。
其中,传送监控数据-单包接收流程如图33所示,它实现了税控数据采集模块将所监控的数据以单包的形式接收时的处理流程。
其中,传送监控数据-多包发送流程如图34所示,它实现了税控数据采集模块将所监控获得的数据以多包的形式发送到网络税控器时的处理流程。
其中,传送监控数据-多包接收/请求应答流程如图35所示,它实现了税控数据采集模块将所监控的数据以单包的形式接收/请求应答时的处理流程。
其中,签退实现流程如图36所示,数据采集模块在网络税控器中进行签退处理。
综上所述的Windows系统的商业收款机中数据采集过程中的各种处理,实现将Windows系统输出的打印数据截获,并将该数据传送给网络税控器作为税控处理用的源数据,且将采集数据用的数据采集模块加载到Windows系统的系统进程中,及进行数据采集模块在网络税控器中进行签到及定时巡检处理等操作,保证了采集过程的安全性,进一步保证了对使用Windows系统的商业收款机的以票控税的准确性。
实施例三
如图37所示,本发明实施例提供的一种网络税控系统采集销售票据数据的方法,当商业管理信息系统的商业收款机使用Linux操作系统时,针对该商业管理信息系统的网络税控系统进行税控用的源数据采集时,由于在Linux系统中,用户进程是通过设备文件同硬件打交道,其中对设备文件的操作方式是通过系统调用来实现的,即Linux系统设备驱动原理是用户进程在用户级通过系统调用访问核心级的设备驱动程序来实现其硬件功能,因此采集数据的具体步骤包括:
步骤C1,通过在商业收款机中设置的数据采集模块修改或替换该收款机使用的Linux操作系统中打印设备驱动程序;
步骤C2,当商业收款机的Linux系统打印输出时,利用修改或替换打印设备驱动程序来截获打印输出的销售票据数据;
步骤C3,并将截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器。
步骤C4,数据输出是否结束,若是则结束本次采集;若否,则执行步骤C2;
步骤C5,结束本次数据采集。
如上述,Linux系统中采集销售票据数据的方法具体是通过修改或替换打印设备驱动程序如xxx_open()、xxx_read()、xxx_write()、xxx_ioctl()、xxx_close()等函数来实现,因打印驱动程序不同,其函数名也不同,一般来说为了与系统函数如open()对应,则可以将XXX定义为容易识别的字母或文字,如:file_open()等,对于所截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器可采用如下两种方式:
第一种方式,如图38所示,首先在Linux系统核心级的打印设备驱动程序中截取打印输出的销售票据数据,并同时与网络税控器通信,获取税控数据,即在核心级获取税控处理用的源数据,实现对截取的销售票据数据进行控制,
第二种方式,如图39所示,首先在Linux核心级的打印设备驱动程序中截取打印输出的销售票据数据,然后再把所述的销售票据数据拷贝到用户级,由用户程序同网络税控器通信,获取税控数据,再将其税控数据拷贝到核心级的打印设备驱动程序来实现对票据的控制。
综上所述,本发明实施例中采用截获进行税控处理的管理信息系统中的商业收款机输出的销售票据数据作为税控处理用的源数据,实现了网络税控系统以票控税的准确性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (15)
1、一种网络税控系统采集销售票据数据的方法,其特征在于,包括:
通过在商业收款机中设置的数据采集模块向与该数据采集模块所在的商业收款机连接的网络税控器进行签到;
若签到成功,则该数据采集模块监控所在的商业收款机的输出销售票据数据的操作,并设定定时巡检的时间间隔;
若商业收款机进行输出销售票据数据的操作,则数据采集模块截获商业收款机输出的销售票据数据,作为税控处理用的源数据传送给与商业收款机连接的网络税控器;
并以设定的时间间隔定时向网络税控器签到进行定时巡检。
2、根据权利要求1所述的方法,其特征在于,所述的截获商业收款机输出的销售票据数据包括:数据采集模块采用截获商业收款机输出至屏幕进行显示的销售明细数据或打印输出队列中销售票据的打印数据。
3、根据权利要求2所述的方法,其特征在于,所述的截获商业收款机输出的打印输出队列中销售票据的打印数据包括:
监控商业收款机的打印端口,当该商业收款机利用打印端口进行打印输出时,则获取输出的打印数据包。
4、根据权利要求3所述的方法,其特征在于,所述方法进一步包括:
验证上述数据采集模块的签到、监控、定时巡检步骤是否全部执行成功,若未全部执行成功,则数据采集模块锁定所在的商业收款机。
5、根据权利要求3所述的方法,其特征在于,所述方法进一步包括:
验证上述数据采集模块的签到、监控、定时巡检步骤是否全部执行成功,若全部执行成功,则数据采集模块向所述的网络税控器进行签退。
6、一种网络税控系统采集销售票据数据的方法,其特征在于,包括:
通过在商业收款机中设置的数据采集模块替换该收款机使用的DOS操作系统中调用的子功能中断;
监控商业收款机利用所述的子功能中断打开、关闭、读、写串口时,则利用替换的子功能中断截获打印输出的销售票据数据;
将截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器。
7、根据权利要求6所述的方法,其特征在于,所述的替换的子功能中断包括:打开文件中断、创建文件中断、关闭文件中断、读文件中断、写文件中断和时钟中断。
8、根据权利要求6所述的方法,其特征在于,将所述的数据采集模块加载到所述DOS操作系统的启动文件中,实现该数据采集模块在所述的DOS操作系统启动时自启动。
9、根据权利要求6所述的方法,其特征在于,所述的方法还包括:
数据采集模块向与该模块所在的商业收款机连接的网络税控器签到;
若成功,则监控串口,并进行定时巡检;
驻留替换后的各子功能中断;
上述各子功能中断若全部驻留成功,则向网络税控器签退;
若未全部驻留成功则锁定数据采集模块所在的商业收款机。
10、一种网络税控系统采集销售票据数据的方法,其特征在于,包括:
通过将在商业收款机中设置的数据采集模块加载到该收款机使用的Windows操作系统的系统进程中;
监控该Windows操作系统的打印输出,利用加载到系统进程中的数据采集模块截获打印输出的销售票据数据;
将截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器;
所述的方法还包括:
数据采集模块向与该模块所在的商业收款机连接的网络税控器签到;
若成功,则监控串口,并进行定时巡检;
运行打印数据监控模块;
上述各步骤若全部执行成功,则向网络税控器签退;
若未全部执行成功则锁定数据采集模块所在的商业收款机。
11、根据权利要求10所述的方法,其特征在于,所述的截获打印数据包括:字符绘制的应用程序接口函数的调用,并利用Windows操作系统的钩子函数得到发给所述接口函数的参数来获取打印数据。
12、根据权利要求10所述的方法,其特征在于,所述的数据采集模块加入到该Windows操作系统的启动项,实现该数据采集模块在所述的Windows操作系统启动时自启动。
13、根据权利要求10所述的方法,其特征在于,将所述的数据采集模块加入到该Windows操作系统的启动项包括:在该Windows操作系统的注册表文件中加入启动项。
14、一种网络税控系统采集销售票据数据的方法,其特征在于,包括:
通过在商业收款机中设置的数据采集模块修改或替换该收款机使用的Linux操作系统中的打印设备驱动程序;
监控该Linux系统的打印输出,利用修改或替换的打印设备驱动程序截获打印的销售票据数据,并将截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器。
15、根据权利要求14所述的方法,其特征在于,将所述的截获的销售票据数据作为税控处理用的源数据传送给与商业收款机连接的网络税控器包括:直接传送给网络税控器或经用户程序传送给网络税控器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101216249A CN100568304C (zh) | 2007-09-11 | 2007-09-11 | 一种网络税控系统采集销售票据数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101216249A CN100568304C (zh) | 2007-09-11 | 2007-09-11 | 一种网络税控系统采集销售票据数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101159085A CN101159085A (zh) | 2008-04-09 |
CN100568304C true CN100568304C (zh) | 2009-12-09 |
Family
ID=39307163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101216249A Expired - Fee Related CN100568304C (zh) | 2007-09-11 | 2007-09-11 | 一种网络税控系统采集销售票据数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100568304C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916484A (zh) * | 2010-07-12 | 2010-12-15 | 北京德信易税网络技术有限公司 | 一种用于大型超市及商场的税源监测系统及监测方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901526A (zh) * | 2010-07-21 | 2010-12-01 | 浪潮齐鲁软件产业有限公司 | 一种应用于商业零售业税控发票的开具方法 |
CN102622267B (zh) * | 2012-03-14 | 2014-11-12 | 深圳市紫金支点技术股份有限公司 | 一种日志采集方法及系统 |
CN103632468B (zh) * | 2013-12-10 | 2016-06-22 | 税友软件集团股份有限公司 | 一种发票开具控制器及发票打印的方法 |
CN103679972B (zh) * | 2013-12-26 | 2016-06-15 | 北京德信易税网络技术有限公司 | 税控终端的监控方法、装置及系统 |
CN103778516B (zh) * | 2014-02-21 | 2017-11-17 | 北京购阿购技术服务有限公司 | 全方位安全定位交易信息集成方法 |
CN105069645B (zh) * | 2015-07-21 | 2018-08-21 | 深圳市淘淘谷信息技术有限公司 | 一种借助于商户购物清单打印机实现对商户管理的方法及购物清单打印机 |
CN108255823B (zh) * | 2016-12-28 | 2022-09-30 | 航天信息股份有限公司 | 读取发票信息的方法及装置 |
CN110532210B (zh) * | 2019-08-07 | 2021-10-22 | 北京数衍科技有限公司 | 安全获取操作系统任意输出设备数据的桥接方法 |
-
2007
- 2007-09-11 CN CNB2007101216249A patent/CN100568304C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916484A (zh) * | 2010-07-12 | 2010-12-15 | 北京德信易税网络技术有限公司 | 一种用于大型超市及商场的税源监测系统及监测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101159085A (zh) | 2008-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100568304C (zh) | 一种网络税控系统采集销售票据数据的方法 | |
US8006243B2 (en) | Method and apparatus for remote installation of network drivers and software | |
CN100375042C (zh) | 一种对计算机进行远程检测及控制的方法 | |
EP0632382A1 (en) | Method and apparatus for remote service of a host system | |
US20060248381A1 (en) | Remote copy processing method, program, and system | |
CN101000562A (zh) | 一种执行批处理作业的方法及装置 | |
CN104321748A (zh) | 用于捕捉轻量虚拟机管理器中的错误条件的方法、系统和装置 | |
JPH05501645A (ja) | 使い勝手のよいコンピュータインターフェイス及び高度の保全装置を有するコンピュータ及び電話装置 | |
CN101917460B (zh) | 基于虚拟机技术的远程维护系统 | |
CN102456251A (zh) | 一种控制自助终端的方法和系统 | |
US6865592B1 (en) | Automatic transaction system | |
CN105357273A (zh) | 异步通信模式下socket通信与进程管理通用平台及方法 | |
CN101441796A (zh) | 一种税控自助报数终端构建方法 | |
CN115633025A (zh) | 基于USBServer的智能一体化设备及应用方法 | |
US6067637A (en) | Data reduction technique for rule based systems | |
CN100466558C (zh) | 实现对pos系统进行税控数据监控的方法 | |
WO2000034885A1 (en) | A method and apparatus for remote installation of network drivers and software | |
EP1410168B1 (en) | An efficient timer management system | |
CN101136756B (zh) | 网络远程控制主机上电自检的方法、系统和bmc芯片 | |
CN111951130A (zh) | 一种电子设备的数据取证分析方法及系统 | |
CN102023887B (zh) | 一种计算机系统的电源管理方法及计算机系统 | |
US20200184068A1 (en) | Device such as a connected object provided with means for checking the execution of a program executed by the device | |
CN114386044B (zh) | 一种基于设备驱动派遣函数hook的安全测试方法 | |
CN115604315A (zh) | 服务器的远程处理装置及方法、电子设备 | |
CN101131641A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091209 Termination date: 20140911 |
|
EXPY | Termination of patent right or utility model |