CN116563041A - 一种数据对账方法以及相关装置 - Google Patents
一种数据对账方法以及相关装置 Download PDFInfo
- Publication number
- CN116563041A CN116563041A CN202210062599.6A CN202210062599A CN116563041A CN 116563041 A CN116563041 A CN 116563041A CN 202210062599 A CN202210062599 A CN 202210062599A CN 116563041 A CN116563041 A CN 116563041A
- Authority
- CN
- China
- Prior art keywords
- service
- service flow
- flow
- data
- rule
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 124
- 238000003860 storage Methods 0.000 claims description 65
- 230000008569 process Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 14
- 238000001914 filtration Methods 0.000 description 13
- 238000009826 distribution Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000003321 amplification Effects 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
-
- 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/23—Updating
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Computational Linguistics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种数据对账方法以及相关装置,本申请可应用于地图领域。本申请包括:获取第一业务流;根据第一业务流的数据来源,确定第一规则;根据第一规则和第一业务流,在业务流集合中确定目标业务流,目标业务流为业务流集合中的一条或多条业务流;根据第一规则,对第一业务流和目标业务流进行处理,得到待匹配业务流,待匹配业务流用于数据对账,待匹配业务流更新至业务流集合,或者,根据第一规则,对第一业务流和目标业务流进行处理,得到第一业务流的对账结果。通过上述方法,可以有效处理多条业务流的对账请求。提升复杂对账场景的处理能力,并且提高业务对账效率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据对账方法以及相关装置。
背景技术
数据对账主要是针对数据***(比如大数据接入***等)中数据消息流通时的收发消息进行核对和校验,以验证数据消息流通的正确性和可靠性。
目前,通常的数据对账方法如下:对账***获取两条业务流后,对业务流的单指标进行对账处理。具体的,检测两条业务流中单业务数据是否相等。例如:对账***接收付款业务流和订单业务流后,根据付款业务流中的付款金额和订单业务流中的订单金额,对付款业务流和订单业务流进行对账处理,检测付款金额与订单金额是否一致。
但是,随着业务的发展,数据对账***需要处理越来越多的业务流。针对多业务流(多业务流中可以包括多业务数据)对账处理,目前的数据对账方法无法解决。
发明内容
本申请提供了一种数据对账方法以及相关装置,数据对账装置获取业务流后,在处理规则的指示下,可以与业务流集合中的业务流进行处理得到新的待匹配业务流;也可以在处理规则的指示下,与业务流集合中的业务流进行处理,得到该业务流的对账结果。通过上述方法,可以有效处理多条业务流的对账请求。提升复杂对账场景的处理能力,并且提高业务对账效率。
有鉴于此,本申请一方面提供一种数据对账方法,包括:
获取第一业务流,第一业务流的数据来源为第一业务***;
根据第一业务流的数据来源,确定第一规则,第一规则指示的规则用于对来自第一业务***的业务流进行处理;
根据第一规则和第一业务流,在业务流集合中确定目标业务流,目标业务流为业务流集合中的一条或多条业务流;
根据第一规则,对第一业务流和目标业务流进行处理,得到待匹配业务流,待匹配业务流用于数据对账,待匹配业务流更新至业务流集合,
或者,根据第一规则,对第一业务流和目标业务流进行处理,得到第一业务流的对账结果。
本申请另一方面提供一种该数据对账装置,包括:
收发模块,用于获取第一业务流,第一业务流的数据来源为第一业务***;
处理模块,用于根据第一业务流的数据来源,确定第一规则,第一规则指示的规则用于对来自第一业务***的业务流进行处理;
处理模块,还用于根据第一规则和第一业务流,在业务流集合中确定目标业务流,目标业务流为业务流集合中的一条或多条业务流;
处理模块,还用于根据第一规则,对第一业务流和目标业务流进行处理,得到待匹配业务流,待匹配业务流用于数据对账,待匹配业务流更新至业务流集合,
或者,根据第一规则,对第一业务流和目标业务流进行处理,得到第一业务流的对账结果。
在一种可能的实现方式中,
处理模块,还用于根据第一规则,对第一业务流包括的第一业务数据和目标业务流包括的第二业务数据进行连接处理,得到待匹配业务流,待匹配业务流包括第一业务数据和第二业务数据。
在一种可能的实现方式中,
处理模块,还用于根据第一规则,对第一业务流包括的第一业务数据和目标业务流包括的第二业务数据进行四则运算处理,得到待匹配业务流,待匹配业务流包括第三业务数据,其中,第三业务数据为第一业务数据和第二业务数据进行四则运算处理的结果。
在一种可能的实现方式中,第一业务流还包括超时时间;
处理模块,还用于在第一业务流的超时时间内,根据第一规则在业务流集合中查找是否存在目标业务流;
处理模块,还用于若存在,则确定目标业务流;
处理模块,还用于若不存在,则结束第一业务流的处理。
在一种可能的实现方式中,
处理模块,还用于当第一规则包括多条规则,对第一业务流进行复制处理,得到多条第一业务流,其中,第一业务流的复制数量由第一规则中规则的数量指示;
处理模块,还用于根据第一规则包括的多条规则,对多条第一业务流进行处理,得到多条待匹配业务流。
在一种可能的实现方式中,业务流集合的存储区域包括Flink缓存和Redis缓存。
在一种可能的实现方式中,第一业务流包括的第一业务数据,与目标业务流包括的目标业务数据之间的大小关系,大小关系包括:等于、大于、小于、大于或等于,或者,小于或等于;
或者,第一业务流包括的第一业务数据,与目标业务流包括的目标业务数据之间的从属关系,从属关系包括:包含、或者不包含。
本申请另一方面提供一种计算机设备,包括:存储器、处理器以及总线***;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面的方法;
总线***用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
获取业务流后,在处理规则的指示下,可以与业务流集合中的业务流进行处理得到新的待匹配业务流;也可以在处理规则的指示下,与业务流集合中的业务流进行处理,得到该业务流的对账结果。通过上述方法,可以有效处理多条业务流的对账请求。提升复杂对账场景的处理能力,并且提高业务对账效率。
附图说明
图1是本申请实施例提供的一种数据对账方法的实施环境的示意图;
图2为本申请实施例提出的一种数据对账方法的实施例示意图;
图3为本申请实施例中数据对账装置的框架示意图;
图4为本申请实施例中数据放大示意图;
图5为本申请实施例中第一业务流的一种处理方法示意图;
图6为本申请实施例中第一业务流的另一种处理方法示意图;
图7为本申请实施例中一种数据对账装置的结构示意图;
图8是本申请实施例提供的一种服务器结构示意图;
图9是本申请实施例提供的一种终端设备结构示意图。
具体实施方式
本申请提供了一种数据对账方法以及相关装置,数据对账装置获取业务流后,在处理规则的指示下,可以与业务流集合中的业务流进行处理得到新的待匹配业务流;也可以在处理规则的指示下,与业务流集合中的业务流进行处理,得到该业务流的对账结果。通过上述方法,可以有效处理多条业务流的对账请求。提升复杂对账场景的处理能力,并且提高业务对账效率。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例可应用于云技术、人工智能、智慧交通等各种场景。下面对云技术进行简单介绍。
云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
本申请涉及云技术中的云计算、云存储和管理工具等技术,对工作流执行过程中的变量进行存储和读取。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用***能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(infrastructure as a service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作***)、存储设备、网络设备。
按照逻辑功能划分,在基础设施即服务(infrastructure as a service,IaaS)层上可以部署平台即服务(platform as a service,PaaS)层,PaaS层之上再部署软件即服务(software as a service,SaaS)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、***器等。一般来说,SaaS和PaaS相对于IaaS是上层。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储***(以下简称存储***)是指通过集群应用、网格技术以及分布存储文件***等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储***。
目前,存储***的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件***上,文件***将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID entity,ID)等额外的信息,文件***将每个对象分别写入该逻辑卷的物理存储空间,且文件***会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件***能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储***为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(redundant array of independent disk,RAID)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理***(database management system,DBMS)是为管理数据库而设计的电脑软件***,一般具有存储、截取、安全保障、备份等基础功能。数据库管理***可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言(Structured QueryLanguage)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
下面对本申请的实施环境进行说明。
图1是本申请实施例提供的一种数据对账方法的实施环境的示意图。该实施环境包括终端101,或者该实施环境包括终端101和数据对账***102。终端101通过无线网络或有线网络与数据对账***102相连。
终端101能够是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器或MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器,膝上型便携计算机中的至少一种。终端101安装和运行有支持工作流执行的应用程序,例如,该应用程序能够是编译程序、汇编程序等语言处理应用。
数据对账***102包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。数据对账***102用于为支持工作流执行的应用程序提供后台服务。可选地,数据对账***102承担主要处理工作,终端101承担次要处理工作;或者,数据对账***102承担次要处理工作,终端101承担主要处理工作;或者,数据对账***102或终端101分别能够单独承担处理工作。或者,数据对账***102和终端101两者之间采用分布式计算架构进行协同计算。
可选地,该数据对账***102包括至少一台服务器1021以及数据库1022,该数据库1022用于存储数据,在本申请实施例中,该数据库1022中能够存储变量,为至少一台服务器1021提供数据服务。可选地,该数据对账***102也可以不包括该数据库1022,服务器1021可以将变量存储于服务器的内存中。
服务器能够是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式***,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端能够是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
本领域技术人员能够知晓,上述终端101、服务器1021的数量能够更多或更少。比如上述终端101、服务器1021能够仅为一个,或者上述终端101、服务器1021为几十个或几百个,或者更多数量,本申请实施例对终端或服务器的数量和设备类型不加以限定。
示例性的,本申请实施例中将执行该数据对账方法的设备称为数据对账装置,包括该数据对账装置的***称为数据对账***,一种可能的实现方式中,由服务器执行该数据对账方法。可以理解的是,该数据对账方法还可以应用于终端中,即由终端执行该数据对账方法。
请参阅图2,图2为本申请实施例提出的一种数据对账方法的实施例示意图。本申请实施例提出的一种数据对账方法包括:
201、获取第一业务流。
本实施例中,数据对账装置获取第一业务流。该第一业务流的来源为第一业务***。示例性的,第一业务***可以订单***。第一业务***也可以是支付***。第一业务***还可以是商品管理***。
本申请中,为了便于理解将第一业务流中包括的业务数据称为第一业务数据。示例性的,以第一业务***为订单***为例,则第一业务流可以是请求查询商品A的支付金额与商品A的商品定价金额是否一致。该第一业务流包括的第一业务数据可以是:支付流水号A和订单号A。
又一种示例中,以第一业务***为支付***为例,则第一业务流包括的第一业务数据可以是:支付金额A和支付流水号A。
又一种示例中,以第一业务***为商品管理***为例,则第一业务流包括的第一业务数据可以是:商品定价金额A和订单号A。
202、根据第一业务流的数据来源,确定第一规则。
本实施例中,数据对账装置中可以配置一条或多条规则。该规则用于指示不同数据来源的业务流的处理方法。例如:第一规则可以指示数据来源为支付***的业务流,与数据来源为商品管理***的业务流进行连接处理。又例如:第一规则可以指示数据来源为商品管理***的业务流,与数据来源为支付***的业务流进行连接处理。又例如:第一规则可以指示数据来源订单***的业务流,查询商品的支付金额与商品定价金额是否一致。
可以理解的是,数据对账装置还可以针对同一个数据来源配置多条不同的规则,本申请实施例对此不作赘述。
203、根据第一规则和第一业务流,在业务流集合中确定目标业务流。
本实施例中,根据第一规则和第一业务流,在业务流集合中确定目标业务流。具体的,数据对账装置在获取第一业务流后,根据第一业务流的数据来源确定第一规则。然后,根据第一业务流和第一规则的联合指示,在业务流集合中查找并确定目标业务流。本申请中,将数据对账装置中保存的一条或多条业务流统称为业务流集合。
示例性的,第一业务***为订单***,该第一业务流包括的第一业务数据可以是:支付流水号A和订单号A。数据对账装置根据该第一业务流和第一规则,在业务流集合中确定目标业务流,该目标业务流为数据来源是商品管理***的第二业务流,该第二业务流包括的第二业务数据可以是:商品定价金额A和订单号A。换言之,数据对账装置根据第一业务数据包括的订单号A,在业务流集合中查找哪些业务流包括的业务数据为订单号A。因此,通过上述方法,根据商品A的支付流水号A和订单号A,可以获取该商品A的商品定价金额A。
又一种示例中,第一业务***为支付***,则第一业务流包括的第一业务数据可以是:支付金额A和支付流水号A。数据对账装置获取该第一业务流后,根据第一规则和第一业务流,在业务流集合中确定目标业务流,该目标业务流为数据来源是订单***的第二业务流,该第二业务流包括的第二业务数据可以是:支付流水号A和订单号A。换言之,数据对账装置根据第一业务数据包括的支付流水号A,在业务流集合中查找哪些业务流包括的业务数据为支付流水号A。因此,通过上述方法,根据商品A的支付金额A和支付流水号A,可以获取该商品A的订单号A。
又一种示例中,第一业务***为商品管理***,该第一业务流包括的第一业务数据可以是:商品定价金额A和订单号A。数据对账装置根据该第一业务流和第一规则,在业务流集合中确定目标业务流,该目标业务流为数据来源是订单***的第二业务流,该第二业务流包括的第二业务数据可以是支付流水号A和订单号A。换言之,数据对账装置根据第一业务数据包括的订单号A,在业务流集合中查找哪些业务流包括的业务数据为订单号A。因此,通过上述方法,根据商品A的商品定价金额A和订单号A,可以获取该商品A的支付流水号A。
步骤203后,根据第一规则,可以对第一业务流和目标业务流执行不同的处理方式。具体的,可以对第一业务流和目标业务流进行处理,得到新的业务流,该新的业务流为了便于描述,本申请中称为待匹配业务流,即进入步骤204;或者,对第一业务流和目标业务流进行处理,得到第一业务流的对账结果,即进入步骤205。
204、根据第一规则,对第一业务流和目标业务流进行处理,得到待匹配业务流。
本实施例中,示例性的,第一业务***为订单***,该第一业务流包括的第一业务数据可以是:支付流水号A和订单号A。该目标业务流包括业务数据可以是:商品定价金额A和订单号A。根据第一业务流和目标业务流进行处理,得到待匹配业务流,该待匹配业务流包括的业务数据为:支付流水号A、商品定价金额A和订单号A。
示例性的,第一业务***为订单***,该第一业务流包括的第一业务数据可以是:支付流水号A和订单号A。该目标业务流包括业务数据可以是:商品定价金额A和订单号A。根据第一业务流和目标业务流进行处理,得到待匹配业务流,该待匹配业务流包括的业务数据为:支付流水号A、商品定价金额A和订单号A。
又一种示例中,第一业务***为支付***,该第一业务流包括的第一业务数据可以是:支付金额A和支付流水号A。该目标业务流包括业务数据可以是:支付流水号A和订单号A。根据第一业务流和目标业务流进行处理,得到待匹配业务流,该待匹配业务流包括的业务数据为:支付流水号A、支付金额A和订单号A。
又一种示例中,第一业务***为商品管理***,该第一业务流包括的第一业务数据可以是:商品定价金额A和订单号A。该目标业务流包括业务数据可以是:支付流水号A和订单号A。根据第一业务流和目标业务流进行处理,得到待匹配业务流,该待匹配业务流包括的业务数据为:支付流水号A、商品定价金额A和订单号A。
进一步的,得到待匹配业务流后,还可以根据第一规则(或者其它规则)的指示,与业务流集合中的其它业务流进行处理,得到新的业务流。为了便于区分,将待匹配业务流称为第一待匹配业务流,该新的业务流称为第二待匹配业务流。对第一待匹配业务流的具体处理方式与第一业务流的处理方式一致,此处不作赘述。示例性的,第一待匹配业务流包括的业务数据为:支付流水号A、支付金额A和订单号A。根据该第一待匹配业务流和第一规则,在业务流集合中确定目标业务流,该目标业务流包括的业务数据为:商品定价金额A和订单号A。根据该目标业务流和第一待匹配业务流进行处理,得到第二待匹配业务流,该第二待匹配业务流包括的业务数据为:支付流水号A、支付金额A、商品定价金额A和订单号A。
通过上述方法,数据对账装置可以将来自多业务***的多业务流处理得到新的业务流(即待匹配业务流)。数据对账装置得到待匹配业务流后,将该待匹配业务流更新至业务流集合中。换言之,将该待匹配业务流存储至业务流集合中,以便后续获取新的业务流后,该新的业务流可以根据规则的指示从业务流集合中确定该待匹配业务流。实现多业务***的多业务流的对账处理。
一种可能的实现方式中,通过Kafka进行业务流的处理。
205、根据第一规则,对第一业务流和目标业务流进行处理,得到第一业务流的对账结果。
本实施例中,根据第一规则,对第一业务流和目标业务流进行处理,可以得到第一业务流的对账结果。
示例性的,当第一业务流包括的第一业务数据为:支付流水号A和订单号A。而目标业务流包括的目标业务数据为:支付流水号A、支付金额A、商品定价金额A和订单号A。根据第一业务流和该目标业务流,可以得到第一业务流的对账结果。即支付流水号A和订单号A的订单的支付金额A与该订单的商品定价金额A是否一致。进而得到第一业务流的对账结果。
本申请实施例中,数据对账装置获取业务流后,在处理规则的指示下,可以与业务流集合中的业务流进行处理得到新的待匹配业务流;也可以在处理规则的指示下,与业务流集合中的业务流进行处理,得到该业务流的对账结果。通过上述方法,可以有效处理多条业务流的对账请求。提升复杂对账场景的处理能力,并且提高业务对账效率。
结合前述实施例,下面结合附图介绍本申请实施例中数据对账装置具体涉及的结构,请参阅图3,图3为本申请实施例中数据对账装置的框架示意图。该数据对账装置按照功能划分可以分为7层,具体包括:业务数据层,接入层、分发层、匹配层、逻辑层、数据层和调度层。
其中,业务数据层指的是各个业务***产生的原始数据(即业务流以及业务流包括的业务数据),该业务数据层包括但不限于数据库数据和队列数据,其中,数据库数据指的数据对账装置中存储的业务数据,通常可以使用canal采集;队列数据指的是数据对账装置从第三方采集的数据,例如是kafka队列数据。数据库数据的数据格式和队列数据的数据格式,需要遵循各自数据的标准协议。业务数据层包括:业务流1···业务流N,共计N条业务流,N为正整数。
接入层用于对多种数据来源的异构数据进行标准化处理,具体按照功能划分可以分为:标准数据,定制数据和连接数据,其中,标准数据指的是若业务流已经按照标准协议处理,然后接入该数据对账装置,则该业务流称为标准数据;定制数据指的是业务流未经标准协议处理,需要数据对账装置进行进一步标准化处理;连接数据指的是数据对账装置对业务流处理得到的数据,该数据重新进入数据对账装置中等待进一步处理,连接数据例如:待匹配业务流。
示例性的,需要对优惠券的可领取时间进行对账。首先,优惠券领取流水数据(该优惠券领取流水数据作为第一业务流)根据优惠券id在数据对账装置的业务流集合中查询其优惠券状态(是否可用)。查询获得查询结果后,根据优惠券领取流水数据和优惠券状态连接产生连接数据A(连接数据A作为待匹配业务流)。然后该连接数据A流转回分发层,在分发层中,该连接数据A作为第一业务流,分发层根据规则对连接数据A再次分发。数据对账装置根据连接数据A中的优惠券id,在业务流集合中查询优惠券的可领取时间,然后对账的时候先判断优惠券状态再判断领取时间是否在可领取时间内,得到优惠券领取流水数据的对账结果。
分发层用于根据规则对业务流(业务数据)进行数据放大和数据过滤后,发送至匹配层。具体的,分发层可以分为:规则订阅、数据放大、数据过滤。其中,规则订阅指的是不同数据来源(例如不同的业务***)可以订阅不同的规则,当业务流到达分发层后,该业务流根据数据来源,确定所订阅的规则,然后根据该规则配置该数据来源的规则信息。数据对账装置可以根据业务流中的db_name或者table_name确定该业务流的数据来源。
为了便于理解,请参阅图4,图4为本申请实施例中数据放大示意图。由于同一业务流可能需要涉及不同的对账场景,因此,同一条业务流需要进行数据放大(即复制该同一条业务流得到N条业务流)。具体的数据放大,可以根据规则指示,即同一条业务流在M条规则的指示下,被复制为N条业务流,其中,M为正整数。
规则包括过滤条件,业务流之间连接的关联值(key),对账逻辑(包括但不限于:字段是否需要转换、字段之间是否需要加减乘除、是否有条件判断,不同的条件对账的规则不同)。
数据过滤:对业务流根据规则的过滤条件进行数据过滤(或筛选),满足过滤条件的业务流会流转到匹配层,其中过滤条件可以采用针对JSON过滤的抽象语法树(abstractsyntax tree,AST)算法,提升对数据过滤的效率。进一步的,可以配置SQL语句完成数据过滤。例如:对于某些业务流,若数据过期可以进行过滤。
匹配层:匹配层的主要功能是根据不同的规则,对业务流进行关联或者匹配。具体的,业务流集合中,按照存储时间的长度,存储时间较短的业务流可以称为流;存储时间较长的业务流可以称为配。业务流集合中的业务流可以视为一种模板。数据对账装置获取业务流后,若在该业务流的超时时间内,未执行处理(即没有成功匹配模板业务流),则视为该业务流对账失败。
进行数据关联和下发,模版主要分为两大类,流+流和流+配,根据关联方式和下发队列的不同细分不同的模版,并且匹配层有数据重发机制,由于不同***的业务数据到达对账***的时间存在差异,所以当前时间窗内未匹配成功的数据会进入重发队列,进入下一个时间窗口进行匹配,直到数据过期,过期直接进入结果队列,判定对账失败。
关于匹配层中具体的业务流匹配方法,请参阅图5和图6,其中图5为本申请实施例中第一业务流的一种处理方法示意图。图6为本申请实施例中第一业务流的另一种处理方法示意图。其中,图5示意的是存储时间较短的目标业务流进行处理的过程,即“流”的处理过程。图6示意的是存储时间较长的目标业务流进行处理的过程,即“配”的处理过程。
图5示意的第一业务流与目标业务流的处理流程包括:
5.1、第一业务流直接下发至存储队列,即第一业务流作为待匹配业务流存储至业务流集合;
5.2、第一业务流的业务数据和目标业务流的业务数据匹配成功,两者的业务数据发送至对账队列;
5.3、第一业务流的业务数据和目标业务流的业务数据匹配成功,两者的业务数据发送至连接队列;
5.4、第一业务流和目标业务流匹配成功,第一业务流发送至存储队列;
5.5、无论第一业务流的业务数据和目标业务流的业务数据是否匹配成功,第一业务流超过超期时间后,第一业务流下发至连接队列;
5.6、时间窗口内的第一业务流的业务数据和目标业务流的业务数据会进行合并,例如:指定字段数值累加、拼接成集合等。当第一业务流超过超期时间后,下发至连接队列。
图6示意的第一业务流与目标业务流的处理流程包括:
6.1、第一业务流的业务数据和目标业务流的业务数据匹配成功,两者的业务数据发送至对账队列;
6.2、第一业务流的业务数据和目标业务流的业务数据匹配成功,两者的业务数据发送至连接队列;
6.3、第一业务流的业务数据和目标业务流的业务数据匹配成功,两者的业务数据发送至存储队列。
逻辑层:逻辑层具体的功能为:对业务流进行具体的处理。例如,对业务流按照不同的队列进行数据路由。该队列包括但不限于:对账队列、连接队列、存储队列和结果队列)。具体的处理方法包括但不限于:连接处理、数据转换处理、四则运算处理和分支逻辑处理等。
其中,对账队列:对账队列的主要功能是对第一业务流的业务数据和目标业务流的业务数据进行对比,对比的方式包括等于、大于、大于等于、小于、小于等于、包含、不包含、区间比较。连接队列:连接队列的主要功能是对第一业务流和目标业务流进行连接处理,得到待匹配业务流。当规则指示该待匹配业务流需要发送至分发层时,该待匹配业务流进入连接队列;存储队列:存储队列的主要功能是对第一业务流和目标业务流进行连接处理,得到待匹配业务流当规则指示该待匹配业务流需要发送至缓存时,该待匹配业务流进入存储队列,该缓存可以是远程字典服务(remote dictionary server,Redis)。
数据转换:数据对账装置可以对业务流数据进行转换,以便进行对账处理。例如:调用一些特殊的函数(比如日期转时间戳)。转换函数的主要功能是预加载用户定义函数(User defined function,UDF),结合Java的反射和注解特性,在规则配置中添加注解名,达到无需硬编码即可调用UDF。
四则运算:数据对账装置可以对业务流数据进行四则运算处理,以便进行对账处理。对比的业务数据可能是多个业务数据的四则运算的结果,四则运算的主要功能是提供四则运算能力,在规则配置中添加业务数据间的运算方式,达到无需硬编码解决四则运算的问题,例如对比的业务数据是字段A乘以字段B-字段C,只需要配置A*B-C即可。一种可能的实现方式为:编写泛型函数,封装四则运算,把需要运算的两个字段对应的值和运算方式传递进函数,返回结果。订单和支付进行实际支付金额对账,订单的总订单金额-优惠金额=实际支付金额,再和支付进行对账。
分支逻辑:数据对账装置可以对业务数据,在不同需求下采用不同的对账规则和对账指标。分支逻辑的主要功能是根据业务数据的一个或多个字段的不同,选择不同的对账规则和对账指标,提高对账的自由度。例如:优惠券可领取时间的区间获取的方式有几种,例如type=1明文写死某个日期,type=2动态生成,那么这里需要根据type进行不同的转换和对账。
数据层:数据层的主要功能包括业务流(业务数据)的采集、存储和展示内容,包括规则配置的存储、缓存业务流(业务数据)的采集和存储、对账结果的存储和展示。规则配置:规则配置的主要功能是存储业务数据的接入、过滤、匹配和对账的具体执行流程。通过预加载至缓存,业务数据到达时,可以通过关键信息找到对应配置,形成执行流程。
缓存数据:由于业务流(业务数据)的到达时间存在差异,例如:存在静态数据(更新较慢的数据),因此提供多种缓存方式。根据业务流(业务数据)的使用时效性,提供Flink缓存和Redis缓存两种缓存方式,解决因业务流(业务数据)到达时间差异引起的对账失败情况。对账结果:对账结果主要分三类:对账成功、数据匹配超时、业务数据对比错误。具体的,成功指的是:业务流匹配成功且业务数据对比成功;数据匹配超时:在业务规定的有限时间内,第一业务流无法找到目标业务流,发出告警;业务数据对比错误:业务流匹配成功但业务数据对比失败,发出告警。报表:报表的主要功能是提供对账结果,对账结果主要包含两类数据,概览数据和明细数据。概览数据:提供截至当前数据对账装置的数据处理量、对账成功数、对账失败数、各种对账失败原因分布等。明细数据:提供截至当前对账失败的数据明细信息,包括规则ID、所属业务、数据来源、失败原因、各层数据的处理时间戳、业务数据关键字段信息。
调度层:调度层具体的用于提供定时的调度能力,包括规则配置、离线配置、结果统计计算和发出告警调度。具体的,规则加载,用于是把规则配置定时加载到缓存中。示例性的,规则加载时间间隔为10秒。离线配置:由于存在静态的业务流(业务数据),单纯依靠Flink缓存将业务流实时写入Redis缓存,可能存在一定的风险(例如数据过期、数据丢失等)。因此,可以通过离线配置等调度主要是把业务数据实时写入Redis缓存的一个兜底补充,对数据进行续期并且降低数据丢失的风险。示例性的,离线配置的时间间隔为1天。结果统计:Flink缓存实时处理的数据量比较大,如直接写入会对数据库造成比较大的风险,所以在Flink层面对处理的数据进行预聚合,定时写入数据库。示例性的,结果统计间隔30秒。错账告警:当出现对账失败时候,需要通过管道把错账告警至相关负责人,为了避免阻塞对账主链路。例如:采用Python脚本定时遍历数据的对账结果,把对账失败的数据发送到管道,错账告警的间隔1分钟。
结合前述实施例,下面介绍本申请实施例中数据对账方法的一种可选实施例,根据第一规则,对第一业务流和目标业务流进行处理,得到待匹配业务流,包括:
根据第一规则,对第一业务流包括的第一业务数据和目标业务流包括的第二业务数据进行连接处理,得到待匹配业务流,待匹配业务流包括第一业务数据和第二业务数据。
具体的,连接处理可以理解为图3中的连接队列、和存储队列进行的相关处理。其中,连接队列的主要功能是对第一业务流和目标业务流进行连接处理,得到待匹配业务流。当规则指示该待匹配业务流需要发送至分发层时,该待匹配业务流进入连接队列。
存储队列的主要功能是对第一业务流和目标业务流进行连接处理,得到待匹配业务流当规则指示该待匹配业务流需要发送至缓存时,该待匹配业务流进入存储队列,该缓存可以是远程字典服务(remote dictionary server,Redis)。
结合前述实施例,下面介绍本申请实施例中数据对账方法的一种可选实施例,根据第一规则,对第一业务流包括的第一业务数据和目标业务流包括的第二业务数据进行四则运算处理,得到待匹配业务流,待匹配业务流包括第三业务数据,其中,第三业务数据为第一业务数据和第二业务数据进行四则运算处理的结果。
具体的,四则运算处理可以理解为图3中四则运算进行的相关处理。四则运算:数据对账装置可以对业务流数据进行四则运算处理,以便进行对账处理。对比的业务数据可能是多个业务数据的四则运算的结果,四则运算的主要功能是提供四则运算能力,在规则配置中添加业务数据间的运算方式,达到无需硬编码解决四则运算的问题,例如对比的业务数据是字段A乘以字段B-字段C,只需要配置A*B-C即可。一种可能的实现方式为:编写泛型函数,封装四则运算,把需要运算的两个字段对应的值和运算方式传递进函数,返回结果。订单和支付进行实际支付金额对账,订单的总订单金额-优惠金额=实际支付金额,再和支付进行对账。
结合前述实施例,下面介绍本申请实施例中数据对账方法的一种可选实施例,根据第一规则,在业务流集合中确定目标业务流,包括:第一业务流还包括超时时间;在第一业务流的超时时间内,根据第一规则在业务流集合中查找是否存在目标业务流;若存在,则确定目标业务流;若不存在,则结束第一业务流的处理。对业务流增加超时时间,在超时时间内业务流在匹配层和分发层流转,到达超时时间且未匹配成功,则结束该业务流。提升业务流处理的可靠性。
结合前述实施例,下面介绍本申请实施例中数据对账方法的一种可选实施例,根据第一规则,对第一业务流和目标业务流进行处理,得到待匹配业务流,包括:当第一规则包括多条规则,对第一业务流进行复制处理,得到多条第一业务流,其中,第一业务流的复制数量由第一规则中规则的数量指示;根据第一规则包括的多条规则,对多条第一业务流进行处理,得到多条待匹配业务流。
示例性的,由于同一业务流可能需要涉及不同的对账场景,因此,同一条业务流需要进行数据放大(即复制该同一条业务流得到N条业务流)。具体的数据放大,可以根据规则指示,即同一条业务流在M条规则的指示下,被复制为N条业务流,其中,M为正整数。
结合前述实施例,下面介绍本申请实施例中数据对账方法的一种可选实施例,业务流集合的存储区域包括Flink缓存和Redis缓存。由于业务流(业务数据)的到达时间存在差异,例如:存在静态数据(更新较慢的数据),因此提供多种缓存方式。根据业务流(业务数据)的使用时效性,提供Flink缓存和Redis缓存两种缓存方式,解决因业务流(业务数据)到达时间差异引起的对账失败情况。
结合前述实施例,下面介绍本申请实施例中数据对账方法的一种可选实施例,第一业务流的对账结果,包括:第一业务流包括的第一业务数据,与目标业务流包括的目标业务数据之间的大小关系,大小关系包括:等于、大于、小于、大于或等于,或者,小于或等于;或者,第一业务流包括的第一业务数据,与目标业务流包括的目标业务数据之间的从属关系,从属关系包括:包含、或者不包含。通过上述方式,可以提升数据对账的实现灵活性。
下面对本申请中的数据对账装置进行详细描述,请参阅图7,图7为本申请实施例中一种数据对账装置的结构示意图。该数据对账装置包括:
收发模块701,用于获取第一业务流,第一业务流的数据来源为第一业务***;
处理模块702,用于根据第一业务流的数据来源,确定第一规则,第一规则指示的规则用于对来自第一业务***的业务流进行处理;
处理模块702,还用于根据第一规则和第一业务流,在业务流集合中确定目标业务流,目标业务流为业务流集合中的一条或多条业务流;
处理模块702,还用于根据第一规则,对第一业务流和目标业务流进行处理,得到待匹配业务流,待匹配业务流用于数据对账,待匹配业务流更新至业务流集合,
或者,根据第一规则,对第一业务流和目标业务流进行处理,得到第一业务流的对账结果。
在一种可能的实现方式中,
处理模块702,还用于根据第一规则,对第一业务流包括的第一业务数据和目标业务流包括的第二业务数据进行连接处理,得到待匹配业务流,待匹配业务流包括第一业务数据和第二业务数据。
在一种可能的实现方式中,
处理模块702,还用于根据第一规则,对第一业务流包括的第一业务数据和目标业务流包括的第二业务数据进行四则运算处理,得到待匹配业务流,待匹配业务流包括第三业务数据,其中,第三业务数据为第一业务数据和第二业务数据进行四则运算处理的结果。
在一种可能的实现方式中,第一业务流还包括超时时间;
处理模块702,还用于在第一业务流的超时时间内,根据第一规则在业务流集合中查找是否存在目标业务流;
处理模块702,还用于若存在,则确定目标业务流;
处理模块702,还用于若不存在,则结束第一业务流的处理。
在一种可能的实现方式中,
处理模块702,还用于当第一规则包括多条规则,对第一业务流进行复制处理,得到多条第一业务流,其中,第一业务流的复制数量由第一规则中规则的数量指示;
处理模块702,还用于根据第一规则包括的多条规则,对多条第一业务流进行处理,得到多条待匹配业务流。
在一种可能的实现方式中,业务流集合的存储区域包括Flink缓存和Redis缓存。
在一种可能的实现方式中,第一业务流包括的第一业务数据,与目标业务流包括的目标业务数据之间的大小关系,大小关系包括:等于、大于、小于、大于或等于,或者,小于或等于;
或者,第一业务流包括的第一业务数据,与目标业务流包括的目标业务数据之间的从属关系,从属关系包括:包含、或者不包含。
图8是本申请实施例提供的一种服务器结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processingunits,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质720(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质720可以是短暂存储或持久存储。存储在存储介质720的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质720通信,在服务器700上执行存储介质720中的一系列指令操作。
服务器700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作***741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器结构。
图9是本申请实施例提供的一种终端设备结构示意图,如图9所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、销售终端设备(Point of Sales,POS)、车载电脑等任意终端设备,以终端设备为手机为例:
图9示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图9,手机包括:射频(Radio Frequency,RF)电路810、存储器820、输入单元820、显示单元840、传感器850、音频电路860、无线保真(wireless fidelity,WiFi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图9中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图9对手机的各个构成部件进行具体的介绍:
RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器880处理;另外,将设计上行的数据发送给基站。通常,RF电路810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元820可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元820可包括触控面板831以及其他输入设备832。触控面板831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元820还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元840可包括显示面板841,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板841。进一步的,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图9中,触控面板831与显示面板841是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在手机移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路860、扬声器861,传声器862可提供用户与手机之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810以发送给比如另一手机,或者将音频数据输出至存储器820以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块870,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器880是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器880可包括一个或多个处理单元;可选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
手机还包括给各个部件供电的电源890(比如电池),可选的,电源可以通过电源管理***与处理器880逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
上述实施例中由终端设备所执行的步骤可以基于该图9所示的终端设备结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述各个实施例描述的方法。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例描述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种数据对账方法,其特征在于,包括:
获取第一业务流,所述第一业务流的数据来源为第一业务***;
根据所述第一业务流的数据来源,确定所述第一规则,所述第一规则指示的规则用于对来自所述第一业务***的业务流进行处理;
根据所述第一规则和所述第一业务流,在业务流集合中确定目标业务流,所述目标业务流为所述业务流集合中的一条或多条业务流;
根据所述第一规则,对所述第一业务流和所述目标业务流进行处理,得到待匹配业务流,所述待匹配业务流用于数据对账,所述待匹配业务流更新至所述业务流集合,
或者,根据所述第一规则,对所述第一业务流和所述目标业务流进行处理,得到所述第一业务流的对账结果。
2.根据权利要求1所述的方法,其特征在于,根据所述第一规则,对所述第一业务流和所述目标业务流进行处理,得到所述待匹配业务流,包括:
根据所述第一规则,对所述第一业务流包括的第一业务数据和所述目标业务流包括的第二业务数据进行连接处理,得到所述待匹配业务流,所述待匹配业务流包括所述第一业务数据和所述第二业务数据。
3.根据权利要求1所述的方法,其特征在于,根据所述第一规则,对所述第一业务流和所述目标业务流进行处理,得到所述待匹配业务流,包括:
根据所述第一规则,对所述第一业务流包括的第一业务数据和所述目标业务流包括的第二业务数据进行四则运算处理,得到所述待匹配业务流,所述待匹配业务流包括第三业务数据,其中,所述第三业务数据为所述第一业务数据和所述第二业务数据进行四则运算处理的结果。
4.根据权利要求1-3中任一项所述的方法,其特征在于,根据所述第一规则,在所述业务流集合中确定所述目标业务流,包括:
所述第一业务流还包括超时时间;
在所述第一业务流的超时时间内,根据所述第一规则在所述业务流集合中查找是否存在所述目标业务流;
若存在,则确定所述目标业务流;
若不存在,则结束所述第一业务流的处理。
5.根据权利要求1-4中任一项所述的方法,其特征在于,根据所述第一规则,对所述第一业务流和所述目标业务流进行处理,得到所述待匹配业务流,包括:
当所述第一规则包括多条规则,对所述第一业务流进行复制处理,得到多条所述第一业务流,其中,所述第一业务流的复制数量由所述第一规则中规则的数量指示;
根据所述第一规则包括的所述多条规则,对多条所述第一业务流进行处理,得到多条所述待匹配业务流。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述业务流集合的存储区域包括Flink缓存和Redis缓存。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述第一业务流的对账结果,包括:
所述第一业务流包括的第一业务数据,与所述目标业务流包括的目标业务数据之间的大小关系,所述大小关系包括:等于、大于、小于、大于或等于,或者,小于或等于;
或者,所述第一业务流包括的第一业务数据,与所述目标业务流包括的目标业务数据之间的从属关系,所述从属关系包括:包含、或者不包含。
8.一种数据对账装置,其特征在于,包括:
收发模块,用于获取第一业务流,所述第一业务流的数据来源为第一业务***;
处理模块,用于根据所述第一业务流的数据来源,确定所述第一规则,所述第一规则指示的规则用于对来自所述第一业务***的业务流进行处理;
所述处理模块,还用于根据所述第一规则和所述第一业务流,在业务流集合中确定目标业务流,所述目标业务流为所述业务流集合中的一条或多条业务流;
所述处理模块,还用于根据所述第一规则,对所述第一业务流和所述目标业务流进行处理,得到待匹配业务流,所述待匹配业务流用于数据对账,所述待匹配业务流更新至所述业务流集合,
或者,根据所述第一规则,对所述第一业务流和所述目标业务流进行处理,得到所述第一业务流的对账结果。
9.一种计算机设备,其特征在于,包括:存储器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,所述处理器用于根据程序代码中的指令执行权利要求1至7中任一项所述的方法;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序和指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210062599.6A CN116563041A (zh) | 2022-01-19 | 2022-01-19 | 一种数据对账方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210062599.6A CN116563041A (zh) | 2022-01-19 | 2022-01-19 | 一种数据对账方法以及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116563041A true CN116563041A (zh) | 2023-08-08 |
Family
ID=87500493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210062599.6A Pending CN116563041A (zh) | 2022-01-19 | 2022-01-19 | 一种数据对账方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116563041A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117097616A (zh) * | 2023-10-17 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 网络配置对账的方法、装置、电子设备和计算机存储介质 |
-
2022
- 2022-01-19 CN CN202210062599.6A patent/CN116563041A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117097616A (zh) * | 2023-10-17 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 网络配置对账的方法、装置、电子设备和计算机存储介质 |
CN117097616B (zh) * | 2023-10-17 | 2024-01-09 | 腾讯科技(深圳)有限公司 | 网络配置对账的方法、装置、电子设备和计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111416845B (zh) | 一种配置边缘设备的方法、装置及存储介质 | |
CN109491968A (zh) | 一种文件处理方法、装置、设备及计算机可读存储介质 | |
CN104778174A (zh) | 一种数据输出控制方法,及设备 | |
CN115658348B (zh) | 微服务调用方法、相关装置及存储介质 | |
CN112363871A (zh) | 一种数据回档方法、装置及存储介质 | |
CN111586177B (zh) | 集群会话防丢失方法及*** | |
CN116563041A (zh) | 一种数据对账方法以及相关装置 | |
CN116976898B (zh) | 一种数据获取方法、数据可视化方法、装置及相关产品 | |
KR102247247B1 (ko) | 데이터베이스 관리 방법 | |
CN115062197A (zh) | 考勤数据检测方法、装置及存储介质 | |
CN115984643A (zh) | 模型训练方法、相关设备及存储介质 | |
CN104135464A (zh) | 一种联运中网页应用的帐号信息处理方法、装置和*** | |
CN116028099A (zh) | 一种安装包生成的方法及相关装置、设备和存储介质 | |
CN115048463B (zh) | 数据迁移方法、***及存储介质 | |
CN115565215B (zh) | 一种人脸识别算法切换方法、装置及存储介质 | |
US20230362659A1 (en) | Microwave design tool | |
CN115883352B (zh) | 服务节点创建方法、相关设备及存储介质 | |
CN117056387A (zh) | 容器日志查询方法、相关设备及存储介质 | |
CN117555962A (zh) | 一种基于跨合约调用的数据存储方法以及相关装置 | |
CN116502196A (zh) | 一种工作流权限管理方法以及相关装置 | |
KR102224771B1 (ko) | 데이터베이스 중단 관리 방법 | |
CN116032433A (zh) | 消息处理方法、相关设备及存储介质 | |
CN115640081A (zh) | 一种业务案件决策方法、装置、电子设备和存储介质 | |
CN117632448A (zh) | 基于跨合约调用的资源分配方法、装置、设备和存储介质 | |
CN117743015A (zh) | 一种sql故障定位方法、装置、***及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |