CN109949111A - 电子票据标识分配方法、电子票据生成方法、装置及系统 - Google Patents
电子票据标识分配方法、电子票据生成方法、装置及系统 Download PDFInfo
- Publication number
- CN109949111A CN109949111A CN201910168483.9A CN201910168483A CN109949111A CN 109949111 A CN109949111 A CN 109949111A CN 201910168483 A CN201910168483 A CN 201910168483A CN 109949111 A CN109949111 A CN 109949111A
- Authority
- CN
- China
- Prior art keywords
- electronic bill
- mark
- bill
- electronic
- request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000012545 processing Methods 0.000 claims abstract description 223
- 238000009826 distribution Methods 0.000 claims abstract description 145
- 230000004044 response Effects 0.000 claims abstract description 39
- 230000001360 synchronised effect Effects 0.000 claims abstract description 21
- 230000000977 initiatory effect Effects 0.000 claims description 36
- 230000005611 electricity Effects 0.000 claims description 11
- 238000005538 encapsulation Methods 0.000 claims description 5
- 239000004744 fabric Substances 0.000 claims description 4
- 230000007474 system interaction Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 20
- 230000002159 abnormal effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
- G06K17/0022—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisions for transferring data to distant stations, e.g. from a sensing device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/042—Payment circuits characterized in that the payment protocol involves at least one cheque
- G06Q20/0425—Payment circuits characterized in that the payment protocol involves at least one cheque the cheque being electronic only
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Human Resources & Organizations (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种电子票据标识分配方法、电子票据生成方法、装置及系统,所述方法应用于分布式系统,所述分布式系统包括处理节点,所述方法由所述分布式系统中的一个处理节点执行,所述方法包括:所述处理节点接收业务节点发起的电子票据标识申领请求;响应于所述电子票据标识申领请求,根据电子票据发行数量生成电子票据标识集合;在所述分布式系统中,对所述电子票据标识集合中的电子票据标识进行同步;当所述电子票据标识集合中的电子票据标识在所述分布式系统中同步后,将所述电子票据标识集合中的电子票据标识分配至所述业务节点。采用本发明解决了现有技术中基于分布式系统分配的电子票据标识的通用性较差的问题。
Description
技术领域
本发明涉及分布式系统技术领域,尤其涉及一种电子票据标识分配方法、电子票据生成方法、装置及系统。
背景技术
随着互联网技术的发展,越来越多的商户倾向基于互联网申领电子票据标识,如果以单机串行的方式处理广大商户的电子票据标识申领请求,将难以满足大量并发的电子票据标识申领请求,进而影响电子票据标识的分配效率,为此,基于分布式系统分配电子票据标识的方式应运而生,以此满足大量并发的电子票据标识申领请求。
该分布式系统包括多个用于分配电子票据标识的处理节点,为了保证各个处理节点之间的数据一致性,各个处理节点分配的电子票据标识具有唯一性,以通过该电子票据标识唯一地识别电子票据。
然而,无论是随机数还是全局唯一标识符(GUID,globally unique identifier)作为电子票据标识唯一地识别电子票据,均无法满足特定的票据发行规则,例如,无法表示电子票据的发行批次、发行地、发行年度等等。
由上可知,基于分布式系统分配的电子票据标识仍存在通用性较差的局限性。
发明内容
为了解决相关技术中存在的基于分布式系统分配的电子票据标识的通用性较差的问题,本发明各个实施例提供一种电子票据标识分配方法、电子票据生成方法、装置、系统、计算机设备及存储介质。
其中,本发明所采用的技术方案为:
在本发明实施例公开的一方面,一种电子票据标识分配方法,应用于分布式系统,所述分布式系统包括处理节点,所述方法由所述分布式系统中的一个处理节点执行,所述方法包括:所述处理节点接收业务节点发起的电子票据标识申领请求;响应于所述电子票据标识申领请求,根据电子票据发行数量生成电子票据标识集合,所述电子票据标识集合包括至少一个电子票据标识,每一个电子票据标识包括票据代码和票据号码;在所述分布式系统中,对所述电子票据标识集合中的电子票据标识进行同步;当所述电子票据标识集合中的电子票据标识在所述分布式系统中同步后,将所述电子票据标识集合中的电子票据标识分配至所述业务节点。
在本发明实施例公开的一方面,一种电子票据生成方法,应用于业务节点,所述业务节点与分布式系统交互,所述分布式系统包括处理节点,所述方法包括:所述业务节点接收请求发起端发起的电子票据开具请求,并从所述电子票据开具请求中获取开票信息,所述开票信息包括接收方标识和资源转移份额;从所述处理节点分配的电子票据标识集合中获取电子票据标识,所述电子票据标识集合是所述处理节点根据电子发票发行数量生成且在所述分布式系统中同步的,每一个电子票据标识包括票据代码和票据号码;根据所述开票信息和获取到的电子票据标识生成电子票据;响应于所述电子票据开具请求,将所述电子票据返回至所述请求发起端。
在本发明实施例公开的一方面,一种电子票据标识分配装置,所述装置部署于分布式系统中的处理节点,所述装置包括:申领请求接收模块,用于所述处理节点接收业务节点发起的电子票据标识申领请求;电子票据标识生成模块,用于响应于所述电子票据标识申领请求,根据电子票据发行数量生成电子票据标识集合,所述电子票据标识集合包括至少一个电子票据标识,每一个电子票据标识包括票据代码和票据号码;电子票据标识同步模块,用于在所述分布式系统中,对所述电子票据标识集合中的电子票据标识进行同步;电子票据标识分配模块,用于当所述电子票据标识集合中的电子票据标识在所述分布式系统中同步后,将所述电子票据标识集合中的电子票据标识分配至所述业务节点。
在本发明实施例公开的一方面,一种电子票据生成装置,所述装置部署于业务节点,所述业务节点与分布式系统交互,所述分布式系统包括处理节点,所述装置包括:开具请求接收模块,用于所述业务节点接收请求发起端发起的电子票据开具请求,并从所述电子票据开具请求中获取开票信息,所述开票信息包括接收方标识和资源转移份额;从所述处理节点分配的电子票据标识集合中获取电子票据标识,所述电子票据标识集合是所述处理节点根据电子发票发行数量生成且在所述分布式系统中同步的,每一个电子票据标识包括票据代码和票据号码;电子票据生成模块,用于根据所述开票信息和获取到的电子票据标识生成电子票据;电子票据发送模块,用于响应于所述电子票据开具请求,将所述电子票据返回至所述请求发起端。
在本发明实施例公开的一方面,一种电子票据生成系统,所述系统包括请求发起端、业务节点、分布式系统中的处理节点,其中,所述业务节点,向所述处理节点发起电子票据标识申领请求;所述处理节点,响应于所述电子票据标识申领请求,根据电子发票发行数量生成电子票据标识集合且在所述分布式系统中同步,以将所述电子票据标识集合中的电子票据标识分配至所述业务节点,其中,每一个电子票据标识包括票据代码和票据号码;所述请求发起端,向所述业务节点发起电子票据开具请求,所述电子票据开具请求中携带了开票信息,所述开票信息包括接收方标识和资源转移份额;所述业务节点,响应于所述电子票据开具请求,从所述电子票据标识集合中获取电子票据标识,以根据所述开票信息和获取到的电子票据标识生成电子票据,并返回至所述请求发起端。
在本发明实施例公开的一方面,一种计算机设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的电子票据标识分配方法或者电子票据生成方法。
在本发明实施例公开的一方面,一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的电子票据标识分配方法或者电子票据生成方法。
在上述技术方案中,分布式系统中的一个处理节点接收业务节点发起的电子票据标识申领请求,通过响应电子票据标识申领请求生成电子票据发行数量相应的电子票据标识集合,进而在分布式系统中对电子票据标识集合中的电子票据标识进行同步,当电子票据标识集合中的电子票据标识在分布式系统中同步后,将电子票据标识集合中的电子票据标识分配至业务节点,由此,基于至少一个包括票据代码和票据号码的电子票据标识,组成的电子票据标识集合,不仅通过在分布式系统中的所有处理节点上进行同步,保证了各个处理节点之间的数据一致性,而且通过票据代码来满足特定的票据发行规则,能够有效地提高基于分布式系统分配的电子票据标识的通用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据本发明所涉及的实施环境的示意图。
图2是根据一示例性实施例示出的一种服务器的硬件结构框图。
图3是根据一示例性实施例示出的一种电子票据标识分配方法的流程图。
图4是图3对应实施例中步骤330在一个实施例的流程图。
图5是图4对应实施例中步骤331在一个实施例的流程图。
图6是图4对应实施例中步骤333在一个实施例的流程图。
图7是图6对应实施例中步骤3331在一个实施例的流程图。
图8是图6对应实施例中步骤3333在一个实施例的流程图。
图9是图6对应实施例中步骤3331在另一个实施例的流程图。
图10是图6对应实施例中步骤3333在另一个实施例的流程图。
图11是图3对应实施例中步骤350在一个实施例的流程图。
图12是根据一示例性实施例示出的另一种电子票据标识分配方法的流程图。
图13是图12对应实施例中步骤610在一个实施例的流程图。
图14是根据一示例性实施例示出的一种电子票据生成方法的流程图。
图15是一应用场景中电子发票报销流程的时序图。
图16是一应用场景中分布式系统中处理节点跟随商户地域分布进行部署的示意图。
图17是根据一示例性实施例示出的一种电子票据标识分配装置的框图。
图18是根据一示例性实施例示出的一种电子票据生成装置的框图。
图19是根据一示例性实施例示出的一种电子票据生成系统的框图。
图20是根据一示例性实施例示出的一种计算机设备的框图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
如前所述,基于分布式系统分配的电子票据标识具有唯一性,以通过该电子票据标识唯一地识别电子票据,进而保证分布式系统中各个处理节点之间的数据一致性。
目前,在基于分布式系统分配电子票据标识之前,可以通过随机生成的方式生成不可重复的随机数,还可以通过标识符创建的方式创建不存在冲突且通用唯一的标识符,即全局唯一标识符,进而将随机数或者全局唯一标识符作为电子票据的电子票据标识,以此唯一地识别该电子票据。
然而,无论是通过随机数还是通过全局唯一标识符唯一地识别电子票据,尚不能满足特定的票据发行规则,例如,无法表示电子票据的发行批次、发行地、发行年度等等。
由此,基于分布式系统分配的电子票据标识仍存在通用性较差的缺陷。
为此,本发明特提出了一种电子票据标识分配方法,能够有效地提高基于分布式系统分配的电子票据标识的通用性,相应地,电子票据标识分配装置部署于具有冯诺依曼体系结构的计算机设备,例如,计算机设备为服务器,以实现电子票据标识分配方法。
图1为一种电子票据标识分配方法所涉及的实施环境的示意图。
如图1(a)所示,该实施环境包括请求发起端110、分布式系统中的处理节点130和业务节点150。
其中,请求发起端110用于向业务节点150发起电子票据开具请求。该请求发起端110是可供客户端运行的用户终端,例如,用户终端包括台式电脑、笔记本电脑、平板电脑、智能手机、掌上电脑或者个人数字助理等等。也就是说,用户借助请求发起端110中运行的客户端向业务节点150发起电子票据开具请求,以使业务节点150响应该电子票据开具请求生成电子票据并返回至请求发起端110。例如,在一应用场景中,请求发起端110可以是淘宝买家携带的智能手机,而业务节点150则可以是为淘宝卖家配备的台式电脑。
处理节点130是提供后台服务的计算机设备,例如,计算机设备为服务器,后台服务包括电子票据标识分配服务等等,相应地,分布式系统可以是由多台服务器构成的服务器集群,还可以是由多台服务器构成的云计算中心,在此并未加以限定。
业务节点150也是提供后台服务的计算机设备,例如,计算机设备为服务器,后台服务包括电子票据开具服务等等。此时,多个业务节点150能够构成另一个服务器集群或者另一个云计算中心,也即是另一个分布式系统,以此处理大量并发的电子票据开具请求。
在本实施环境中,如图1(a)所示,分布式系统中,为每一个业务节点150部署一个处理节点130,以使为该业务节点150部署的一个处理节点130,能够处理该业务节点150向分布式系统发起的电子票据标识申领请求,进而将电子票据标识分配至该业务节点150。
在此,业务节点150与处理节点130之间通过无线或者有线方式预先建立网络连接,并通过该网络连接实现业务节点150与处理节点130之间的数据传输。例如,传输的数据可以是业务节点150向分布式系统发起的电子票据标识申领请求,或者,处理节点130向业务节点150分配的电子票据标识。
通过业务节点150与处理节点130的交互,业务节点150将向处理节点130发起电子票据标识申领请求,请求处理节点130提供电子票据标识分配服务。
对于处理节点130而言,响应于业务节点150发起的电子票据标识申领请求,为该业务节点150分配电子票据标识。
进一步地,在另一实施环境中,如图1(b)所示,分布式系统中,为每一个业务节点150、151、153均部署多个处理节点,例如,多个处理节点130是为业务节点150部署的(图1(b)中未示出为业务节点151、153部署的处理节点),以便于为该业务节点150部署的多个处理节点130,均能够处理该业务节点150向分布式系统发起的电子票据标识申领请求。
此时,该实施环境还包括代理节点170,负责在多个处理节点130中选取一个用于处理业务节点150发起的电子票据标识申领请求的处理节点130。
在此,代理节点170将分别与业务节点150、处理节点130之间通过无线或者有线方式预先建立网络连接,并通过该网络连接实现代理节点170与业务节点150、处理节点130之间的数据传输。例如,传输的数据包括业务节点150向分布式系统发起的电子票据标识申领请求、处理节点130向代理节点170上报的运行数据等等。
当代理节点170接收到业务节点150发起的电子票据标识申领请求,随着代理节点170与处理节点130的交互,便可通过处理节点130向代理节点170上报的运行数据,选取一个处理节点130处理该业务节点150发起的电子票据标识申领请求,进而向该业务节点150分配电子票据标识。
当然,根据运营需要,业务节点150、代理节点170和处理节点130可以部署在同一个分布式系统中,进而通过该同一个分布式系统完成关于电子票据的全套服务,包括但不限于:电子票据标识分配服务、电子票据开具服务等。
图2是根据一示例性实施例示出的一种服务器的硬件结构框图。该种服务器适用于图1所示出实施环境的处理节点130和业务节点150。
需要说明的是,该种服务器只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该种服务器也不能解释为需要依赖于或者必须具有图2中示出的示例性的服务器200中的一个或者多个组件。
服务器200的硬件结构可因配置或者性能的不同而产生较大的差异,如图2所示,服务器200包括:电源210、接口230、至少一存储器250、以及至少一中央处理器(CPU,Central Processing Units)270。
具体地,电源210用于为服务器200上的各个硬件设备提供工作电压。
接口230包括至少一有线或无线网络接口,用于与外部设备交互。例如,在图1所示出实施环境中,进行请求发起端110与业务节点150之间的交互,或者,进行业务节点150与处理节点130之间的交互,又或者,进行处理节点130与代理节点170之间的交互。
当然,在其余本发明适配的示例中,接口230还可以进一步包括至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,如图2所示,在此并非对此构成具体限定。
存储器250,也即是存储介质,作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。
其中,操作系统251用于管理与控制服务器200上的各个硬件设备以及应用程序253,以实现中央处理器270对存储器250中海量数据255的运算与处理,其可以是WindowsServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM等。
应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图2中未示出),每个模块都可以分别包含有对服务器200的一系列计算机可读指令。例如,电子票据标识分配装置、电子票据生成装置均可视为部署于处理节点的应用程序253。
数据255可以是存储于磁盘中的照片、图片等,还可以是电子票据标识、开票信息等,存储于存储器250中。
中央处理器270可以包括一个或多个以上的处理器,并设置为通过至少一通信总线与存储器250通信,以读取存储器250中存储的计算机可读指令,进而实现对存储器250中海量数据255的运算与处理。例如,通过中央处理器270读取存储器250中存储的一系列计算机可读指令的形式来完成电子票据标识分配方法或者电子票据生成方法。
此外,通过硬件电路或者硬件电路结合软件也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。
请参阅图3,在一示例性实施例中,一种电子票据标识分配方法适用于图1所示出实施环境的分布式系统,该分布式系统包括处理节点,该处理节点的结构可以如图2所示。
该种电子票据标识分配方法可以由分布式系统中的一个处理节点执行,可以包括以下步骤:
步骤310,所述处理节点接收业务节点发起的电子票据标识申领请求。
其中,电子票据标识申领请求是商户借助业务节点请求申领电子票据标识而向分布式系统发起的。
对于业务节点而言,将为商户提供一个申领请求发起入口,当商户希望分布式系统中的处理节点执行电子票据标识分配服务,便可在该申领请求发起入口触发相关的操作,以使业务节点检测到该操作,进而向分布式系统发起电子票据标识申领请求。
例如,申领请求发起入口为业务节点所提供的虚拟按键,当商户点击该虚拟按键,业务节点便向分布式系统发起电子票据标识申领请求,其中,该点击操作即视为商户在申领请求发起入口触发的相关操作。
那么,对于分布式系统中的一个处理节点而言,便可接收到该商户借助业务节点发起的电子票据标识申领请求,以此获知商户请求申领电子票据标识,进而在后续为商户执行电子票据标识分配服务。
步骤330,响应于所述电子票据标识申领请求,根据电子票据发行数量生成电子票据标识集合。
首先,电子票据的电子票据标识包括票据代码。该票据代码的设置是为了满足特定的票据发行规则,也即是该票据代码用于表示电子票据需要的发行信息。该发行信息包括但不限于:发行地、发行年度、发行批次、发行联次、适用于行业种类的类别、适用于票据种类的类别、限制金额等等。应当说明的是,在同一个批次中,不同的电子票据的票据代码是相同的。
为此,电子票据的电子票据标识还包括票据号码。该票据号码用作在一个批次中识别电子票据的唯一标识。也就是说,在同一个批次中,不同的电子票据的票据号码各不相同。
由上可知,通过票据代码和票据号码组成的电子票据标识,即可在满足特定的票据发行规则前提下,作为电子票据的唯一编码,唯一地识别该电子票据。
其次,应当理解,通常在发行普通的纸质票据时,考虑纸质票据的发行效率,通常可以一次性地发行多张纸质票据,相应地,电子票据设有电子票据发行数量。为此,分配给业务节点的电子票据标识可以具有一个范围。也就是说,根据电子票据发行数量生成的电子票据标识集合,包括至少一个电子票据标识。
例如,处理节点向业务节点分配的同一个批次的电子票据标识中,票据代码均为144031809110,而票据号码为00000001~00000010。
其中,14403表示电子票据的发行地为北京,18表示电子票据的发行年度为2018年,0表示电子票据适用于行业种类的类别为通用类,9表示电子票据适用于票据种类的类别为普通发票,1表示电子票据的发行批次为2018年的第一个批次,1表示电子票据的发行联次为记账联,0表示电子票据的限制金额为无限制金额。
票据号码00000001~00000010则表示在本批次中,处理节点向业务节点一次性分配了10个电子票据标识。
当然,根据应用场景的实际需要,针对同一个批次,处理节点向业务节点一次性分配的电子票据标识集合中的电子票据标识的数量可以灵活地调整。
举例来说,在高并发场景中,针对同一个批次,处理节点向业务节点一次性分配的电子票据标识数量为1000个。这不仅可以降低业务节点申领电子票据的频率,有利于降低电子票据标识申领请求的并发量,进而有利于提高电子票据标识的分配效率,而且通过调整处理节点向业务节点一次性分配的电子票据标识的数量,还有利于提高处理节点本身的服务性能,进而充分地保障分布式系统的服务性能。
或者,在另一应用场景中,针对同一个批次,处理节点可以根据业务节点实际需要申领的电子票据标识的数量,向业务节点分配满足实际需求量的电子票据标识。例如,假设业务节点请求申领的电子票据标识的数量为200个,则处理节点向业务节点一次性分配的电子票据标识的数量为200个。
由上可知,电子票据发行数量,既可以由处理节点根据实际的处理能力设置,也可以取决于业务节点的实际需求量。
步骤350,在所述分布式系统中,对所述电子票据标识集合中的电子票据标识进行同步。
如前所述,电子票据标识集合包括至少一个电子票据标识,每一个电子票据标识包括票据代码和票据号码。
可以理解,分布式系统中,各个处理节点都可以分配电子票据标识,而该电子票据标识并不是通过随机生成的方式生成的不可重复的随机数,也不是通过标识符创建的方式创建的不存在冲突且通用唯一的标识符,尚不能保证各个处理节点分配的电子票据标识集合中的电子票据标识在分布式系统中是全局唯一的。
故而,本实施例中,针对电子票据标识集合中的电子票据标识,需要在分布式系统中的所有处理节点上进行同步,以此保证分布式系统中各个处理节点之间的数据一致性。
其中,分布式系统中各个处理节点之间保证数据一致性的同步过程,是通过一致性算法实现的,例如,一致性算法包括但不限于:raft算法、paxos算法、分布式哈希算法等。
在电子票据标识集合中的电子票据标识在分布式系统中同步之后,分布式系统中,所有处理节点就会记录已同步的电子票据标识,以便于后续在生成电子票据标识集合时避开记录的该已同步的电子票据标识,以此避免分布式系统中存在重复的电子票据标识,从而达到各个处理节点之间数据一致性的目的。
步骤370,当所述电子票据标识集合中的电子票据标识在所述分布式系统中同步后,将电子票据标识集合中的电子票据标识分配至业务节点。
随着电子票据标识集合中的电子票据标识在分布式系统中的所有处理节点中记录,该电子票据标识即在分布式系统中同步,此时,处理节点便确认已同步电子票据标识具有全局唯一性,方能够将已同步电子票据标识分配至业务节点。
对于业务节点而言,便可在开票时,从获得的电子票据标识集合中选取一电子票据标识唯一标识电子票据。
通过如上所述的过程,实现了基于分布式系统的电子票据标识分配,该电子票据标识包括票据代码和票据号码,这样既能够在分布式系统的便利环境下开具满足特定的票据发行规则的电子票据,有效地提高了电子票据标识的通用性,而且通过同步保证了分布式系统中各个处理节点之间的数据一致性,以便于充分利用分布式系统的优势响应大量并发的电子票据标识申领请求。
请参阅图4,在一示例性实施例中,步骤330可以包括以下步骤:
步骤331,响应于所述电子票据标识申领请求,根据票据发行规则生成票据代码。
其中,票据发行规则,是为了体现电子票据的发行信息。例如,体现电子票据的发行地、发行年度、发行批次、发行联次、适用于行业种类的类别、适用于票据种类的类别、限制金额等等。
为了使得基于分布式系统分配的电子票据标识能够满足特定的票据发行规则,设置了票据代码,也即是,票据代码用于表示电子票据的发行信息。
因此,根据票据发行规则,便可生成票据代码。
举例来说,票据发行规则M,是为了体现电子票据的发行地、发行年度、发行批次,那么,根据该票据发行规则M生成的票据代码,可用于表示电子票据的发行地、发行年度、发行批次。
例如,电子票据的票据代码为14403181。其中,14403表示电子票据的发行地为北京,18表示电子票据的发行年度为2018年,1表示电子票据的发行批次为2018年的第一个批次。
步骤333,基于电子票据发行数量,从所述处理节点的设定票据号段中获得至少一个票据号码。
如前所述,票据号码,用作在一个批次中识别电子票据的唯一标识。
可以理解,针对同一个批次,电子票据发行数量具有一个范围,相应地,票据号码也具有一个范围。例如,票据号码为00000001~99999999,表示在本批次中,电子票据发行数量为99999999,不同的电子票据通过不同的票据号码唯一地识别。
当然,根据应用场景的实际需要,针对同一个批次,电子票据发行数量可以灵活地调整,本实施例在此并未构成具体限定。
在分布式系统中,各个处理节点均可分配电子票据标识,换句话说,任何一个批次中,所有处理节点分配的电子票据标识中的票据号码均来自于票据号码所具有的同一个范围,例如,票据号码来自于00000001~99999999。
因此,为了保证分配的电子票据标识在分布式系统中具有全局唯一的票据号码,本实施例中,针对每一个处理节点,设置不同的设定票据号段,以此避免不同的处理节点分配重复的电子票据标识,从而达到分布式系统中各个处理节点之间的数据一致性。
例如,分布式系统包括处理节点A、处理节点B和处理节点C,则针对处理节点A,设定票据号段为00000001~33333333,针对处理节点B,设定票据号段为33333334~66666666,针对处理节点A,设定票据号段为66666667~99999999。
基于此,在确定了处理节点的设定票据号段之后,方能够根据电子票据发行数量,获得相应的票据号码。
仍以上述例子进行说明,假设电子票据发行数量为200,那么,对于处理节点A而言,便可从设定票据号段00000001~33333333中,得到票据号码为00000001~00000200。
同理,对于处理节点B而言,便可从设定票据号段33333334~66666666中,得到票据号码为33333334~33333533。对于处理节点C而言,便可从设定票据号段66666667~99999999中,得到票据号码为66666667~66666866。
当然,关于票据号码的获取,可以从处理节点的设定票据号段中顺序选取,还可以从处理节点的设定电子票据标识中随机选取,本实施例在此并非构成具体限定。
步骤335,针对每一个票据号码,由所述票据代码和所述票据号码得到电子票据标识。
如前所述,在同一个批次中,不同的电子票据的票据代码是相同的,而不同的电子票据的票据号码各不相同。
因此,对于同一个批次而言,电子票据标识,由相同的票据代码和不同的票据号码组成,即可在满足特定票据发行规则前提下,作为本批次发行的电子票据的唯一编码,对本批次发行的电子票据进行唯一地识别。
例如,在同一个批次中,票据代码均为144031809110,票据号码则为00000001~00000200,那么,得到的电子票据标识为14403180911000000001~1440318091100000200,也即是,得到的电子票据标识唯一地识别了本批次发行的200张电子票据。
步骤337,根据得到的电子票据标识生成所述电子票据标识集合。
仍以上述例子进行说明,得到的电子票据标识为14403180911000000001~1440318091100000200,即本批次发行的200张电子票据需要的电子票据标识集合。
通过上述实施例的配合,基于票据代码和票据号码的组合实现了电子票据的唯一编码,使得特定的票据发行规则得以满足,即满足了电子票据标识对特定的“代码+号码”模式的需求,有利于提高基于分布式系统分配的电子票据标识的通用性。
请参阅图5,在一示例性实施例中,步骤331可以包括以下步骤:
步骤3311,响应于所述电子票据标识申领请求,根据所述票据发行规则确定电子票据需要的发行信息。
也就是说,如果票据发行规则,是为了体现电子票据的发行地、发行年度、发行批次、发行联次、适用于行业种类的类别、适用于票据种类的类别、限制金额,那么,基于票据发行规则,便可确定电子票据需要的发行信息包括:电子票据的发行地、发行年度、发行批次、发行联次、适用于行业种类的类别、适用于票据种类的类别、限制金额。
步骤3313,按照所述票据发行规则指示的发行信息封装顺序,将所述发行信息封装为所述票据代码。
应当理解,票据代码是由一串有序的字符(例如数字)组成的,以通过该有序的字符表示电子票据需要的发行信息。
为此,票据发行规则,不仅指示了需要体现的电子票据的发行信息,而且指示了发行信息封装顺序,以使处理节点能够由此生成电子票据的票据代码。
举例来说,假设票据发行规则指示:票据代码中的前5位表示电子票据的发行地,第6~7位表示电子票据的发行年度,第8位表示电子票据的发行批次。
那么,处理节点便可确定电子票据需要的发行信息包括:电子票据的发行地、发行年度和发行批次。
在确定电子票据的发行地为北京,电子票据的发行年度为2018年,电子票据的发行批次为2018年的第一个批次之后,处理节点方可基于票据发行规则指示的上述发行信息封装顺序,得到票据代码为14403181。
其中,前5位14403表示电子票据的发行地为北京,第6~7位18表示电子票据的发行年度为2018年,第8位1表示电子票据的发行批次为2018年的第一个批次。
在上述实施例的作用下,实现了基于票据发行规则的票据代码生成方案,使得满足特定的票据发行规则的电子票据标识得以实现,进而有利于保障基于分布式系统分配的电子票据标识的通用性。
请参阅图6,在一示例性实施例中,步骤333可以包括以下步骤:
步骤3331,从所述处理节点的设定票据号段中,确定剩余票据号段。
应当理解,业务节点每次发起电子票据标识申领请求,处理节点就会分配一定数量的电子票据标识,相应地,业务节点便可申领到一定数量的电子票据标识。对于同一个批次而言,票据代码是相同的,那么,随着电子票据被业务节点申领,发生改变的仅有票据号码,即处理节点的设定票据号段中,已使用票据号码的数量逐渐增加,未使用票据号码的数量逐渐减少。
也就是说,在进行下一次电子票据标识分配时,处理节点只能针对未使用票据号码执行电子票据标识分配服务。即,处理节点需要确定其设定票据号段中的剩余票据号段。该剩余票据号段实质指示了处理节点的设定票据号段中未使用的票据号码。
例如,假设对于处理节点A而言,设定票据号段为00000001~33333333。
如果当前一次发行的电子票据为200张,则当前一次发行的电子票据的票据号码为00000001~00000200,此时,票据号码00000001~00000200视为处理节点A的设定票据号段中已使用的票据号码,相应地,剩余票据号段为00000201~33333333,也即是,票据号码00000201~33333333为处理节点A的设定票据号段中未使用的票据号码。
步骤3333,从所述剩余票据号段中,得到数量与电子票据发行数量匹配的票据号码。
仍以前述例子进行说明,假设电子票据发行数量为200,即如果下一次发行的电子票据为200张,那么,在确定剩余票据号段为00000201~33333333之后,便可得到下一次发行的电子票据的票据号码为00000201~00000400。
当然,关于票据号码的获取,可以从剩余票据号段中顺序选取,也可以从剩余票据号段中随机选取,本实施例在此并非构成具体限定。
在上述实施例的作用下,实现了票据号码的生成,使得电子票据标识对特定的“代码+号码”模式的需求得以满足,进而有利于保障基于分布式系统分配的电子票据标识的通用性。
请参阅图7,在一示例性实施例中,步骤3331可以包括以下步骤:
步骤410,确定所述处理节点的设定票据号段中未使用票据号码的数量。
仍以上述例子进行说明,假设对于处理节点A而言,设定票据号段为00000001~33333333。
如果当前一次发行的电子票据为200张,则当前一次发行的电子票据的票据号码为00000001~00000200,那么,处理节点A的设定票据号段中未使用的票据号码为00000201~33333333。
此时,便可确定处理节点A的设定票据号段中未使用票据号码的数量为33333132。
可以理解,如果下一次电子票据发行数量仍然为200,那么处理节点A的设定票据号段中未使用票据号码的数量足以支持下一次电子票据的发行,反之,如果下一次电子票据发行数量大于33333132张,此时对于本批次而言,处理节点A的设定票据号段中未使用票据号码的数量则不够下一次电子票据的发行。
基于此,在确定剩余票据号段之前,首先需要判断未使用票据号码的数量是否超过电子票据发行数量。
如果未使用票据号码的数量不小于电子票据发行数量,则跳转执行步骤430。
反之,如果未使用票据号码的数量小于电子票据发行数量,则跳转执行步骤420。
步骤430,如果所述未使用票据号码的数量不小于电子票据发行数量,则由所有未使用票据号码形成所述剩余票据号段。
也就是说,如果下一次电子票据发行数量仍然为200,那么,剩余票据号段,即为处理节点A的设定票据号段中所有未使用的票据号码00000201~33333333。
相应地,请参阅图8,在一示例性实施例中,步骤3333可以包括以下步骤:
步骤510,将所述剩余票据号段中的最小票据号码作为第一个票据号码。
步骤530,从所述第一个票据号码开始递增,直至票据号码的数量达到电子票据发行数量。
本实施例中,票据号码的获取,是从剩余票据号段中顺序选取的。
具体而言,基于剩余票据号段00000201~33333333,当下一次电子票据发行数量为200,则从最小票据号码00000201作为第一个票据号码,从该第一个票据号码开始递增,即,00000202为第二个票据号码,00000203为第三个票据号码,以此类推,00000400为最后一个票据号码,此时,票据号码的数量达到电子票据发行数量,也即是200。
在上述过程中,实现了在同一个批次中分配电子票据标识的方案,进而保证基于相同批次的电子票据标识分配服务得以实现。
应当说明的是,针对该同一个批次,电子票据的票据代码是相同的,票据号码各不相同,由此,电子票据,通过票据代码+票据号码的组合方式唯一地识别。
请参阅图9,在一示例性实施例中,步骤3331还可以包括以下步骤:
步骤420,如果所述未使用票据号码的数量小于所述电子票据发行数量,则由当前批次中所有未使用票据号码形成第一未使用票据号段。
步骤440,更新所述票据代码中的批次,由更新后批次中所有未使用票据号码形成第二未使用票据号段。
步骤460,根据所述第一未使用票据号段和所述第二未使用票据号段,得到所述剩余票据号段。
如前所述,如果下一次电子票据发行数量大于33333132,处理节点A的设定票据号段中未使用票据号码的数量则不够下一次电子票据的发行。此时,还需要增加一个批次,以确保有足够多的未使用票据号码可供下一次电子票据的发行。
也就是说,假设下一次电子票据发行数量达到33333135,那么,基于2018年的第一个批次,即当前批次,第一未使用票据号段为处理节点A的设定票据号段中所有未使用的票据号码00000201~33333333。
此外,新增批次为2018年的第二个批次,即更新后批次,则处理节点A的设定票据号段00000001~33333333中的票据号码均视为未使用票据号码,即视为第二未使用票据号段。
基于此,剩余票据号段为第一未使用票据号段00000201~33333333和第二未使用票据号段00000001~33333333,以此保证足够多的未使用票据号码可供下一次电子票据的发行。
相应地,请参阅图10,在一示例性实施例中,步骤3333可以包括以下步骤:
步骤520,将所述第一未使用票据号段中的最小票据号码作为第一个票据号码。
步骤540,从所述第一个票据号码开始递增,直至票据号码的数量达到所述第一未使用票据号段中未使用票据号码的数量。
步骤560,从所述第二未使用票据号段中的最小票据号码开始递增,直至票据号码的数量达到电子票据发行数量。
本实施例中,票据号码的获取,是从剩余票据号段中顺序选取的。
具体而言,剩余票据号段包括第一未使用票据号段和第二未使用票据号段。
基于第一未使用票据号段00000201~33333333,当下一次电子票据发行数量为33333135,则从第一未使用票据号段中的最小票据号码00000201作为第一个票据号码,从该第一个票据号码开始递增,即,00000202为第二个票据号码,00000203为第三个票据号码,以此类推,直至达到第一未使用票据号段中的最后一个票据号码33333333,此时,票据号码的数量达到第一未使用票据号段中未使用票据号码的数量,也即是33333132,尚未达到电子票据发行数量33333135。
进一步地,基于第二未使用票据号段00000001~33333333,从第二未使用票据号段中的最小票据号码00000001作为倒数第三个票据号码,从该倒数第三个票据号码开始递增,即,00000002作为倒数第二个票据号码,00000003作为最后一个票据号码,此时,票据号码的数量达到电子票据发行数量,也即是33333135。
在上述实施例的作用下,基于不同批次的无缝衔接,实现了在不同批次中分配电子票据标识的方案,以此保证基于不同批次的电子票据标识分配服务得以实现。
应当说明的是,在不同批次中,电子票据的票据代码有所差别,即包括两个不同的批次,此时,就两个不同的批次而言,可能存在相同的票据号码,而就每一个批次而言,票据号码各不相同,由此,电子票据,仍然可以通过票据代码+票据号码的组合方式唯一地识别。
请参阅图11,在一示例性实施例中,步骤350可以包括以下步骤:
步骤351,为所述电子票据标识集合中的任意电子票据标识向所述分布式系统中的其余处理节点发起同步请求,以使所述分布式系统中的其余处理节点响应所述同步请求生成该电子票据标识的响应消息。
步骤353,接收所述分布式系统中其余处理节点上报的该电子票据标识的响应消息。
步骤355,如果该电子票据标识的响应消息的数量不小于设定阈值,则确定该电子票据标识在所述分布式系统中同步,并将已同步电子票据标识发送至所述分布式系统中的其余处理节点。
本实施例中,同步过程是基于paxos算法实现的。
举例来说,假设分布式系统中的处理节点A,电子票据标识集合为14403180911000000001~1440318091100000010。
处理节点A向分布式系统中的其余处理节点发起关于电子票据标识集合中电子票据标识14403180911000000001(下面简写为T)的同步请求,以请求其余处理节点做出响应。如果其余处理节点从未响应过关于电子票据标识T的同步请求,那么,其余处理节点便会对关于电子票据标识T的同步请求进行响应,以生成电子票据标识T的响应消息,并反馈至处理节点A。
此时,对于处理节点A而言,如果接收到的电子票据标识T的响应消息的数量不小于设定阈值,便认为电子票据标识T可以在分布式系统中实现同步,进而将电子票据标识T发送至分布式系统中的其余处理节点,以此达到分布式系统中各个处理节点之间关于电子票据标识T的数据一致性。
当然,根据应用场景的实际需要,设定阈值可以灵活地调整,本实施例并未对此作出具体限定。
通过上述实施例的配合,基于paxos算法解决了分布式系统中保持电子票据标识传递一致性的问题,使得各个处理节点之间记录的电子票据标识都具有全局唯一性,进而充分地保障了分布式系统中各个处理节点之间的数据一致性。
请参阅图12,在一示例性实施例中,所述分布式系统还包括代理节点。
可以理解,为了保证分布式系统的可靠性,针对同一个电子票据标识申领请求,可以在分布式系统中部署多个处理节点,以便于对该电子票据标识申领请求进行处理。
为此,代理节点,则是负责在多个处理节点中选取一个用于处理该电子票据标识申领请求的处理节点。
关于处理节点的选取,可以从部署的多个处理节点中随机选取一个,还可以根据处理节点的运行状况从部署的多个处理节点中选取一个,或者,根据处理节点与业务节点之间的物理距离进行选取。
具体而言,步骤310之前,如上所述的方法还可以包括以下步骤:
步骤610,通过所述代理节点,从所述分布式系统所包含的处理节点中选取用于接收所述电子票据标识申领请求的处理节点。
步骤630,将所述电子票据标识申领请求分发至选取的处理节点。
在上述实施例的作用下,基于同一个电子票据标识申领请求,通过在分布式系统中部署多个处理节点,即使其中一个处理节点运行异常,仍可以由运行正常的处理节点处理该电子票据标识申领请求,由此充分保证了分布式系统的可靠性。
请参阅图13,在一示例性实施例中,步骤610可以包括以下步骤:
步骤611,通过所述代理节点监控所述分布式系统中处理节点的运行状况,获取所述分布式系统中处理节点的运行数据。
其中,处理节点的运行数据,包括负载数、内存占用率、CPU占用率、网络速率、丢包率等等,是通过代理节点监控分布式系统中处理节点的运行状况获得的。
步骤613,确定所述分布式系统中处理节点与所述业务节点之间的物理距离。
步骤615,根据所述运行数据和所述物理距离,对所述分布式系统中的处理节点进行筛选,得到用于接收所述电子票据标识申领请求的处理节点。
具体地,基于分布式系统,根据处理节点的运行数据确定该处理节点第一分数a,以及根据该处理节点与业务节点之间的物理距离确定该处理节点的第二分数b。
然后,基于运行数据和物理距离分别对应的权重系数m、n,得到该处理节点的分数=a×m+b×n。
那么,基于分布式系统中所有处理节点的分数,便可将分数最高的处理节点作为用于接收电子票据标识申领请求的处理节点。
通过上述过程,实现了基于运行数据和物理距离的处理节点筛选,充分保障了选取的处理节点的最大优势,例如,与业务节点之间的物理距离最近,或者,运行状况最佳,那么,基于选取的处理节点执行电子票据标识分配服务时,出现异常中断的可能性最小,以此有利于提高分布式系统的可靠性,进而有利于提高电子票据标识的分配效率。
在一示例性实施例中,如上所述的方法还可以包括以下步骤:
通过代理节点监控分布式系统中处理节点的运行状况,对分布式系统中的处理节点进行更新处理。
应当理解,在执行电子票据标识分配服务的过程中,各个处理节点可能随时发生异常,例如,处理节点死机、故障等等,如果不及时排除异常的处理节点,则可能导致电子票据标识分配服务异常中断,进而影响电子票据标识的分配效率。
因此,基于分布式系统,需要保证各个处理节点是可用的。
如前所述,处理节点的运行数据包括负载数、内存占用率、CPU占用率、网络速率、丢包率等等,可通过代理节点对分布式系统中各个处理节点的运行状况进行监控获得,进而实时地获知分布式系统中各个处理节点是否发生异常。例如,如果监控到处理节点的丢包率居高不下,则表明该处理节点可能存在异常,或者,如果监控到处理节点的网络速率过低,也可能是该处理节点存在异常。
当处理节点的运行状况发生变化,便需要进行相应的更新处理,该更新处理包括处理节点剔除、处理节点恢复等等。
例如,当监控到处理节点异常,则将异常的处理节点从分布式系统中剔除,或者,当监控到异常的处理节点由异常恢复正常,则将恢复正常的处理节点重新部署至分布式系统中。
通过上述过程,有效地提高了分布式系统的可靠性,进而避免了电子票据标识分配服务的异常中断。
在一示例性实施例中,如上所述的方法还可以包括以下步骤:
通过代理节点监控分布式系统中处理节点的运行状况,进行处理节点的主备切换处理。
可以理解,处理节点的异常包括但不限于:负载数过大、内存占用率过高、CPU占用率过高、网络速率过低、丢包率过高、甚至于处理节点死机、故障等等。
基于此,针对每一个处理节点,分布式系统中都分别部署了主处理节点和备处理节点。
由此,在处理节点执行电子票据标识分配服务过程中,当代理节点根据主处理节点的运行数据监控到主处理节点出现异常时,则运行备处理节点,以控制备处理节点替代主处理节点执行电子票据标识分配服务。
通过上述过程,实现了基于分布式系统的容灾方案,即备处理节点在主处理节点正常时不运行,仅当主处理节点异常时,运行备处理节点提供电子票据标识分配服务,进一步地保证了分布式系统的可靠性,避免电子票据标识分配服务的异常中断,进而充分保障了电子票据标识的分配效率。
请参阅图14,在一示例性实施例中,一种电子票据生成方法适用于图1所示出实施环境的业务节点,该业务节点与包括处理节点的分布式系统交互,该业务节点的结构可以如图2所示。
该种电子票据生成方法可以由业务节点执行,可以包括以下步骤:
步骤710,所述业务节点接收请求发起端发起的电子票据开具请求,并从所述电子票据开具请求中获取开票信息。
其中,电子票据开具请求是用户借助请求发起端中运行的客户端请求开具电子票据而向业务节点发起的。
对于请求发起端中运行的客户端而言,将为用户提供一个开具请求发起入口,当用户希望业务节点执行电子票据开具服务,便可在该开具请求发起入口触发相关的操作,以使客户端检测到该操作,进而向业务节点发起电子票据开具请求。
例如,开具请求发起入口为客户端所提供的虚拟按键,当用户点击该虚拟按键,客户端便向业务节点发起电子票据开具请求,其中,该点击操作即视为用户在开具请求发起入口触发的相关操作。
那么,对于业务节点而言,便可接收到该用户发起的电子票据开具请求,以此获知用户请求开具电子票据,进而在后续为用户执行电子票据开具服务。
其中,电子票据开具请求携带了开票信息,该开票信息包括接收方标识和资源转移份额。
以电子票据为电子发票进行说明,假设用户A在商户B处购买了100元的商品,如果用户A需要商户B开具电子发票,便会向商户B发起电子票据开具请求。
此时,该电子票据开具请求携带了开票信息,该开票信息包括:接收方标识为A,资源转移份额为100元。
步骤730,从所述处理节点分配的电子票据标识集合中获取电子票据标识。
其中,所述电子票据标识集合是所述处理节点根据电子发票发行数量生成且在所述分布式系统中同步的,每一个电子票据标识包括票据代码和票据号码。举例来说,假设处理节点分配的电子票据标识集合为14403180911000000001~1440318091100000200,那么,便可从中获取电子票据标识,例如14403180911000000001,用于后续电子票据的生成。
步骤750,根据所述开票信息和获取到的电子票据标识生成电子票据。
在获得开票信息和电子票据标识之后,便可生成电子票据。
以电子票据为电子发票进行说明,如图15所示,电子发票中,包括了发票抬头(即接收方标识)、发票金额(资源转移份额)、开票单位(业务节点标识)、开票时间2018-12-19、发票代码14403180911、以及发票号码000000001。
步骤770,响应于所述电子票据开具请求,将所述电子票据返回至所述请求发起端。
通过如上所述的过程,借由业务节点与请求发起端、分布式系统中处理节点之间的交互,完成了关于电子票据的全套服务,即电子票据标识分配服务和电子票据开具服务,大大提高了开票效率。
图16至图17是一应用场景中电子发票报销流程的具体实现示意图。
该应用场景包括请求发起端、业务节点和分布式系统,例如,分布式系统可以基于区块链网络,以便于利用区块链技术的优势,实现去中心化的不可篡改的电子发票报销系统。
其中,该分布式系统进一步包括代理节点和处理节点,各部分交互时序如图16所示。
进一步地,随着广大商户分布各地,例如,商户可以是位于深圳的咖啡门店的店主,还可以是位于广州的淘宝网店的店主,分布式系统中的代理节点、处理节点也将在各地进行相应部署,如图17所示。
当然,根据运营需要,代理节点既可以选择跟随部署,即分别在广州、深圳部署,也可以选择统一部署,例如,代理节点统一部署在深圳,本应用场景并非对此构成具体限定。
应当理解,电子发票报销流程包括电子发票标识分配环节、开票环节、报销环节。此时,在电子发票标识分配环节中,如果是深圳的咖啡门店的店主,便可借助台式电脑向分布式系统发起电子发票标识申领请求,由部署于深圳的代理节点从同样部署于深圳的多个处理节点中选取一个处理节点用于处理该店主发起的电子发票标识申领请求,进而形成整个分布式系统中全局唯一的电子发票标识,以返回至该店主。
同理,如果是广州的淘宝网店的店主,便可借助智能手机发起向分布式系统发起电子发票标识申领请求,由部署于广州的代理节点从同样部署于广州的多个处理节点中选取一个处理节点用于处理该店主发起的电子发票标识申领请求,进而形成整个分布式系统中全局唯一的电子发票标识,以返回至该店主。
之后,电子发票报销流程由电子发票标识分配环节流转至开票环节,此时,就咖啡店客户而言,将向咖啡门店店主所在业务节点发起电子发票开具请求,以使该业务节点根据电子发票开具请求中的开票信息和处理节点分配的电子发票标识生成电子发票,并返回给咖啡店客户。
而对于淘宝买家而言,则向淘宝网店店主所在业务节点发起电子发票开具请求,以使该业务节点根据电子发票开具请求中的开票信息和处理节点分配的电子发票标识生成电子发票,并返回给淘宝买家。
此时,基于咖啡店客户或者淘宝买家接收到的电子发票,便可触发电子发票报销流程由开票环节流转至报销环节,基于分布式系统中全局唯一的电子发票标识,对上述电子发票进行报销处理时,便可不必担心因电子发票的电子发票标识与其他商户开具的电子发票的电子发票标识存在冲突,而导致无法报销的问题。
在本应用场景中,基于分布式系统,业务节点与处理节点之间的信息传递保持一致,各个处理节点之间具有数据一致性,且电子发票的电子发票标识遵循特定的“代码+号码”的票据发行规则,使得电子发票报销业务得以在分布式系统如此便利的环境下开展,大大提高了电子发票的报销效率,进而提升了广大用户的报销体验。
下述为本发明装置实施例,可以用于执行本发明所涉及的电子票据标识分配方法以及电子票据生成方法。对于本发明装置实施例中未披露的细节,请参照本发明所涉及的电子票据标识分配方法以及电子票据生成方法的方法实施例。
请参阅图18,在一示例性实施例中,一种电子票据标识分配装置900应用于分布式系统,所述分布式系统包括处理节点,所述装置900部署于所述分布式系统中的处理节点。
所述装置900包括但不限于:申领请求接收模块910、电子票据标识生成模块930、电子票据标识同步模块950及电子票据标识分配模块970。
其中,申领请求接收模块910,用于所述处理节点接收业务节点发起的电子票据标识申领请求。
电子票据标识生成模块930,用于响应于所述电子票据标识申领请求,根据电子票据发行数量生成电子票据标识集合,所述电子票据标识集合包括至少一个电子票据标识,每一个电子票据标识包括票据代码和票据号码。
电子票据标识同步模块950,用于在所述分布式系统中,对所述电子票据标识集合中的电子票据标识进行同步。
电子票据标识分配模块970,用于当所述电子票据标识集合中的电子票据标识在所述分布式系统中同步后,将所述电子票据标识集合中的电子票据标识分配至所述业务节点。
在一示例性实施例中,所述电子票据标识生成模块930包括但不限于:票据代码生成单元、票据号码生成单元、电子票据标识获取单元和电子票据标识集合形成单元。
其中,票据代码生成单元,用于响应于所述电子票据标识申领请求,根据票据发行规则生成票据代码。
票据号码生成单元,用于基于电子票据发行数量,从所述处理节点的设定票据号段中获得至少一个票据号码。
电子票据标识获取单元,用于针对每一个票据号码,由所述票据代码和所述票据号码得到电子票据标识。
电子票据标识集合形成单元,用于根据得到的电子票据标识生成所述电子票据标识集合。
在一示例性实施例中,所述票据代码生成单元包括但不限于:发行信息确定子单元和发行信息封装子单元。
其中,发行信息确定子单元,用于响应于所述电子票据标识申领请求,根据所述票据发行规则确定电子票据需要的发行信息。
发行信息封装子单元,用于按照所述票据发行规则指示的发行信息封装顺序,将所述发行信息封装为所述票据代码。
在一示例性实施例中,所述票据号码生成单元包括但不限于:剩余票据号段确定子单元和票据号码选取子单元。
其中,剩余票据号段确定子单元,用于从所述处理节点的设定票据号段中,确定剩余票据号段。
票据号码选取子单元,用于从所述剩余票据号段中,得到数量与电子票据发行数量匹配的票据号码。
在一示例性实施例中,所述剩余票据号段确定子单元包括但不限于:未使用号码数量确定子单元和第一剩余票据号段形成子单元。
其中,未使用号码数量确定子单元,用于确定所述处理节点的设定电子票据标识中未使用票据号码的数量。
第一剩余票据号段形成子单元,用于如果所述未使用票据号码的数量不小于电子票据发行数量,则由所有未使用票据号码形成所述剩余票据号段。
在一示例性实施例中,所述票据号码选取子单元包括但不限于:第一票据号码定义子单元和第一票据号码递增子单元。
其中,第一票据号码定义子单元,用于将所述剩余票据号段中的最小票据号码作为第一个票据号码。
第一票据号码递增子单元,用于从所述第一个票据号码开始递增,直至票据号码的数量达到电子票据发行数量。
在一示例性实施例中,所述剩余票据号段确定子单元还包括但不限于:第一未使用票据号段形成子单元、第二未使用票据号段形成子单元和第二剩余票据号段形成子单元。
其中,第一未使用票据号段形成子单元,用于如果所述未使用票据号码的数量小于电子票据发行数量,则由当前批次中所有未使用票据号码形成第一未使用票据号段。
第二未使用票据号段形成子单元,用于更新所述票据代码中的批次,由更新后批次中所有未使用票据号码形成第二未使用票据号段。
第二剩余票据号段形成子单元,用于根据所述第一未使用票据号段和所述第二未使用票据号段,得到所述剩余票据号段。
在一示例性实施例中,所述票据号码选取子单元包括但不限于:第二票据号码定义子单元、第二票据号码递增子单元和第三票据号码递增子单元。
其中,第二票据号码定义子单元,用于将所述第一未使用票据号段中的最小票据号码作为第一个票据号码。
第二票据号码递增子单元,用于从所述第一个票据号码开始递增,直至票据号码的数量达到所述第一未使用票据号段中未使用票据号码的数量。
第三票据号码递增子单元,用于从所述第二未使用票据号段中的最小票据号码开始递增,直至票据号码的数量达到电子票据发行数量。
在一示例性实施例中,所述电子票据标识同步模块950包括但不限于:同步请求发起单元、响应消息接收单元和电子票据标识发送单元。
其中,同步请求发起单元,用于为所述电子票据标识集合中的任一电子票据标识向所述分布式系统中的其余处理节点发起同步请求,以使所述分布式系统中的其余处理节点响应所述同步请求生成该电子票据标识的响应消息。
响应消息接收单元,用于接收所述分布式系统中其余处理节点上报的该电子票据标识的响应消息。
电子票据标识发送单元,用于如果该电子票据标识的响应消息的数量不小于设定阈值,则确定该电子票据标识在所述分布式系统中同步,并将已同步电子票据标识发送至所述分布式系统中的其余处理节点。
在一示例性实施例中,所述分布式系统还包括代理节点。
相应地,如上所述的装置900还包括但不限于:处理节点选取模块和请求分发模块。
其中,处理节点选取模块,用于通过所述代理节点,从所述分布式系统所包含的处理节点中选取用于接收所述电子票据标识申领请求的处理节点。
请求分发模块,用于将所述电子票据标识申领请求分发至选取的处理节点。
在一示例性实施例中,所述处理节点选取模块包括但不限于:运行数据获取单元、物理距离确定单元和处理节点筛选单元。
其中,运行数据获取单元,用于通过所述代理节点监控所述分布式系统中处理节点的运行状况,获取所述分布式系统中处理节点的运行数据。
物理距离确定单元,用于确定所述分布式系统中处理节点与所述业务节点之间的物理距离。
处理节点筛选单元,用于根据所述运行数据和所述物理距离,对所述分布式系统中的处理节点进行筛选,得到用于接收所述电子票据标识申领请求的处理节点。
请参阅图19,在一示例性实施例中,一种电子票据生成装1100,所述装置1100部署于业务节点,所述业务节点与分布式系统交互,所述分布式系统包括处理节点。
所述装置1100包括但不限于:开具请求接收模块1110、电子票据标识获取模块1130、电子票据生成模块1150和电子票据发送模块1170。
其中,开具请求接收模块1110,用于所述业务节点接收请求发起端发起的电子票据开具请求,并从所述电子票据开具请求中获取开票信息,所述开票信息包括接收方标识和资源转移份额。
电子票据标识获取模块1130,用于从所述处理节点分配的电子票据标识集合中获取电子票据标识,所述电子票据标识集合是所述处理节点根据电子发票发行数量生成且在所述分布式系统中同步的,每一个电子票据标识包括票据代码和票据号码。
电子票据生成模块1150,用于根据所述开票信息和获取到的电子票据标识生成电子票据。
电子票据发送模块1170,用于响应于所述电子票据开具请求,将所述电子票据返回至所述请求发起端。
在一示例性实施例中,一种电子票据生成系统,所述系统包括请求发起端、业务节点、分布式系统中的处理节点。
其中,所述业务节点,向所述处理节点发起电子票据标识申领请求。
所述处理节点,响应于所述电子票据标识申领请求,根据电子发票发行数量生成电子票据标识集合且在所述分布式系统中同步,以将所述电子票据标识集合中的电子票据标识分配至所述业务节点,其中,每一个电子票据标识包括票据代码和票据号码。
所述请求发起端,向所述业务节点发起电子票据开具请求,所述电子票据开具请求中携带了开票信息,所述开票信息包括接收方标识和资源转移份额。
所述业务节点,响应于所述电子票据开具请求,从所述电子票据标识集合中获取电子票据标识,以根据所述开票信息和获取到的电子票据标识生成电子票据,并返回至所述请求发起端。
需要说明的是,上述实施例所提供的装置在进行电子票据相关处理时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能发行由不同的功能模块完成,即装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
另外,上述实施例所提供的装置与方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
请参阅图20,在一示例性实施例中,一种计算机设备1000,包括至少一处理器1001、至少一存储器1002、以及至少一通信总线1003。
其中,存储器1002上存储有计算机可读指令,处理器1001通过通信总线1003读取存储器1002中存储的计算机可读指令。
该计算机可读指令被处理器1001执行时实现上述各个实施例中的电子票据标识分配方法或者电子票据生成方法。
在一示例性实施例中,一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各个实施例中的电子票据标识分配方法或者电子票据生成方法。
上述内容,仅为本发明的较佳示例性实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。
Claims (10)
1.一种电子票据标识分配方法,其特征在于,应用于分布式系统,所述分布式系统包括处理节点,所述方法由所述分布式系统中的一个处理节点执行,所述方法包括:
所述处理节点接收业务节点发起的电子票据标识申领请求;
响应于所述电子票据标识申领请求,根据电子票据发行数量生成电子票据标识集合,所述电子票据标识集合包括至少一个电子票据标识,每一个电子票据标识包括票据代码和票据号码;
在所述分布式系统中,对所述电子票据标识集合中的电子票据标识进行同步;
当所述电子票据标识集合中的电子票据标识在所述分布式系统中同步后,将所述电子票据标识集合中的电子票据标识分配至所述业务节点。
2.如权利要求1所述的方法,其特征在于,所述响应于所述电子票据标识申领请求,根据电子票据发行数量生成电子票据标识集合,包括:
响应于所述电子票据标识申领请求,根据票据发行规则生成票据代码;
基于所述电子票据发行数量,从所述处理节点的设定票据号段中获得至少一个票据号码;
针对每一个票据号码,由所述票据代码和所述票据号码得到电子票据标识;
根据得到的电子票据标识生成所述电子票据标识集合。
3.如权利要求2所述的方法,其特征在于,所述响应于所述电子票据标识申领请求,根据票据发行规则生成票据代码,包括:
响应于所述电子票据标识申领请求,根据所述票据发行规则确定电子票据需要的发行信息;
按照所述票据发行规则指示的发行信息封装顺序,将所述发行信息封装为所述票据代码。
4.如权利要求2所述的方法,其特征在于,所述基于所述电子票据发行数量,从所述处理节点的设定票据号段中获得至少一个票据号码,包括:
从所述处理节点的设定票据号段中,确定剩余票据号段;
从所述剩余票据号段中,得到数量与所述电子票据发行数量匹配的票据号码。
5.如权利要求4所述的方法,其特征在于,所述从所述处理节点的设定票据号段中,确定剩余票据号段,包括:
确定所述处理节点的设定票据号段中未使用票据号码的数量;
如果所述未使用票据号码的数量不小于所述电子票据发行数量,则由所有未使用票据号码形成所述剩余票据号段。
6.如权利要求5所述的方法,其特征在于,所述从所述剩余票据号段中,得到数量与所述电子票据发行数量匹配的票据号码,包括:
将所述剩余票据号段中的最小票据号码作为第一个票据号码;
从所述第一个票据号码开始递增,直至票据号码的数量达到所述电子票据发行数量。
7.一种电子票据生成方法,其特征在于,应用于业务节点,所述业务节点与分布式系统交互,所述分布式系统包括处理节点,所述方法包括:
所述业务节点接收请求发起端发起的电子票据开具请求,并从所述电子票据开具请求中获取开票信息,所述开票信息包括接收方标识和资源转移份额;
从所述处理节点分配的电子票据标识集合中获取电子票据标识,所述电子票据标识集合是所述处理节点根据电子发票发行数量生成且在所述分布式系统中同步的,每一个电子票据标识包括票据代码和票据号码;
根据所述开票信息和获取到的电子票据标识生成电子票据;
响应于所述电子票据开具请求,将所述电子票据返回至所述请求发起端。
8.一种电子票据标识分配装置,其特征在于,所述装置部署于分布式系统中的处理节点,所述装置包括:
申领请求接收模块,用于所述处理节点接收业务节点发起的电子票据标识申领请求;
电子票据标识生成模块,用于响应于所述电子票据标识申领请求,根据电子票据发行数量生成电子票据标识集合,所述电子票据标识集合包括至少一个电子票据标识,每一个电子票据标识包括票据代码和票据号码;
电子票据标识同步模块,用于在所述分布式系统中,对所述电子票据标识集合中的电子票据标识进行同步;
电子票据标识分配模块,用于当所述电子票据标识集合中的电子票据标识在所述分布式系统中同步后,将所述电子票据标识集合中的电子票据标识分配至所述业务节点。
9.一种电子票据生成装置,其特征在于,所述装置部署于业务节点,所述业务节点与分布式系统交互,所述分布式系统包括处理节点,所述装置包括:
开具请求接收模块,用于所述业务节点接收请求发起端发起的电子票据开具请求,并从所述电子票据开具请求中获取开票信息,所述开票信息包括接收方标识和资源转移份额;
电子票据标识获取模块,用于从所述处理节点分配的电子票据标识集合中获取电子票据标识,所述电子票据标识集合是所述处理节点根据电子发票发行数量生成且在所述分布式系统中同步的,每一个电子票据标识包括票据代码和票据号码;
电子票据生成模块,用于根据所述开票信息和获取到的电子票据标识生成电子票据;
电子票据发送模块,用于响应于所述电子票据开具请求,将所述电子票据返回至所述请求发起端。
10.一种电子票据生成系统,其特征在于,所述系统包括请求发起端、业务节点、分布式系统中的处理节点,其中,
所述业务节点,向所述处理节点发起电子票据标识申领请求;
所述处理节点,响应于所述电子票据标识申领请求,根据电子发票发行数量生成电子票据标识集合且在所述分布式系统中同步,以将所述电子票据标识集合中的电子票据标识分配至所述业务节点,其中,每一个电子票据标识包括票据代码和票据号码;
所述请求发起端,向所述业务节点发起电子票据开具请求,所述电子票据开具请求中携带了开票信息,所述开票信息包括接收方标识和资源转移份额;
所述业务节点,响应于所述电子票据开具请求,从所述电子票据标识集合中获取电子票据标识,以根据所述开票信息和获取到的电子票据标识生成电子票据,并返回至所述请求发起端。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910168483.9A CN109949111B (zh) | 2019-03-06 | 2019-03-06 | 电子票据标识分配方法、电子票据生成方法、装置及系统 |
CN201911168684.5A CN111091429B (zh) | 2019-03-06 | 2019-03-06 | 电子票据标识分配方法及装置、电子票据生成系统 |
PCT/CN2020/075845 WO2020177533A1 (zh) | 2019-03-06 | 2020-02-19 | 电子票据标识分配方法、电子票据生成方法、装置及系统 |
EP20767121.5A EP3832578A4 (en) | 2019-03-06 | 2020-02-19 | METHOD OF ASSIGNING AN ELECTRONIC BILLING IDENTIFIER AND METHOD, DEVICE AND SYSTEM FOR GENERATION OF AN ELECTRONIC TICKET |
JP2021538890A JP7271045B2 (ja) | 2019-03-06 | 2020-02-19 | 電子手形識別子の割り当て方法、電子手形の生成方法、及びその装置とシステム、並びに、記憶媒体及びコンピュータプログラム |
US17/200,594 US11632441B2 (en) | 2019-03-06 | 2021-03-12 | Methods, systems, and devices for electronic note identifier allocation and electronic note generation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910168483.9A CN109949111B (zh) | 2019-03-06 | 2019-03-06 | 电子票据标识分配方法、电子票据生成方法、装置及系统 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911168684.5A Division CN111091429B (zh) | 2019-03-06 | 2019-03-06 | 电子票据标识分配方法及装置、电子票据生成系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109949111A true CN109949111A (zh) | 2019-06-28 |
CN109949111B CN109949111B (zh) | 2023-12-08 |
Family
ID=67009161
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911168684.5A Active CN111091429B (zh) | 2019-03-06 | 2019-03-06 | 电子票据标识分配方法及装置、电子票据生成系统 |
CN201910168483.9A Active CN109949111B (zh) | 2019-03-06 | 2019-03-06 | 电子票据标识分配方法、电子票据生成方法、装置及系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911168684.5A Active CN111091429B (zh) | 2019-03-06 | 2019-03-06 | 电子票据标识分配方法及装置、电子票据生成系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11632441B2 (zh) |
EP (1) | EP3832578A4 (zh) |
JP (1) | JP7271045B2 (zh) |
CN (2) | CN111091429B (zh) |
WO (1) | WO2020177533A1 (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110458631A (zh) * | 2019-07-31 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 基于区块链的票据号码分配方法、装置及电子设备 |
CN110473030A (zh) * | 2019-07-31 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 基于区块链的电子票据号码申领方法及装置、电子设备 |
CN110597834A (zh) * | 2019-09-16 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 电子票据数据处理方法、装置和计算机设备 |
CN110599275A (zh) * | 2019-09-27 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据处理方法、装置及存储介质 |
CN110599272A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种开具电子发票的方法和相关产品 |
CN110597915A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 电子发票报税的处理方法、装置、终端及存储介质 |
CN110751528A (zh) * | 2019-08-30 | 2020-02-04 | 航天信息股份有限公司 | 一种智能合约生成区块链电子发票代码号码的方法及系统 |
CN110888936A (zh) * | 2019-11-15 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、电子设备及存储介质 |
CN110933196A (zh) * | 2019-11-26 | 2020-03-27 | 上海莉莉丝科技股份有限公司 | 用于全球同服架构的id分配方法、系统及存储介质 |
CN111178992A (zh) * | 2019-12-25 | 2020-05-19 | 航天信息股份有限公司 | 一种电子票据票源发放方法及系统 |
CN111242707A (zh) * | 2020-01-21 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及可读存储介质 |
WO2020177533A1 (zh) * | 2019-03-06 | 2020-09-10 | 腾讯科技(深圳)有限公司 | 电子票据标识分配方法、电子票据生成方法、装置及系统 |
US10789628B2 (en) | 2019-07-31 | 2020-09-29 | Alibaba Group Holding Limited | Blockchain-based bill number allocation method, apparatus and electronic device |
CN111737324A (zh) * | 2020-08-14 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 数据分析方法及装置 |
US10846765B2 (en) | 2019-07-31 | 2020-11-24 | Advanced New Technologies Co., Ltd. | Blockchain-based e-bill number application method, apparatus, and electronic device |
CN112508632A (zh) * | 2020-12-23 | 2021-03-16 | 安徽航天信息有限公司 | 发票数据处理方法、装置、计算机设备及存储介质 |
CN112905384A (zh) * | 2019-12-04 | 2021-06-04 | 北京沃东天骏信息技术有限公司 | 生成标识的系统和方法 |
US11049115B2 (en) | 2019-07-31 | 2021-06-29 | Advanced New Technologies Co., Ltd. | Blockchain-based bill write-off method, apparatus, electronic device, and storage medium |
TWI747287B (zh) * | 2020-05-15 | 2021-11-21 | 華南商業銀行股份有限公司 | 交易驗證系統及方法 |
TWI789972B (zh) * | 2020-05-15 | 2023-01-11 | 華南商業銀行股份有限公司 | 可中斷連接之交易驗證系統及方法 |
TWI789971B (zh) * | 2020-05-15 | 2023-01-11 | 華南商業銀行股份有限公司 | 交互判斷合法性的交易驗證系統及方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11763359B2 (en) * | 2021-01-07 | 2023-09-19 | Stripe, Inc. | Invoice numbering |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003256651A (ja) * | 2002-03-06 | 2003-09-12 | Shinkin Central Bank | 申請データの認証サービス方法 |
WO2015013548A1 (en) * | 2013-07-24 | 2015-01-29 | Visa International Service Association | Systems and methods for interoperable network token processing |
WO2016067424A1 (ja) * | 2014-10-30 | 2016-05-06 | 株式会社日立製作所 | 分散システム、計算機、及び、仮想マシンの配置方法 |
CN109034924A (zh) * | 2018-08-16 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 电子票据生成方法、装置、存储介质和计算机设备 |
CN109087024A (zh) * | 2018-08-28 | 2018-12-25 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
CN109165943A (zh) * | 2018-08-20 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
CN109191219A (zh) * | 2018-08-13 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
CN109191272A (zh) * | 2018-08-17 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2752125B1 (fr) * | 1996-08-01 | 1998-09-11 | Bull Sa | Distribution de tickets dans un systeme informatique multinodal |
US6304857B1 (en) * | 1998-06-08 | 2001-10-16 | Microsoft Corporation | Distributed electronic billing system with gateway interfacing biller and service center |
US20030110128A1 (en) * | 2001-12-07 | 2003-06-12 | Pitney Bowes Incorporated | Method and system for importing invoice data into accounting and payment programs |
US10121129B2 (en) * | 2011-07-05 | 2018-11-06 | Visa International Service Association | Electronic wallet checkout platform apparatuses, methods and systems |
WO2014049700A1 (ja) * | 2012-09-26 | 2014-04-03 | 株式会社日立システムズ | 自動請求書発行システム |
CN104219321A (zh) * | 2014-09-17 | 2014-12-17 | 浪潮集团有限公司 | 一种基于云计算的电子票号管理方法 |
US9503228B2 (en) * | 2014-12-17 | 2016-11-22 | Ciena Corporation | Systems and methods to detect, diagnose, and mitigate issues in multi-layer networks |
CA2978461C (en) * | 2015-03-06 | 2020-10-27 | Mastercard International Incorporated | Secure mobile remote payments |
CN104851031A (zh) * | 2015-03-31 | 2015-08-19 | 深圳市中润四方信息技术有限公司 | 一种电子票据赋码的方法及其系统 |
US10812274B2 (en) * | 2015-05-07 | 2020-10-20 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
CN105096172B (zh) * | 2015-06-12 | 2019-11-05 | 北京京东尚科信息技术有限公司 | 基于电子商务平台的电子发票的生成和处理方法及系统 |
US10402792B2 (en) * | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
US11488124B2 (en) * | 2015-12-07 | 2022-11-01 | Money Flow, Llc | Payment system based on a global database of invoices |
CN105608165A (zh) * | 2015-12-21 | 2016-05-25 | 用友网络科技股份有限公司 | 一种分布式数据库主键生成的方法和系统 |
CN106934673A (zh) * | 2015-12-30 | 2017-07-07 | 航天信息股份有限公司 | 一种电子发票系统 |
CN106412037A (zh) * | 2016-09-19 | 2017-02-15 | 中国银联股份有限公司 | 基于区块链结构的安全性电子文件处理系统及方法 |
US11188977B2 (en) * | 2017-03-08 | 2021-11-30 | Stichting Ip-Oversight | Method for creating commodity assets from unrefined commodity reserves utilizing blockchain and distributed ledger technology |
CN106952094B (zh) * | 2017-03-10 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 电子票据管理方法及装置 |
EP3396612A1 (en) * | 2017-04-24 | 2018-10-31 | BlockSettle AB | Method and system for creating a user identity |
CN107862615A (zh) * | 2017-12-22 | 2018-03-30 | 平安养老保险股份有限公司 | 理赔信息处理方法、装置、计算机设备和存储介质 |
US20220172179A1 (en) * | 2018-03-30 | 2022-06-02 | Block, Inc. | Itemized digital receipts |
CN109102269B (zh) * | 2018-06-13 | 2022-03-22 | 湖南搜云网络科技股份有限公司 | 基于区块链的转账方法及装置、区块链节点及存储介质 |
CN109087078B (zh) * | 2018-08-27 | 2023-03-24 | 深圳市智税链科技有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
CN108933840B (zh) * | 2018-09-28 | 2021-01-05 | 珠海沙盒网络科技有限公司 | 一种分布式代理方法及系统 |
CN109902091B (zh) * | 2019-02-21 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 数据区块在区块链上记录的方法、领导记账节点和介质 |
CN111091429B (zh) * | 2019-03-06 | 2024-03-22 | 深圳市智税链科技有限公司 | 电子票据标识分配方法及装置、电子票据生成系统 |
-
2019
- 2019-03-06 CN CN201911168684.5A patent/CN111091429B/zh active Active
- 2019-03-06 CN CN201910168483.9A patent/CN109949111B/zh active Active
-
2020
- 2020-02-19 EP EP20767121.5A patent/EP3832578A4/en active Pending
- 2020-02-19 WO PCT/CN2020/075845 patent/WO2020177533A1/zh unknown
- 2020-02-19 JP JP2021538890A patent/JP7271045B2/ja active Active
-
2021
- 2021-03-12 US US17/200,594 patent/US11632441B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003256651A (ja) * | 2002-03-06 | 2003-09-12 | Shinkin Central Bank | 申請データの認証サービス方法 |
WO2015013548A1 (en) * | 2013-07-24 | 2015-01-29 | Visa International Service Association | Systems and methods for interoperable network token processing |
CN105580038A (zh) * | 2013-07-24 | 2016-05-11 | 维萨国际服务协会 | 用于可互操作的网络令牌处理的系统和方法 |
US20180285864A1 (en) * | 2013-07-24 | 2018-10-04 | Matthew Dill | Systems and methods for communicating token attributes associated with a token vault |
WO2016067424A1 (ja) * | 2014-10-30 | 2016-05-06 | 株式会社日立製作所 | 分散システム、計算機、及び、仮想マシンの配置方法 |
CN109191219A (zh) * | 2018-08-13 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
CN109034924A (zh) * | 2018-08-16 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 电子票据生成方法、装置、存储介质和计算机设备 |
CN109191272A (zh) * | 2018-08-17 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
CN109165943A (zh) * | 2018-08-20 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
CN109087024A (zh) * | 2018-08-28 | 2018-12-25 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
Non-Patent Citations (1)
Title |
---|
梁林森;: "供电企业营销电子发票系统的设计与实现", 信息与电脑(理论版), no. 19 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020177533A1 (zh) * | 2019-03-06 | 2020-09-10 | 腾讯科技(深圳)有限公司 | 电子票据标识分配方法、电子票据生成方法、装置及系统 |
US11632441B2 (en) | 2019-03-06 | 2023-04-18 | Tencent Technology (Shenzhen) Company Limited | Methods, systems, and devices for electronic note identifier allocation and electronic note generation |
TWI733349B (zh) * | 2019-07-31 | 2021-07-11 | 開曼群島商創新先進技術有限公司 | 基於區塊鏈的票據號碼分配方法、裝置及電子設備 |
CN112581197A (zh) * | 2019-07-31 | 2021-03-30 | 创新先进技术有限公司 | 基于区块链的票据号码分配方法、装置及电子设备 |
CN110458631A (zh) * | 2019-07-31 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 基于区块链的票据号码分配方法、装置及电子设备 |
US11429983B2 (en) | 2019-07-31 | 2022-08-30 | Advanced New Technologies Co., Ltd. | Blockchain-based bill write-off method, apparatus, electronic device, and storage medium |
CN110473030B (zh) * | 2019-07-31 | 2021-03-23 | 创新先进技术有限公司 | 基于区块链的电子票据号码申领方法及装置、电子设备 |
US10846765B2 (en) | 2019-07-31 | 2020-11-24 | Advanced New Technologies Co., Ltd. | Blockchain-based e-bill number application method, apparatus, and electronic device |
CN110473030A (zh) * | 2019-07-31 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 基于区块链的电子票据号码申领方法及装置、电子设备 |
CN110458631B (zh) * | 2019-07-31 | 2020-11-10 | 创新先进技术有限公司 | 基于区块链的票据号码分配方法、装置及电子设备 |
US11049115B2 (en) | 2019-07-31 | 2021-06-29 | Advanced New Technologies Co., Ltd. | Blockchain-based bill write-off method, apparatus, electronic device, and storage medium |
US10789628B2 (en) | 2019-07-31 | 2020-09-29 | Alibaba Group Holding Limited | Blockchain-based bill number allocation method, apparatus and electronic device |
CN110751528A (zh) * | 2019-08-30 | 2020-02-04 | 航天信息股份有限公司 | 一种智能合约生成区块链电子发票代码号码的方法及系统 |
CN110597834A (zh) * | 2019-09-16 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 电子票据数据处理方法、装置和计算机设备 |
CN110597834B (zh) * | 2019-09-16 | 2024-09-06 | 腾讯科技(深圳)有限公司 | 电子票据数据处理方法、装置和计算机设备 |
CN110599272B (zh) * | 2019-09-20 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 一种开具电子发票的方法和相关产品 |
CN110599272A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种开具电子发票的方法和相关产品 |
CN110597915A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 电子发票报税的处理方法、装置、终端及存储介质 |
CN110599275A (zh) * | 2019-09-27 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据处理方法、装置及存储介质 |
CN110888936A (zh) * | 2019-11-15 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、电子设备及存储介质 |
CN110933196B (zh) * | 2019-11-26 | 2022-12-06 | 上海莉莉丝科技股份有限公司 | 用于全球同服架构的id分配方法、系统及存储介质 |
CN110933196A (zh) * | 2019-11-26 | 2020-03-27 | 上海莉莉丝科技股份有限公司 | 用于全球同服架构的id分配方法、系统及存储介质 |
CN112905384A (zh) * | 2019-12-04 | 2021-06-04 | 北京沃东天骏信息技术有限公司 | 生成标识的系统和方法 |
CN111178992A (zh) * | 2019-12-25 | 2020-05-19 | 航天信息股份有限公司 | 一种电子票据票源发放方法及系统 |
CN111242707A (zh) * | 2020-01-21 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及可读存储介质 |
TWI747287B (zh) * | 2020-05-15 | 2021-11-21 | 華南商業銀行股份有限公司 | 交易驗證系統及方法 |
TWI789972B (zh) * | 2020-05-15 | 2023-01-11 | 華南商業銀行股份有限公司 | 可中斷連接之交易驗證系統及方法 |
TWI789971B (zh) * | 2020-05-15 | 2023-01-11 | 華南商業銀行股份有限公司 | 交互判斷合法性的交易驗證系統及方法 |
CN111737324A (zh) * | 2020-08-14 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 数据分析方法及装置 |
CN112508632B (zh) * | 2020-12-23 | 2024-08-06 | 安徽航天信息有限公司 | 发票数据处理方法、装置、计算机设备及存储介质 |
CN112508632A (zh) * | 2020-12-23 | 2021-03-16 | 安徽航天信息有限公司 | 发票数据处理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3832578A4 (en) | 2022-02-16 |
JP2022501752A (ja) | 2022-01-06 |
WO2020177533A1 (zh) | 2020-09-10 |
US11632441B2 (en) | 2023-04-18 |
CN111091429B (zh) | 2024-03-22 |
CN111091429A (zh) | 2020-05-01 |
US20210203751A1 (en) | 2021-07-01 |
EP3832578A1 (en) | 2021-06-09 |
CN109949111B (zh) | 2023-12-08 |
JP7271045B2 (ja) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109949111A (zh) | 电子票据标识分配方法、电子票据生成方法、装置及系统 | |
AU2019295818B2 (en) | Block chain-based data processing method and device | |
CN108153670B (zh) | 一种接口测试方法、装置及电子设备 | |
CN108470298B (zh) | 资源数值转移的方法、装置和系统 | |
CN107395353A (zh) | 一种区块链共识方法及装置 | |
CN112671950B (zh) | 基于区块链的域名处理方法、装置、电子设备和存储介质 | |
CN111784329A (zh) | 业务数据的处理方法和装置、存储介质、电子装置 | |
CN110362473A (zh) | 测试环境的优化方法及装置、存储介质、终端 | |
US20210073177A1 (en) | Blockchain-as-a-service integrated hybrid object storage system in multi-cloud computing environment | |
CN111880967A (zh) | 云场景下的文件备份方法、装置、介质和电子设备 | |
CN110263581A (zh) | 合同签署方法、系统、终端设备及存储介质 | |
CN104536852B (zh) | 数据恢复方法及装置 | |
CN114092252A (zh) | 一种区块链交易执行方法、装置、设备及可读存储介质 | |
CN109672752A (zh) | 数据同步的方法及节点 | |
CN113687964A (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN110196680A (zh) | 数据处理方法、装置及存储介质 | |
CN112417052B (zh) | 区块链网络中的数据同步方法、装置、设备及存储介质 | |
CN110858211B (zh) | 数据存储方法、装置及系统、存储介质 | |
CN113760519B (zh) | 分布式事务处理方法、装置、系统和电子设备 | |
JP2021149506A (ja) | 情報処理装置、情報処理方法およびプログラム | |
CN108898448A (zh) | 一种广告数据同步方法及装置 | |
CN110262856A (zh) | 一种应用程序数据采集方法、装置、终端及存储介质 | |
CN109828908A (zh) | 接口测试参数加密方法、装置、电子设备及存储介质 | |
CN109471790A (zh) | 送核参数比对方法及装置、计算机装置及可读存储介质 | |
CN106130740B (zh) | 数字证书同步方法、数字签名服务器及数字证书同步系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40009166 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |