CN109919691A - 一种数据处理的系统、方法以及装置 - Google Patents
一种数据处理的系统、方法以及装置 Download PDFInfo
- Publication number
- CN109919691A CN109919691A CN201910147156.5A CN201910147156A CN109919691A CN 109919691 A CN109919691 A CN 109919691A CN 201910147156 A CN201910147156 A CN 201910147156A CN 109919691 A CN109919691 A CN 109919691A
- Authority
- CN
- China
- Prior art keywords
- synchronized
- data
- transaction
- transaction record
- data block
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请属于区块链技术领域,公开了一种数据处理的系统、方法以及装置,本申请公开的一种数据处理的方法包括,各同步设备通过加载的至少一个同步进程从电子发票平台中获取待同步数据块的加密数据并对其解密,从解密数据中分别提取待同步数据块中各个交易记录的业务字段并作为待同步数据发送至中心数据库;中心数据库存储各交易记录的业务字段,并根据查询条件,获取相应的交易记录的业务字段,以及将获取的业务字段翻译为交易常用语后输出。这样,使得用户可以直观清晰的获取所需要的信息,降低了查询结果的解读难度,进而提高了数据查询和分析效率。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种数据处理的系统、方法以及装置。
背景技术
随着区块链技术的发展,由于区块链技术具备的去中心化等特点,区块链越来越受到各个行业的青睐,在金融以及比特币等领域发挥着极其重要的作用。
位于区块链上的电子发票平台,采用数据块的方式存储各交易的交易记录。用户通过电子发票平台查询交易记录时,显示的交易记录是对应的哈希字符串。
但是,由于进行交易记录查询的用户通常为非技术人员,因此,对于非技术人员来说,复杂的哈希字符串解读较为困难,信息展示不够直观清晰,难以满足快速数据查询的需求。
发明内容
本申请实施例提供一种数据处理的系统、方法以及装置,用以解决查询交易记录时,查询结果解读困难的问题,降低交易记录的解读难度,使得信息展示更加直观清晰。
一方面,提供一种数据处理的系统,包括:位于区块链中的电子发票平台、至少一个同步设备,以及中心数据库,其中:
电子发票平台,用于采用数据块的方式存储各交易记录的加密数据,每个数据块中包括至少一个交易记录的加密数据;
每一个同步设备,加载有至少一个同步进程,每个同步进程用于从电子发票平台获取待同步数据块的加密数据并对其进行解密,从解密数据中分别提取待同步数据块中各个交易记录的业务字段并作为待同步数据发送至中心数据库;
中心数据库,用于接收各个同步设备发送的待同步数据,并存储各个交易记录的业务字段,以及根据以交易常用语描述的查询条件获取对应的交易记录的业务字段并将获取的业务字段翻译为交易常用语后输出。
一方面,提供一种数据处理的方法,包括:
从电子发票平台获取待同步数据块的加密数据并对其进行解密;
从解密数据中分别提取待同步数据块中各个交易记录的业务字段;
将各个交易记录的业务字段作为待同步数据发送至中心数据库,使得中心数据库执行以下步骤:接收各个同步设备发送的待同步数据,并存储各个交易记录的业务字段,以及根据以交易常用语描述的查询条件获取对应的交易记录的业务字段,并将获取的业务字段翻译为交易常用语后输出。
一方面,提供一种数据处理的装置,包括:
解密单元,用于从电子发票平台获取待同步数据块的加密数据并对其进行解密;
提取单元,用于从解密数据中分别提取待同步数据块中各个交易记录的业务字段;
发送单元,用于将各个交易记录的业务字段作为待同步数据发送至中心数据库,使得中心数据库执行以下步骤:接收各个同步设备发送的待同步数据,并存储各个交易记录的业务字段,以及根据以交易常用语描述的查询条件获取对应的交易记录的业务字段,并将获取的业务字段翻译为交易常用语后输出。
一方面,提供一种同步设备,包括至少一个处理单元、以及至少一个存储单元,其中,存储单元存储有计算机程序,当程序被处理单元执行时,使得处理单元执行上述任意一种数据处理的方法的步骤。
一方面,提供一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当程序在终端设备上运行时,使得终端设备执行上述任意一种数据处理的方法的步骤。
本申请实施例提供的一种数据处理的系统、方法以及装置中,各同步设备通过加载的至少一个同步进程从电子发票平台中获取待同步数据块的加密数据并对其解密,从解密数据中分别提取待同步数据块中各个交易记录的业务字段并作为待同步数据发送至中心数据库;中心数据库存储各交易记录的业务字段,并根据查询条件,获取相应的交易记录的业务字段,以及将获取的业务字段翻译为交易常用语后输出。这样,使得用户可以直观清晰的获取所需要的信息,降低了查询结果的解读难度,进而提高了数据查询和分析效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施方式中提供的一种区块链的结构示意图;
图2为本申请实施方式中提供的一种数据处理系统;
图3为本申请实施方式中一种数据处理的方法的实施流程图;
图4为本申请实施方式中一种数据查询方法的实施流程示意图;
图5为本申请实施方式中一种数据处理的装置的结构示意图;
图6为本申请实施方式中一种同步设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
首先,对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
1、区块(block):也可以称为数据块,用于记录按照一定条件划分出的数据集合和状态结果,是在各个节点达成共识之后形成的,在本申请实施例中,需要记录的数据主要是交易记录。具体的,区块可以是以时间进行划分,例如每间隔10秒(s)产生一个区块,那么这个区块即是记录这10s内的所有数据,或者每间隔一天产生一个区块,那么这个区块即是记录这一天内的所有数据;或者,区块还可以是根据接收到的交易记录的数量进行划分,例如,在接收到指定数量的交易记录之后,生成一个区块,那么这个区块即是用于记录已接收到的指定数量的交易记录,当然,本申请实施例对区块具体的划分方式并不进行限制。图1为本申请实施例中的区块链的结构示意图。参阅图1所示,通过多个区块串联而形成的区块链,其中,一个矩形方框代表一个区块,一个区块包括区块头和区块体。其中,区块头中包括前一区块地址(Prev-block),前一区块地址在区块头中可以通过前一区块哈希码(pre-hash)的形式进行存储,通过前一区块地址的指向将所有的区块串联起来,进而形成一条区块链。区块体中则用于存储具体的数据,例如本申请实施例中的交易记录。
2、区块链:是一种按照时间顺序将区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链通过其上的区块记录按照一定条件划分出的数据集合和状态结果。
3、节点:指区块链网络中参与交易记录存储或者验证等处理过程的计算设备,例如计算机、手机、矿机、台式机或者服务器等拥有计算能力的设备均可作为区块链网络中的节点。
4、关系型数据库:是依据“一对一、一对多、多对多”等关系模型来创建的数据库。简单说,关系型数据库是由多张能互相联接的二维行列表格组成的数据库。
5、电子发票平台:位于区块链中,用于采用数据块的方式存储各交易记录的加密数据。
6、密文串:通过加密算法对数据进行加密,生成的定长的字符串,通常为哈希字符串。
7、明文串:对密文串进行解密后获得的数据,通常为字符串。
8、业务字段:为从明文串中提取的各交易信息的字段。如,Fbuyer_name、Fbuyer_address、Fbuyer_phone和Fbill_num。
9、交易常用语:为用户可以直接解读的文字或字符。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
为了利于对本申请实施例的技术方案的理解,下面介绍区块链的原理。
在区块链技术中,网络中的任意一个设备都可以作为区块链的一个节点,并且可以参与到区块链的记录和存储中,节点间基于共识机制,通过竞争计算共同维护整个区块链。由于任一节点都可以拥有一份完整的区块链的数据拷贝,因而任一节点失效,其余节点仍能够正常进行工作,从而基于区块链存储的方式可靠性高。
此外,由于在区块链技术中心通过众多的节点来共同维护整个区块链,每个节点所拥有的权限可以是相同的,因而并不存在中心化的设备或者管理机构。区块链中所有的数据信息都是公开透明的,单个节点甚至多个节点对自身数据的修改无法影响到其他节点的数据,除非能够控制整个区块链网络中超过一半的节点都进行修改,但是这种方式难度太大,并且区块链中的每一个区块都与前后的两个区块进行关联,要想篡改一个区块的数据,就需要篡改与之相关的多个区块的数据,难度较大,从而基于区块链存储的数据具有不可篡改性。
例如,在比特币网络中,区块链的区块中主要用于存储比特币的交易信息,以比特币网络的交易过程为例,对区块链技术的交易过程进行描述。
节点A将自身拥有的比特币交易给了节点B,那么节点A就会将该交易广播给区块链网络中的所有节点,每个节点都会将该交易纳入自身生成的一个区块中,在特定时刻到来时,每个节点都会基于特定的共识机制,来找到达到共识的一个区块。以工作量证明机制(Proof of Work,POW)为例,每个节点会基于区块中存储的内容反复进行尝试,来寻找一个满足一定条件的数值,当一个节点找到该数值时,则会向其他的所有节点广播该节点生成的区块,并由全网所有节点对区块中的交易进行核对,最先通过核对的节点所生成的区块则是达成共识的区块,全网所有节点将该区块保存在自身存储的区块链中,从而实现交易的存储。
下面介绍本申请实施例的设计思想。
区块链技术因为其具备的去中心化等特点,越来越受到各个行业的青睐,在工业制造、交通、金融和保险、家庭和商业房产管理、智能合约以及零售等领域发挥其重要的作用。然而在具体实践过程中,由于用户在通过区块链查询存储的数据时,获得的查询结果为加密字符串,而进行数据查询的用户通常为非技术用户,因此,非技术人员解读字符串较为困难,查询结果不够直观清晰,难以满足快速进行查询和数据分析的需求。
例如,将包含比特币数据的数据块同步到本地钱包中,用户通过本地钱包可以查询比特币的交易信息。但是,由于查询结果为交易信息对应的哈希字符串,因此,用户解读哈希字符串较为困难,无法直观的了解查询结果,进而无法快速的根据查询结果进行数据分析,这给用户带来了不便。
申请人对传统技术进行分析后发现,传统技术中并没有提供一种在通过区块链进行查询时可以直接获取所需信息,不需要在大量的字符串中提取以及解读数据的方案,因此,亟待需要一种可以降低区块链数据查询结果的解读难度,使得用户可以直观清晰的了解所需信息的技术方案。鉴于此,申请人考虑到可以将从区块链获得的密文串进行解密以及对解密数据进行交易常用语翻译,使得用户可以直接获取交易常用语翻译后的查询结果。
鉴于以上分析和考虑,本申请实施例中提供了一种数据处理的技术方案,该方案中,将从区块链中获取的加密数据转换为解密数据,并提取解密数据中包含的各业务字段,以及将业务字段同步到关系型数据库中。进一步地,在用户进行数据查询时,关系型数据库将用户查询的业务字段翻译为交易常用语后输出。这样,用户不需要对加密数据进行解读,可以直接获取需要的信息,提高了数据查询和分析效率。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参阅图2所示,为本申请实施例中的技术方案能够适用的一种数据处理系统,在该系统中,可以包括:位于区块链中的电子发票平台201、至少一个同步设备202、中心数据库203以及控制设备204。
电子发票平台201,位于区块链中,用于采用数据块的方式存储各交易记录的加密数据。
同步设备202,可以是手机、平板电脑(PAD)、掌上电脑(Personal DigitalAssistant,PDA)、笔记本电脑、个人计算机(Personal Computer,PC)或者服务器等。同步设备202可以是一个或多个,每一个同步设备202中可以运行一个或多个同步进程。每一个同步进程均可以从电子发票平台201获取待同步数据块的交易记录的加密数据,并对其进行解密,以及将从解密数据中提取的业务字段发送至中心数据库203。
中心数据库203,用于接收同步设备202通过同步进程发送的各交易记录的业务字段,以及在根据用户输入的查询信息,将待查询的交易记录的业务字段翻译为交易常用语后输出。可选的,中心数据库203可以采用关系型数据库。关系型数据库是由多张能互相联接的二维行列表格组成的数据库。
控制设备204,用于根据电子发票平台201中待同步数据块的总量,以及每一同步进程的同步速率,调整同步设备202的数量以及每一同步设备202中的同步进程的进程数量。
当然,本申请实施例提供的方法并不限用于图2所示的应用场景中,还可以用于其他可能的应用场景,本申请实施例并不进行限制。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
参阅图3所示,为本申请提供的一种数据处理的方法的实施流程图。本申请实施例中,为便于方案说明,仅以一个同步设备的一个同步进程进行数据处理为例进行说明,其它同步进程均可以采用相似的方式执行,在此不再赘述。下面结合图2所示的数据处理系统进行说明,该方法的具体实施流程如下:
步骤300:同步进程向中心数据库203发送同步请求消息。
具体的,执行步骤300时,可以采用以下几种方式:
第一种方式为:同步进程确定当前需要同步的待同步数据块已经同步完成,向中心数据库203发送同步请求消息。
第二种方式为:同步进程初始启动后,或由于断电等原因终止并再次启动后,向中心数据库203发送同步请求消息。
实际应用中,同步进程还可以根据实际需要发送同步请求消息,在此不做限制。
这样,同步进程就可以在从电子发票平台201中获取待同步数据块之前,先向中心数据库203请求同步指示。
步骤301:中心数据库203向同步进程返回包含当前已同步的数据块的指示信息的同步指示消息。
本申请实施例中,以数据块为单位进行数据的获取以及同步。指示信息可以包括:已经同步完成的数据块的区块高度和同步状态,以及各同步进程正在同步的各数据块的区块高度和同步状态。区块链中每增加一个数据块,数据块对应的区块高度加一。区块高度为用于指示数据块的有序标识,通过区块高度可以查找到相应的数据块,根据最高区块高度也可以确定数据块的总量。同步状态可以包括已经同步完成和正在同步。
数据块用于存储交易记录。具体的,数据块可以时间进行划分,例如每间隔10秒(s)产生一个数据块,那么这个数据块即是记录这10s内的所有交易记录,或者每间隔一天产生一个数据块,那么这个数据块即是记录这一天内的所有交易记录;或者,数据块还可以是根据接收到的交易记录的数量进行划分。
本申请实施例中,中心数据库203可以采用以下方式更新指示信息:
第一种方式为:中心数据库203根据从各个同步进程接收的待同步数据,更新当前已同步的数据块的指示信息。
具体的,中心数据库203根据从各个同步进程接收的待同步数据,将指示信息中已经同步完成的数据块的同步状态设置为已经同步完成。
第二种方式为:中心数据库203若确定接收到同步进程的同步请求消息,并且该同步进程正在同步的数据块已经同步完成,则在返回包含当前已同步的数据块的指示信息后,获取指示信息中最高区块高度x,并在指示信息中最高区块高度更新为x+1,并将相应的同步状态设置为正在同步。
例如,假设初始指示信息为数据块12已经同步完成。则同步进程1、同步进程2以及同步进程3初始启动后,依次向中心数据库203发送同步请求消息。中心数据库203向同步进程1发送包含数据块12已经同步完成的第一指示信息,并将第一指示信息更新为第二指示信息。第二指示信息为:数据块12已经同步完成,数据块13正在同步。
接着,中心数据库203向同步进程2发送第二指示信息,并将第二指示信息更新为第三指示信息。第三指示信息为:数据块12已经同步完成,数据块13和数据块14正在同步。
然后,中心数据库203将第三指示信息发送至同步进程3,并将第三指示信息更新为第四指示信息。第四指示信息为:数据块12已经同步完成,数据块13、数据块14和数据块15正在同步。
进一步地,中心数据库203还针对每一同步进程返回的指示信息采用select forupdate锁进行锁定。
一种实施方式中,中心数据库203向一个同步进程返回指示信息后,若该同步进程在未同步完成待同步数据块时,再次向中心数据库203发送同步请求消息,则中心数据库203向该同步进程重复发送上述指示信息。而若另一个同步进程也向中心数据库203发送同步请求消息,则中心数据库203将更新后的指示信息发送至上述另一同步进程。
也就是说,只有在该同步进程已经同步完成一个数据块之后,才会向该同步进程发送新的指示信息。这样,可以使得各同步进程在进行数据块同步时,避免重复同步和漏同步。
步骤302:同步进程根据指示信息向电子发票平台201发送数据请求消息。
执行步骤302时,可以采用以下几种方式:
第一种方式为:同步进程将包含全部指示信息的数据请求消息发送至电子发票平台201。
第二种方式为:若指示信息中不存在该同步进程未同步完成的数据块,则同步进程获取指示信息中的最高区块高度,向电子发票平台201发送包含该最高区块高度数据请求消息,以请求获取新的需要同步数据块。
第三种方式为:若指示信息中存在该同步进程未同步完成的数据块,则同步进程获取自身未同步完成的数据块的区块高度,并将包含该区块高度的数据请求消息中发送至电子发票平台201,以请求获取自身未同步完成的数据块。
例如,同步进程由于断电等原因终止同步后再次启动运行时,若根据指示信息,确定存在未同步完成的数据块,则再次同步该数据块。
这是为了使得同步进程在同步的过程中避免出现漏同步。
步骤303:电子发票平台201根据接收的数据请求消息确定当前需要同步的待同步数据块。
具体的,电子发票平台201获取数据请求消息中包含的指示信息,并根据该指示信息,确定当前需要同步的待同步数据块。
一种实施例中,指示信息为:数据块a已经同步完成,数据块a+1正在同步,则电子发票平台201将数据块a+2,确定为当前需要同步的待同步数据块。
步骤304:电子发票平台201判断是否存在当前需要同步的待同步数据块,若是,则执行步骤305,否则执行步骤309。
步骤305:电子发票平台201将当前需要同步的待同步数据块的加密数据发送至同步进程。
具体的,电子发票平台201获取当前需要同步的待同步数据块中各交易记录的加密数据,并将各交易记录的加密数据发送至同步进程。
可选的,加密数据可以为密文串,即加密的字符串。
例如,一个交易记录的密文串的示例如下:
“9TVrrX8kAVSyoLBkRZ5/F+hB……Kg+smd8BysqbGzNqw5fLVQ==”。
本申请实施例中,同步进程以数据块为单位从电子发票平台201获取包含交易记录的数据块。同步设备202可以是一个,也可以是多个,每一同步设备202的同步进程的进程数量也可以为一个或多个。由于通常存在多个同步设备202的多个同步进程,因此,电子发票平台201根据中心数据库203的指示信息而非仅一个同步进程的同步进度,确定当前需要同步的待同步数据块。
步骤306:同步进程对获取的加密数据进行解密,并从解密数据中提取各交易记录的业务字段。
其中,解密数据可以为明文串,即解密后的字符串。
例如,部分明文串的示例如下:
“bill_plaintext{
bill_code:"144031809110"
bill_type:1
bill_num:"00000361"……”
其中,业务字段通常包括参数以及相应的参数值。例如,业务字段示例如下:Fbill_code=144031809110、Fbill_type=1以及Fbill_num=00000361。
步骤307:同步进程将各交易记录的业务字段作为待同步数据发送至中心数据库203。
其中,同步进程在将各交易记录的业务字段发送至中心数据库203时,可以每次发送一个交易记录的业务字段,也可以每次发送一个数据块包含的交易记录的业务字段,在此不作限制,本申请实施例中,以每次发送一个数据块为例进行说明。
进一步的,同步进程从解密数据中分别提取各交易记录的第一交易标识以及其关联的上一个交易记录的第二交易标识,并将各个交易记录的第一交易标识的第二交易标识包含在待同步数据中发送给中心数据库203。
可选的,同步进程也可以将包含各交易记录的第一交易标识和第二交易标识的更新指令单独发送至中心数据库203。第一交易标识和第二交易标识可以为针对每一交易记录设置的标识的哈希值。
进一步地,在同步过程中,控制设备204根据当前需要同步的待同步数据块的总量,以及同步进程的同步速率,调度同步设备202的数量,以及每一个同步设备202中的同步进程的进程数量。
一种实施方式中,控制设备204调度同步设备202的数量以及每一同步设备202中的同步进程的进程数量时,采用以下步骤:
S3071:获取电子发票平台201中当前需要待同步的第一最高区块高度,并分别获取每一同步设备202中同步的第二最高区块高度。
S3072:根据第一最高区块高度,以及各第二最高区块高度中的最高区块高度的差值,获得当前需要同步的待同步数据块的总量。
S3073:获取一个同步进程的同步速率,并根据当前需要同步的待同步数据块的总量与该同步速率的比值,确定所需要的同步进程的总进程数量。
S3074:分别获取每一同步设备202的最大同步进程数量,以及设定同步完成时间,并根据总进程数量、每一同步设备202的最大同步进程数量和设定同步完成时间,调度同步设备202的数量,以及每一个同步设备202中的同步进程的进程数量。
这样,就可以根据实际需求对同步设备202的数量以及同步进程的进程数量进行调度,实现了同步设备202数量以及每一同步设备202的进程数量的2级平衡扩展性能,避免了由于数据的高并发引起的性能问题,提高了数据的同步效率。
步骤308:中心数据库203接收各同步进程发送的待同步数据,并存储各个交易记录的业务字段。
由于区块链存储的各交易记录的数据,仅能确定每一交易记录关联的上一个交易记录,但是,无法获取每一交易记录的联的下一个交易记录,为方便用户的数据查询,使得交易数据流向变得更直观清晰,本申请实施例中,中心数据库203中分别针对每一交易记录设置关联交易字段,以存储交易记录关联的下一个交易记录。
其中,关联交易字段的设置方式如下:
中心数据库203根据待同步数据或更新指令,获取各交易记录的第一交易标识和第二交易标识,并根据各交易记录对应的第一交易标识和第二交易标识,在第二交易标识对应的交易记录的业务字段中,将第一交易标识存储为第二交易标识对应的交易记录的关联交易字段。
这样,就可以通过一个交易记录的关联交易字段获取该交易记录关联的下一个交易记录。
步骤309:同步进程进入休眠状态,并在达到预设休眠时长时,结束休眠状态,执行步骤302。
具体的,同步进程根据所述当前已同步的数据块的指示信息,从电子发票平台201获取不到当前需要同步的待同步数据块的加密数据时进入休眠状态,并在达到预设休眠时长时,结束休眠状态。
可选的,预设休眠时长可以为1s,也可以根据实际应用场景进行设置,在此不作限制。
进一步地,中心数据库203在接收各个同步设备202发送的待同步数据并存储后,根据用户输入的以交易常用语描述的查询条件获取对应的交易记录的业务字段,以及将获取的业务字段翻译为交易常用语后输出。
参阅图4所示,为一种数据查询方法的实施流程示意图,下面结合图2所示的数据处理系统进行说明,该方法的具体步骤如下:
步骤400:中心数据库203接收查询指令,并获取查询指令中包含的以交易常用语描述的查询条件。
可选的,用户可以通过中心数据库203中的输入框中选择的查询条件选项,下发查询指令。用户也可以在中心数据库203中的输入框中输入交易常用语,下发查询指令。
其中,交易常用语,为用户可以理解的自然语言或符号。例如,交易常用语可以为:地址、手机号以及发票号等。
步骤401:中心数据库203根据查询条件,确定待查询的交易记录的业务字段。
具体的,中心数据库203将查询条件与存储的各业务字段进行匹配,确定待查询的交易记录的业务字段。
例如,查询条件为:手机号135……的交易记录,则中心数据库203确定手机号(交易常用语)对应的业务字段为phone,并获取phone为135……的交易记录的各业务字段。
例如,查询条件为手机号135……的交易记录的下一条交易记录,则中心数据库203确定手机号(交易常用语)对应的业务字段为phone,下一条(交易常用语)对应的业务字段为next(关联交易字段)。接着,中心数据库203获取phone为135……的交易记录的next为hjdsr123(交易记录标识),并获取交易记录标识为hjdsr123的各业务字段。
步骤402:中心数据库203输出针对待查询的交易记录的各业务字段设置的交易常用语。
例如,交易记录C的各业务字段为Fbuyer_name、Fbuyer_address、Fbuyer_phone和Fbill_num,对应设置的交易常用语分别为买方姓名、买方地址、买方手机号和发票单号。则中心数据库203输出查询结果:买方姓名为……、买方地址为……、买方手机号为……,以及发票单号为……。
本申请实施例中,将从电子发票平台201获取的加密数据进行解密,并将从解密数据中提取的业务字段存储至中心数据库203中,用户可以通过中心数据库203获得待查询的交易记录的业务字段的交易常用语,使得用户不需要对复杂的字符串进行解读,可以直观清晰的获取需要的信息(如,发票信息、业务信息等),提高了查询和分析效率。
进一步地,中心数据库203根据各交易记录的第一交易标识以及其关联的上一个交易记录的第二交易标识,将第一交易标识存储为第二交易标识对应的交易记录的关联交易字段,用户可以通过中心数据库203直接查询到一个交易记录关联的下一个交易记录,使得用户可以查到交易的下一步要流转到哪里,交易数据流向变得更全面透明。
进一步地,控制设备204根据实际需求对同步设备202的数量以及同步进程的进程数量进行调度,实现了同步设备202数量以及每一同步设备202的进程数量的2级平衡扩展性能,避免了由于数据的高并发引起的性能问题,提高了数据的同步效率。
基于同一发明构思,本申请实施例中还提供了一种数据处理的装置,由于上述装置及设备解决问题的原理与一种数据处理的方法相似,因此,上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图5示,其为本申请实施例提供的一种数据处理装置的结构示意图。一种数据处理的装置包括:
解密单元51,用于从电子发票平台获取待同步数据块的加密数据并对其进行解密;
提取单元52,用于从解密数据中分别提取待同步数据块中各个交易记录的业务字段;
发送单元53,用于将各个交易记录的业务字段作为待同步数据发送至中心数据库,使得中心数据库执行以下步骤:接收各个同步设备发送的待同步数据,并存储各个交易记录的业务字段,以及根据以交易常用语描述的查询条件获取对应的交易记录的业务字段,并将获取的业务字段翻译为交易常用语后输出。
较佳的,发送单元53还用于:
从解密数据中分别提取各个交易记录的第一交易标识以及其关联的上一个交易记录的第二交易标识;
将各个交易记录对应的第一交易标识和第二交易标识包含在待同步数据中发送给中心数据库。
较佳的,解密单元51还用于:
从中心数据库获得当前已同步的数据块的指示信息,当前已同步的数据块的指示信息是中心数据库根据从各个同步进程接收的待同步数据确定的;
将当前已同步的数据块的指示信息发送给电子发票平台,以使电子发票平台确定当前需要同步的待同步数据块,并向同步进程返回当前需要同步的待同步数据块的加密数据。
较佳的,解密单元51还用于:
根据当前已同步的数据块的指示信息,从电子发票平台获取不到当前需要同步的待同步数据块的加密数据时进入休眠状态;
在达到预设休眠时长时,结束休眠状态。
本申请实施例提供的一种数据处理的系统、方法以及装置中,各同步设备通过加载的至少一个同步进程从电子发票平台中获取待同步数据块的加密数据并对其解密,从解密数据中分别提取待同步数据块中各个交易记录的业务字段并作为待同步数据发送至中心数据库;中心数据库存储各交易记录的业务字段,并根据查询条件,获取相应的交易记录的业务字段,以及将获取的业务字段翻译为交易常用语后输出。这样,使得用户可以直观清晰的获取所需要的信息,降低了查询结果的解读难度,进而提高了数据查询和分析效率。
参阅图6所示,为一种同步设备的结构示意图。基于同一技术构思,本申请实施例还提供了一种同步设备,可以包括存储器601和处理器602。
所述存储器601,用于存储处理器602执行的计算机程序。存储器601可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。处理器602,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等。本申请实施例中不限定上述存储器601和处理器602之间的具体连接介质。本申请实施例在图6中以存储器601和处理器602之间通过总线603连接,总线603在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器601也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器601是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器601可以是上述存储器的组合。
处理器602,用于调用所述存储器601中存储的计算机程序时执行如图3中所示的实施例提供的数据处理的方法。
本申请实施例还提供了一种计算机存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台同步设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种数据处理系统,其特征在于,包括位于区块链中的电子发票平台、至少一个同步设备,以及中心数据库,其中:
所述电子发票平台,用于采用数据块的方式存储各交易记录的加密数据,每个数据块中包括至少一个交易记录的加密数据;
每一个同步设备,加载有至少一个同步进程,每个同步进程用于从所述电子发票平台获取待同步数据块的加密数据并对其进行解密,从解密数据中分别提取待同步数据块中各个交易记录的业务字段并作为待同步数据发送至所述中心数据库;
所述中心数据库,用于接收各个同步设备发送的待同步数据,并存储各个交易记录的业务字段,以及根据以交易常用语描述的查询条件获取对应的交易记录的业务字段,并将获取的业务字段翻译为交易常用语后输出。
2.如权利要求1所述的系统,其特征在于,每一个同步设备,还用于:
从解密数据中分别提取各个交易记录的第一交易标识以及其关联的上一个交易记录的第二交易标识,并将各个交易记录对应的第一交易标识和第二交易标识包含在待同步数据中发送给所述中心数据库;
所述中心数据库,还用于根据各个交易记录对应的第一交易标识和第二交易标识,在所述第二交易标识对应的交易记录的业务字段中,将所述第一交易标识存储为所述第二交易标识对应的交易记录的关联交易字段。
3.如权利要求2所述的系统,其特征在于,所述根据以交易常用语描述的查询条件获取对应的交易记录的业务字段,并将获取的业务字段翻译为交易常用语后输出,具体包括:
接收查询指令,并获取所述查询指令中包含的以交易常用语描述的查询条件;
根据所述查询条件,确定待查询的交易记录的各业务字段;
输出针对所述待查询的交易记录的各业务字段设置的交易常用语。
4.如权利要求1-3任一项所述的系统,其特征在于,所述中心数据库还根据从各个同步进程接收的待同步数据,更新当前已同步的数据块的指示信息;以及
每一个同步进程在从所述电子发票平台获取待同步交易记录的加密数据之前,从所述中心数据库获得当前已同步的数据块的指示信息并发送给所述电子发票平台,以使所述电子发票平台确定当前需要同步的待同步数据块,并向同步进程返回当前需要同步的待同步数据块的加密数据。
5.如权利要求4所述的系统,其特征在于,还包括控制设备,用于根据当前需要同步的待同步数据块的总量,以及同步进程的同步速率,调度同步设备的数量,以及每一个同步设备中的同步进程的进程数量。
6.如权利要求4所述的系统,其特征在于,每一同步设备还用于:
根据所述当前已同步的数据块的指示信息,从所述电子发票平台获取不到当前需要同步的待同步数据块的加密数据时进入休眠状态,并在达到预设休眠时长时,结束休眠状态。
7.一种数据处理的方法,其特征在于,包括:
从电子发票平台获取待同步数据块的加密数据并对其进行解密;
从解密数据中分别提取待同步数据块中各个交易记录的业务字段;
将所述各个交易记录的业务字段作为待同步数据发送至中心数据库,使得所述中心数据库执行以下步骤:接收各个同步设备发送的待同步数据,并存储各个交易记录的业务字段,以及根据以交易常用语描述的查询条件获取对应的交易记录的业务字段,并将获取的业务字段翻译为交易常用语后输出。
8.如权利要求7所述的方法,其特征在于,进一步包括:
从所述解密数据中分别提取各个交易记录的第一交易标识以及其关联的上一个交易记录的第二交易标识;
将各个交易记录对应的第一交易标识和第二交易标识包含在待同步数据中发送给所述中心数据库。
9.如权利要求7或8所述的方法,其特征在于,在从所述电子发票平台获取待同步交易记录的加密数据之前,进一步包括:
从所述中心数据库获得当前已同步的数据块的指示信息,所述当前已同步的数据块的指示信息是所述中心数据库根据从各个同步进程接收的待同步数据确定的;
将所述当前已同步的数据块的指示信息发送给所述电子发票平台,以使所述电子发票平台确定当前需要同步的待同步数据块,并向同步进程返回当前需要同步的待同步数据块的加密数据。
10.一种数据处理的装置,其特征在于,包括:
解密单元,用于从电子发票平台获取待同步数据块的加密数据并对其进行解密;
提取单元,用于从解密数据中分别提取待同步数据块中各个交易记录的业务字段;
发送单元,用于将所述各个交易记录的业务字段作为待同步数据发送至中心数据库,使得所述中心数据库执行以下步骤:接收各个同步设备发送的待同步数据,并存储各个交易记录的业务字段,以及根据以交易常用语描述的查询条件获取对应的交易记录的业务字段,并将获取的业务字段翻译为交易常用语后输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910147156.5A CN109919691B (zh) | 2019-02-27 | 2019-02-27 | 一种数据处理的系统、方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910147156.5A CN109919691B (zh) | 2019-02-27 | 2019-02-27 | 一种数据处理的系统、方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109919691A true CN109919691A (zh) | 2019-06-21 |
CN109919691B CN109919691B (zh) | 2021-06-08 |
Family
ID=66962498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910147156.5A Active CN109919691B (zh) | 2019-02-27 | 2019-02-27 | 一种数据处理的系统、方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109919691B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489413A (zh) * | 2019-07-15 | 2019-11-22 | 杭州复杂美科技有限公司 | 一种交易记录存储、查询方法和系统、设备及存储介质 |
CN110599321A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 税务数据处理方法、装置、服务器及存储介质 |
CN110781373A (zh) * | 2019-10-29 | 2020-02-11 | 北京字节跳动网络技术有限公司 | 榜单更新方法、装置、可读介质和电子设备 |
CN111861744A (zh) * | 2020-06-30 | 2020-10-30 | 上海简苏网络科技有限公司 | 一种实现区块链交易并行化的方法及区块链节点 |
CN112163131A (zh) * | 2020-11-10 | 2021-01-01 | 平安普惠企业管理有限公司 | 业务数据查询平台的配置方法、装置、计算机设备及介质 |
CN112184422A (zh) * | 2020-09-28 | 2021-01-05 | 金蝶软件(中国)有限公司 | 一种交易方法及相关设备 |
CN112363805A (zh) * | 2020-11-16 | 2021-02-12 | 杭州复杂美科技有限公司 | 区块链jvm数据访问方法、设备和存储介质 |
CN112597181A (zh) * | 2020-11-25 | 2021-04-02 | 贝壳技术有限公司 | 一种连环单查找方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788992A (zh) * | 2009-05-06 | 2010-07-28 | 厦门东南融通系统工程有限公司 | 一种数据库查询语句的转换方法和转换系统 |
US20170017954A1 (en) * | 2015-07-14 | 2017-01-19 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
CN106934624A (zh) * | 2017-01-04 | 2017-07-07 | 毛德操 | 在输入前端采用见证式指纹的区块链的方法 |
CN107256220A (zh) * | 2017-04-25 | 2017-10-17 | 北京微影时代科技有限公司 | 数据日志生成方法、装置及电子设备 |
CN108052321A (zh) * | 2017-12-28 | 2018-05-18 | 杭州趣链科技有限公司 | 一种基于配置信息自动生成区块链智能合约的方法 |
CN108764770A (zh) * | 2018-04-10 | 2018-11-06 | 平安科技(深圳)有限公司 | 自动查找物流信息的方法、装置及终端设备 |
CN108776929A (zh) * | 2018-04-02 | 2018-11-09 | 成都云创智融科技有限公司 | 基于区块链数据库的账单处理方法、系统和可读存储介质 |
CN108965416A (zh) * | 2018-07-04 | 2018-12-07 | 平安科技(深圳)有限公司 | 医疗数据共享方法、装置、计算机设备和存储介质 |
CN109086325A (zh) * | 2018-06-29 | 2018-12-25 | 阿里巴巴集团控股有限公司 | 基于区块链的数据处理方法和装置 |
CN109214818A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种跨链交易方法及装置 |
-
2019
- 2019-02-27 CN CN201910147156.5A patent/CN109919691B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788992A (zh) * | 2009-05-06 | 2010-07-28 | 厦门东南融通系统工程有限公司 | 一种数据库查询语句的转换方法和转换系统 |
US20170017954A1 (en) * | 2015-07-14 | 2017-01-19 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
CN106934624A (zh) * | 2017-01-04 | 2017-07-07 | 毛德操 | 在输入前端采用见证式指纹的区块链的方法 |
CN107256220A (zh) * | 2017-04-25 | 2017-10-17 | 北京微影时代科技有限公司 | 数据日志生成方法、装置及电子设备 |
CN109214818A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种跨链交易方法及装置 |
CN108052321A (zh) * | 2017-12-28 | 2018-05-18 | 杭州趣链科技有限公司 | 一种基于配置信息自动生成区块链智能合约的方法 |
CN108776929A (zh) * | 2018-04-02 | 2018-11-09 | 成都云创智融科技有限公司 | 基于区块链数据库的账单处理方法、系统和可读存储介质 |
CN108764770A (zh) * | 2018-04-10 | 2018-11-06 | 平安科技(深圳)有限公司 | 自动查找物流信息的方法、装置及终端设备 |
CN109086325A (zh) * | 2018-06-29 | 2018-12-25 | 阿里巴巴集团控股有限公司 | 基于区块链的数据处理方法和装置 |
CN108965416A (zh) * | 2018-07-04 | 2018-12-07 | 平安科技(深圳)有限公司 | 医疗数据共享方法、装置、计算机设备和存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489413A (zh) * | 2019-07-15 | 2019-11-22 | 杭州复杂美科技有限公司 | 一种交易记录存储、查询方法和系统、设备及存储介质 |
CN110599321A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 税务数据处理方法、装置、服务器及存储介质 |
CN110599321B (zh) * | 2019-09-20 | 2023-09-29 | 腾讯科技(深圳)有限公司 | 税务数据处理方法、装置、服务器及存储介质 |
CN110781373A (zh) * | 2019-10-29 | 2020-02-11 | 北京字节跳动网络技术有限公司 | 榜单更新方法、装置、可读介质和电子设备 |
CN110781373B (zh) * | 2019-10-29 | 2022-09-06 | 北京字节跳动网络技术有限公司 | 榜单更新方法、装置、可读介质和电子设备 |
CN111861744A (zh) * | 2020-06-30 | 2020-10-30 | 上海简苏网络科技有限公司 | 一种实现区块链交易并行化的方法及区块链节点 |
CN112184422A (zh) * | 2020-09-28 | 2021-01-05 | 金蝶软件(中国)有限公司 | 一种交易方法及相关设备 |
CN112163131A (zh) * | 2020-11-10 | 2021-01-01 | 平安普惠企业管理有限公司 | 业务数据查询平台的配置方法、装置、计算机设备及介质 |
CN112363805A (zh) * | 2020-11-16 | 2021-02-12 | 杭州复杂美科技有限公司 | 区块链jvm数据访问方法、设备和存储介质 |
CN112597181A (zh) * | 2020-11-25 | 2021-04-02 | 贝壳技术有限公司 | 一种连环单查找方法及装置 |
CN112597181B (zh) * | 2020-11-25 | 2022-11-04 | 贝壳技术有限公司 | 一种连环单查找方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109919691B (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109919691A (zh) | 一种数据处理的系统、方法以及装置 | |
CN105573828B (zh) | 一种操作处理方法及装置 | |
US10255108B2 (en) | Parallel execution of blockchain transactions | |
CN110570283A (zh) | 基于区块链的购物方法及系统 | |
US20170236130A1 (en) | Emulating Manual System of Filing Using Electronic Document and Electronic File | |
CN107317672A (zh) | 一种轻量终端机区块链系统 | |
CN106933808A (zh) | 基于人工智能的文章标题生成方法、装置、设备及介质 | |
CN107644286A (zh) | 工作流处理方法及装置 | |
CN112883116A (zh) | 基于区块链的供应链金融AI DaaS算法仓库平台 | |
WO2020203349A1 (ja) | ブロックチェーンシステム、承認端末、利用者端末、履歴管理方法、および、履歴管理プログラム | |
JP7483929B2 (ja) | 共同トレーニングモデルを評価するための方法及び装置 | |
CN104317957B (zh) | 一种报表处理的开放平台、系统及报表处理方法 | |
US20230120476A1 (en) | Methods and systems for creation and distribution of non-fungible tokens | |
CN109308211A (zh) | 用于在区块链中处理事务数据的方法、装置及存储介质 | |
CN110443690A (zh) | 一种差异数据对账的方法、装置、服务器和存储介质 | |
KR102207234B1 (ko) | 블록체인 기반의 스마트 컨트랙트를 이용한 스터디 그룹 관리 시스템 및 그 방법 | |
CN110363663A (zh) | 基于区块链的数据批量处理方法、装置、设备及存储介质 | |
CN109918375A (zh) | 一种基于区块链和分布式存储的大文本存储、索引及检索方法 | |
CN110019200A (zh) | 一种索引的建立、使用方法及装置 | |
WO2022105546A1 (zh) | 一种基于区块链的大数据交易方法、装置、介质及设备 | |
US20140289626A1 (en) | Cloud based audio recording system | |
CN102932416B (zh) | 一种信息流任务的中间数据存储方法、处理方法及装置 | |
CN113454597A (zh) | 区块链交易处理系统和方法 | |
CN110019363A (zh) | 一种校验数据的方法和装置 | |
CN114022285A (zh) | 一种基于联盟区块链的跨机构云计算资源计量方法及系统 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40009420 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |