CN104700516B - 一种网络化共享税控收款机的开票方法 - Google Patents
一种网络化共享税控收款机的开票方法 Download PDFInfo
- Publication number
- CN104700516B CN104700516B CN201310652610.5A CN201310652610A CN104700516B CN 104700516 B CN104700516 B CN 104700516B CN 201310652610 A CN201310652610 A CN 201310652610A CN 104700516 B CN104700516 B CN 104700516B
- Authority
- CN
- China
- Prior art keywords
- data
- invoice
- cash register
- tax
- socket
- 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.)
- Active
Links
Landscapes
- Cash Registers Or Receiving Machines (AREA)
Abstract
本发明公开一种网络化共享税控收款机的开票方法,其包括如下步骤:将税控收款机连接上网络并开启网络socket服务;接收多个连接端的开票业务请求,开启多个线程处理数据;将接收到的开票数据进行排队和优先级管理存入设计的数据缓存结构中。本发明减少多点布置开票机具,简化月底的抄报汇总过程。
Description
技术领域
本发明涉及税控技术领域,特别涉及一种网络化共享税控收款机的开票方法。
背景技术
随着税控信息化的发展,越来对多的场所需要加入税控收款机这类专业税务设备来完成企业销售额和税务信息的统计任务。在一些大型商场,常会有多楼层多商品区,若为了开具发票在每个区都放置一台开票机是比较耗费成本的。而且多点布置开票机也不利于最后的税务抄报工作,操作者需要将自己机器上的数据进行汇总导出,然后到总机上进行重汇总。网络化和共享打印发票是解决这种应用难题的有效方式。
在业务量巨大的加油站上,开发票的效率成为最重要的因素,当加油机挂枪加油完毕后,这笔加油流水会马上传到加油站的管控系统。当有很多车来加油时,就会要求出发票速度快速并正确。将税控收款机开启网络服务后,各个加油机挂枪后的流水就会直接通过网络连接传送到开票机上。并以一定的队列管理各笔流水进行开票处理。同时开具发票的优选机制也是需要考虑到的一个重要问题。即缓存中排在后面一个加油的客户想要优先索取发票。
综上所述,为了减少多点布置开票机具,简化月底的抄报汇总过程,便与进行集中式的数据管理。开发税控收款机的网络化、共享开票、集中税务数据管理非常有必要。
因此,如何将上述现有技术加以解决,而研究一种网络化共享税控收款机的开票方法,即为本领域技术人员的研究方向所在。
发明内容
本发明的主要目的是提供一种网络化共享税控收款机的开票方法,通过将税控收款机连接上网络并作为server服务器端,接收多个连接端的开票业务请求,开启多个线程处理数据,并将接收到的开票数据进行排队和优先级管理存入设计的缓存数据结构中,最后实现自动开具或手动调整优选开具发票的效果。
为了达到上述目的,本发明提供一种网络化共享税控收款机的开票方法,其包括如下步骤:
将税控收款机连接上网络并开启网络socket服务;
接收多个连接端的开票业务请求,开启多个线程处理数据;
将接收到的开票数据进行排队和优先级管理存入设计的数据缓存结构中。
其中,在将税控收款机连接上网络并开启网络socket服务步骤中,网络socket服务利用了linux的socket套接字编程方法。
其中,将税控收款机连接上网络并开启网络socket服务步骤包括如下子步骤:
利用socket()方法创建一个SOCK_STREAM形式的socket文件标识符server_sockfd,并设置其属性为非阻塞;
利用bind()方法将其绑定在收款机的IP和某一个端口上;
采用listen()方法开启在server_sockfd服务套接字上的循环监听任务,等待接收连接。
其中,在将接收到的开票数据进行排队和优先级管理存入设计的数据缓存结构中的步骤中,数据缓存排队优选机制采用双线程运行,先进先出的数据结构。
其中,该数据结构包含读写指针,边界指针,计数器,且支持多线程读写操作。
其中,将接收到的开票数据进行排队和优先级管理存入设计的数据缓存结构中包括如下子步骤:
初始化一段可存储100条发票数据的缓存区,各指针指向缓存区起始地址;
线程1负责存储数据,每接收一条新发票数据,则读取写指针,将发票数据写入写指针指向的存储区,写指针指向下一个待写入存储区,若缓存已满,则写指针重新指向缓存起始地址,未来发票数据将依次覆盖最早存储的数据;
线程2负责屏幕显示和打印发票数据,每当有新数据存入缓存,该线程即从读指针处读取最新的10条数据,放入显示的缓冲区,并对比标记已开过发票的数据;
用户根据需要,选择屏幕显示的10条数据里任一条,即进入发票开具界面;
若税控收款机掉电,则缓存区数据自动存入掉电保护文件内,等下次启机时,再恢复存入缓存区。
与现有技术相比,本发明的有益效果在于:本发明通过将税控收款机作为网络TCP/IP的server服务器,可以同时接收多个来自其他操作端的联动开票信息数据,在收款机内接收到的数据以缓冲FIFO的方式进行排队开票处理。采用这种方式可以解决酒店、商超、加油站等场所的联网开票要求,省去了人力成本,提高工作效率。
附图说明
图1为本发明一个实施例的一种网络化共享税控收款机的开票方法流程图;
图2为本发明一个实施例的一种网络化共享税控收款机的开票方法的控收款机开启网络socket服务流程图;
图3为本发明一个实施例的一种网络化共享税控收款机的开票方法的接收多个终端请求并处理的流程图;
图4为本发明一个实施例的一种网络化共享税控收款机的开票方法的缓存区示意图。
具体实施方式
以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。
如图1所示,为本发明实施例所提供的一种网络化共享税控收款机的开票方法流程图,本发明的一种网络化共享税控收款机的开票方法包括以下步骤:
步骤S1:将税控收款机连接上网络并开启网络socket服务,开启税控收款机网络socket服务利用了linux的socket套接字编程方法,其流程参见图2所示,其包括如下子步骤:
步骤S11:利用socket()方法创建一个SOCK_STREAM形式的socket文件标识符server_sockfd,并设置其属性为非阻塞;
步骤S12:利用bind()方法将其绑定在收款机的IP和某一个端口上;
步骤S13:采用listen()方法开启在server_sockfd服务套接字上的循环监听任务,等待接收连接。
步骤S2:接收多个连接端的开票业务请求,开启多个线程处理数据,本步骤是在联动服务开启后,税控收款机系统就进入了循环调用accept()方法等待链接请求的过程中。有一个外部链接产生时,系统都会为新的连接分配一个连接套接字标识符client_sockfd,并同时为该标识符启动一个线程用来接收该条链路发来的协议数据。在线程里对协议数据进行解析并执行完相应的动作以后,将发票数据放入数据缓存结构中排队等候处理,然后结束该次线程。系统继续等待连接请求。该过程的示意如图3所示:
步骤S3:将接收到的开票数据进行排队和优先级管理存入设计的数据缓存结构中,数据缓存排队优选机制采用双线程运行,一个特殊设计的先进先出的数据结构,来缓存各开票终端随时发送的开票数据,并始终显示最新的10条数据,由用户选择优先打印某条发票数据。已开票数据仍可显示,但不能再次开票。
该数据结构包含读写指针,边界指针,计数器,且支持多线程读写操作。存储区大小,数据类型,显示条数都是可根据实际情况调整的参数。
步骤S11:初始化一段可存储100条发票数据的缓存区,各指针指向缓存区起始地址;
步骤S12:线程1负责存储数据,每接收一条新发票数据,则读取写指针,将发票数据写入写指针指向的存储区,写指针指向下一个待写入存储区,若缓存已满,则写指针重新指向缓存起始地址。未来发票数据将依次覆盖最早存储的数据;
步骤S13:线程2负责屏幕显示和打印发票数据。每当有新数据存入缓存,该线程即从读指针处读取最新的10条数据,放入显示的缓冲区,并对比标记已开过发票的数据;
步骤S14:用户根据需要,选择屏幕显示的10条数据里任一条,即进入发票开具界面;
步骤S15:若款机掉电,则缓存区数据自动存入掉电保护文件内,等下次启机时,再恢复存入缓存区。缓存区如图4所示。
综上所述,本发明设计了一种使用税控收款机作为网络服务中心,实现共享开票、税控管理的方法。通过将税控收款机作为网络TCP/IP的server服务器,可以同时接收多个来自其他操作端的联动开票信息数据,在收款机内接收到的数据以缓冲FIFO的方式进行排队开票处理。采用这种方式可以解决酒店、商超、加油站等场所的联网开票要求,省去了人力成本,提高工作效率。
以上说明对本发明而言只是说明性的,而非限制性的,本领域普通技术人员理解,在不脱离权利要求所限定的精神和范围的情况下,可作出许多修改、变化或等效,但都将落入本发明的保护范围之内。
Claims (4)
1.一种网络化共享税控收款机的开票方法,其特征在于,其包括如下步骤:
将税控收款机连接上网络并开启网络socket服务;
接收多个连接端的开票业务请求,开启多个线程处理数据;
将接收到的开票数据进行排队和优先级管理存入设计的数据缓存结构中,数据缓存排队优选机制采用双线程运行,先进先出的数据结构,该步骤包括如下子步骤:
初始化一段可存储100条发票数据的缓存区,各指针指向缓存区起始地址;
线程1负责存储数据,每接收一条新发票数据,则读取写指针,将发票数据写入写指针指向的存储区,写指针指向下一个待写入存储区,若缓存已满,则写指针重新指向缓存起始地址,未来发票数据将依次覆盖最早存储的数据;
线程2负责屏幕显示和打印发票数据,每当有新数据存入缓存,该线程即从读指针处读取最新的10条数据,放入显示的缓冲区,并对比标记已开过发票的数据;
用户根据需要,选择屏幕显示的10条数据里任一条,即进入发票开具界面;
若税控收款机掉电,则缓存区数据自动存入掉电保护文件内,等下次启机时,再恢复存入缓存区。
2.根据权利要求1所述的一种网络化共享税控收款机的开票方法,其特征在于,在将税控收款机连接上网络并开启网络socket服务步骤中,网络socket服务利用了linux的socket套接字编程方法。
3.根据权利要求1所述的一种网络化共享税控收款机的开票方法,其特征在于,将税控收款机连接上网络并开启网络socket服务步骤包括如下子步骤:
利用socket()方法创建一个SOCK_STREAM形式的socket文件标识符server_sockfd,并设置其属性为非阻塞;
利用bind()方法将其绑定在收款机的IP和某一个端口上;
采用listen()方法开启在server_sockfd服务套接字上的循环监听任务,等待接收连接。
4.根据权利要求1所述的一种网络化共享税控收款机的开票方法,其特征在于,该数据结构包含读写指针,边界指针,计数器,且支持多线程读写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310652610.5A CN104700516B (zh) | 2013-12-05 | 2013-12-05 | 一种网络化共享税控收款机的开票方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310652610.5A CN104700516B (zh) | 2013-12-05 | 2013-12-05 | 一种网络化共享税控收款机的开票方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104700516A CN104700516A (zh) | 2015-06-10 |
CN104700516B true CN104700516B (zh) | 2017-05-10 |
Family
ID=53347595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310652610.5A Active CN104700516B (zh) | 2013-12-05 | 2013-12-05 | 一种网络化共享税控收款机的开票方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104700516B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106981146B (zh) * | 2016-01-15 | 2020-06-12 | 航天信息股份有限公司 | 一种基于多金税盘的开票方法 |
CN106056804A (zh) * | 2016-05-25 | 2016-10-26 | 深圳市呤云科技有限公司 | 自助发票打印方法、装置和系统 |
CN108259525A (zh) * | 2016-12-28 | 2018-07-06 | 航天信息股份有限公司 | 一种集群开票装置 |
CN111031030A (zh) * | 2019-12-10 | 2020-04-17 | 深圳前海环融联易信息科技服务有限公司 | 缓存处理方法、装置、计算机设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051405A (zh) * | 2007-03-14 | 2007-10-10 | 浪潮齐鲁软件产业有限公司 | 税控机对加油机自动数据采集和开票的方法 |
US7539635B1 (en) * | 2003-12-29 | 2009-05-26 | H&R Block Tax Services, Llc. | System and method for generating a personalized tax advice document |
CN101465027A (zh) * | 2009-01-05 | 2009-06-24 | 浪潮齐鲁软件产业有限公司 | 一种加油站无线集中开票管理方法 |
CN101556684A (zh) * | 2009-05-18 | 2009-10-14 | 浪潮齐鲁软件产业有限公司 | 一种税控机对电信营业厅业务系统的数据采集和开票方法 |
CN101901526A (zh) * | 2010-07-21 | 2010-12-01 | 浪潮齐鲁软件产业有限公司 | 一种应用于商业零售业税控发票的开具方法 |
CN102122416A (zh) * | 2008-07-17 | 2011-07-13 | 航天信息股份有限公司 | 多客户端集中式发票打印处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7523320B2 (en) * | 2003-04-22 | 2009-04-21 | Seiko Epson Corporation | Fiscal data recorder with protection circuit and tamper-proof seal |
-
2013
- 2013-12-05 CN CN201310652610.5A patent/CN104700516B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7539635B1 (en) * | 2003-12-29 | 2009-05-26 | H&R Block Tax Services, Llc. | System and method for generating a personalized tax advice document |
CN101051405A (zh) * | 2007-03-14 | 2007-10-10 | 浪潮齐鲁软件产业有限公司 | 税控机对加油机自动数据采集和开票的方法 |
CN102122416A (zh) * | 2008-07-17 | 2011-07-13 | 航天信息股份有限公司 | 多客户端集中式发票打印处理方法 |
CN101465027A (zh) * | 2009-01-05 | 2009-06-24 | 浪潮齐鲁软件产业有限公司 | 一种加油站无线集中开票管理方法 |
CN101556684A (zh) * | 2009-05-18 | 2009-10-14 | 浪潮齐鲁软件产业有限公司 | 一种税控机对电信营业厅业务系统的数据采集和开票方法 |
CN101901526A (zh) * | 2010-07-21 | 2010-12-01 | 浪潮齐鲁软件产业有限公司 | 一种应用于商业零售业税控发票的开具方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104700516A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104700516B (zh) | 一种网络化共享税控收款机的开票方法 | |
CN108737325A (zh) | 一种多租户数据隔离方法、装置及系统 | |
CN107563887B (zh) | 基于as400银行核心账务系统零停机日切方法 | |
CN107316134A (zh) | 一种风险控制方法、装置、服务器及存储介质 | |
CN107833124A (zh) | 基于财务总账数据的财务分析系统及实现方法 | |
EP2449520A1 (en) | System and method for adaptive selection of bank card for payment | |
CN109725899A (zh) | 数据流式处理方法及装置 | |
CN107798031A (zh) | 保单信息查询方法和装置 | |
CN108337652A (zh) | 一种检测流量欺诈的方法及装置 | |
CN101908179A (zh) | 跨行资金账户归集管理方法 | |
CN107493329A (zh) | 一种分布式内存文件系统的远程文件访问方法 | |
CN107689009A (zh) | 年金数据处理方法、装置、服务器和存储介质 | |
CN107835268A (zh) | 一种域名数据采集方法、系统和装置 | |
CN104899740B (zh) | 一种本地化的支票信息处理方法及支票信息处理系统 | |
CN101853476B (zh) | 一种金融业客户身份自动联网核查系统及方法 | |
CN107402874A (zh) | 一种存储设备性能统计系统和方法 | |
CN103581119B (zh) | 一种生产过程数据高速显示系统及方法 | |
CN102158353B (zh) | 一种终端远程维护信息的第三方存录系统及方法 | |
CN102902593A (zh) | 基于缓存机制的协议分发处理系统 | |
CN110365749A (zh) | 消息推送方法、消息推送系统和一种存储介质 | |
CN109741174A (zh) | 机构间清结算方法、装置、设备及计算机可读存储介质 | |
CN114742634A (zh) | 一种同业存单数据处理方法、装置及电子设备 | |
CN109343799A (zh) | 一种持续超高速的数据卸载系统 | |
CN108038783A (zh) | 头寸管理方法、系统和计算机可读存储介质 | |
CN107203933A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |