CN111159207B - 一种信息处理方法和装置 - Google Patents
一种信息处理方法和装置 Download PDFInfo
- Publication number
- CN111159207B CN111159207B CN201911295661.0A CN201911295661A CN111159207B CN 111159207 B CN111159207 B CN 111159207B CN 201911295661 A CN201911295661 A CN 201911295661A CN 111159207 B CN111159207 B CN 111159207B
- Authority
- CN
- China
- Prior art keywords
- layer
- record
- entity
- detail
- statistics
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- 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/248—Presentation of query results
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种信息处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取前端对实体表中第一记录的变更信息,根据实体表的表名称在明细层中进行查询,以确定与实体表对应的明细表;根据第一记录的标识,确定明细表中与标识对应的第二记录,进而基于变更信息对第二记录进行更新;在对第二记录更新完毕后,触发统计层对明细表中记录的统计操作,得到统计值并传输至前端进行显示。该实施方式将显示逻辑与业务逻辑进行分离,整体呈现三层模型结构,便于职责分工,减少了开发复杂度,实现了数据分级处理,降低了非关键性数据操作对开发人员的干扰。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种信息处理方法和装置。
背景技术
通常数据供数系统所跟踪的数据流向是一个以数据仓库为中心的星型拓扑结构。测试数据来源于多个上游系统的上千个接口,经过数据仓库加工处理后以表的形式提供给下游系统使用,且供数批次较为频繁。
现有供数具有操作频率低但操作数据量大的特点。传统处理方式是将数据分解为单条数据进行处理,再循环操作。在实现本发明的过程中,发明人发现现有技术至少存在如下问题:
1、每条操作间相互独立,没有实现业务逻辑与显示逻辑分离,导致执行效率低下,等待时间过长的问题;
2、数据操作设计字段较多且都具备业务含义,需要支持全字段筛选。虽显示数据时可以通过简单的视图呈现,但当数据量增大时显示效率低下。
发明内容
有鉴于此,本发明实施例提供一种信息处理方法和装置,至少能够解决现有技术中信息处理时间过长的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种信息处理方法,包括:
获取前端对实体表中第一记录的变更信息,根据所述实体表的表名称在明细层中进行查询,以确定与所述实体表对应的明细表;其中,所述实体表位于实体层中;
根据所述第一记录的标识,确定所述明细表中与所述标识对应的第二记录,进而基于所述变更信息对所述第二记录进行更新;
在对所述第二记录更新完毕后,触发统计层对所述明细表中记录的统计操作,得到统计值并传输至前端进行显示。
可选的,所述基于所述变更信息对所述第二记录进行更新,还包括:获取所述变更信息中的变更字段,若所述变更字段为预设字段,则优先基于所述变更信息对所述第二记录进行更新。
可选的,在所述根据所述第一记录的标识,确定所述明细表中与所述标识对应的第二记录之前,还包括:
若在立即更新表名单中查询存在所述表名称,则确定对所述明细表的更新为立即更新;或
若在返回前更新表名单中查询存在所述表名称,则确定对所述明细表的更新为返回前更新;或
若在返回后更新后表名单中查询存在所述表名称,则确定对所述明细表的更新为返回后更新。
可选的,所述触发统计层对所述明细表中记录的统计操作,包括:
在所述统计层中,获取存在变更操作的源接口标识和批次标识;其中,所述源接口标识为供数的接口的标识,所述批次标识为表创建时的计划时间戳;
基于所述源接口标识和所述批次标识,确定存在记录变更的统计表,以对所述统计表中的数值进行统计;其中,所述统计表与所述明细表、所述实体表对应,且基于所述明细表进行记录更新。
可选的,所述触发统计层对所述明细表中记录的统计操作,得到统计值并传输至前端进行显示,包括:所述统计层在得到统计值之后,在预定时间间隔后传输所述统计值至前端进行显示。
可选的,所述获取前端对实体表中第一记录的变更信息,包括:监听对所述实体表中记录的变更操作,获取预设时间段内存有变更操作的所有记录,并确定对所述所有记录的变更信息。
可选的,在所述获取前端对实体表中第一记录的变更信息之后,还包括:
根据所述实体表的表名称,确定与所述实体表存在关联关系的关联表;
在所述关联表中,确定与所述第一记录对应的第三记录,以基于所述变更信息对所述第三记录进行更新。
可选的,在所述获取前端对实体表中第一记录的变更信息之前,还包括:
获取模型文档并进行解析,得到前端代码和后端代码;其中,所述模型文档为前端和后端对于同一信息的统一描述;
基于所述前端代码生成页面在前端进行显示,以及基于所述后端代码生成所述实体层、所述明细层和所述统计层。
为实现上述目的,根据本发明实施例的另一方面,提供了一种信息处理装置,包括:
获取模块,用于获取前端对实体表中第一记录的变更信息,根据所述实体表的表名称在明细层中进行查询,以确定与所述实体表对应的明细表;其中,所述实体表位于实体层中;
更新模块,用于根据所述第一记录的标识,确定所述明细表中与所述标识对应的第二记录,进而基于所述变更信息对所述第二记录进行更新;
统计模块,用于在对所述第二记录更新完毕后,触发统计层对所述明细表中记录的统计操作,得到统计值并传输至前端进行显示。
可选的,所述更新模块,还用于:
获取所述变更信息中的变更字段,若所述变更字段为预设字段,则优先基于所述变更信息对所述第二记录进行更新。
可选的,所述更新模块,还用于:
若在立即更新表名单中查询存在所述表名称,则确定对所述明细表的更新为立即更新;或
若在返回前更新表名单中查询存在所述表名称,则确定对所述明细表的更新为返回前更新;或
若在返回后更新后表名单中查询存在所述表名称,则确定对所述明细表的更新为返回后更新。
可选的,所述统计模块,用于:
在所述统计层中,获取存在变更操作的源接口标识和批次标识;其中,所述源接口标识为供数的接口的标识,所述批次标识为表创建时的计划时间戳;
基于所述源接口标识和所述批次标识,确定存在记录变更的统计表,以对所述统计表中的数值进行统计;其中,所述统计表与所述明细表、所述实体表对应,且基于所述明细表进行记录更新。
可选的,所述统计模块,还用于:所述统计层在得到统计值之后,在预定时间间隔后传输所述统计值至前端进行显示。
可选的,所述获取模块,用于:监听对所述实体表中记录的变更操作,获取预设时间段内存有变更操作的所有记录,并确定对所述所有记录的变更信息。
可选的,所述获取模块,还用于:
根据所述实体表的表名称,确定与所述实体表存在关联关系的关联表;
在所述关联表中,确定与所述第一记录对应的第三记录,以基于所述变更信息对所述第三记录进行更新。
可选的,还包括解析模块,用于:
获取模型文档并进行解析,得到前端代码和后端代码;其中,所述模型文档为前端和后端对于同一信息的统一描述;
基于所述前端代码生成页面在前端进行显示,以及基于所述后端代码生成所述实体层、所述明细层和所述统计层。
为实现上述目的,根据本发明实施例的再一方面,提供了一种信息处理电子设备。
本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的信息处理方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的信息处理方法。
根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:将显示逻辑与业务逻辑进行分离,整体呈现三层模型结构,便于职责分工,减少了开发复杂度,实现了数据分级处理,降低了非关键性数据操作对开发人员的干扰。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种信息处理方法的主要流程示意图;
图2是本发明实施例三范式设计库表结构示意图;
图3是根据本发明实施例的一种可选的信息处理方法的流程示意图;
图4是根据本发明实施例的另一种可选的信息处理方法的流程示意图;
图5是根据本发明实施例的又一种可选的信息处理方法的流程示意图;
图6是根据本发明实施例的又一种可选的信息处理方法的流程示意图;
图7是根据本发明实施例的一种信息处理装置的主要模块示意图;
图8是本发明实施例可以应用于其中的示例性系统架构图;
图9是适于用来实现本发明实施例的移动设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
参见图1,示出的是本发明实施例提供的一种信息处理方法的主要流程图,包括如下步骤:
S101:获取前端对实体表中第一记录的变更信息,根据所述实体表的表名称在明细层中进行查询,以确定与所述实体表对应的明细表;其中,所述实体表位于实体层中;
S102:根据所述第一记录的标识,确定所述明细表中与所述标识对应的第二记录,进而基于所述变更信息对所述第二记录进行更新;
S103:在对所述第二记录更新完毕后,触发统计层对所述明细表中记录的统计操作,得到统计值并传输至前端进行显示。
上述实施方式中,对于步骤S101,为提高处理效率,本发明按照三范式设计库表结构,包括实体层、明细层和统计层,具体参见图2所示;其中,明细层和统计层为显示层,实体层是业务逻辑处理层,,是明细层和统计层数据的原始来源方。
实体层面向计算机内部,所有业务逻辑均在实体层上完成,包括所有增删改的业务逻辑操作。开发人员只需要实施该层级的数据处理,其他层级的数据由框架自动处理。
用户在前端的操作,即为对实体层中实体表的记录的操作。当实体表中记录存在新增、删除或改变时,会记录有所操作实体表的表名称以及所涉及的记录(即第一记录)的ID列表。每批数据操作完成后,可以汇总该表本次操作所涉及记录的ID。
进一步的,对于同一记录可能存在多次操作、且每次操作所处位置可能不同的情况。因此在汇总记录ID时,可以进行去重处理。例如,一批次数据中操作了实体表A两次,并且操作的记录ID都是10,通过去重操作后,最终只会在实体表A对应的明细表B中操作一次ID为10的记录。
需要说明的是,在实体层中,实体表的表字段通常会以ID形式呈现,例如系统ID、来源接口ID、目标接口UD等,以解决描述字段呈现不完整,以及不适合全字段筛选的问题。且ID通常为数字形式,例如10、20,但用户查看的通常是业级数据仓库、对公信贷业务流程管理系统等信息,因此ID并不会呈现给用户查看。
明细层主要面向用户并呈现明细结果。用户操作完成后需要立马看到结果,所以此处的数据是在响应用户操作前要完成的。该层以物理明细表的方式呈现,便于全字段筛选。
明细层是实体层的扩展,其明细表的ID与实体表的ID一一对应,本发明主要以表的表名称进行说明。明细表用以将用户需要关注的描述信息进行扩展,例如系统和接口的英文名和中文名。
本发明根植于批处理,且认为单条记录的处理只是批处理的一种特例体现形式,所以除在编辑功能时需要获取单条记录的信息外,其他情况均统一使用批量接口。
预先规定,所有ID均需以对象列表的方式封装,如下表所示:
对象列表(直接组装成对象) | {dstApps:[{id:1},{id:2}]} |
列表ID(对数组解析后组装成对象) | {dstAppIds:[1,2]} |
以此可以批量添加、修改以及删除数据。具体处理方式为:
1、前端新增数据时,将新增内容存放到对象列表中,并将对象放到列表中发至后端处理;
2、修改时将所需修改记录的ID以及修改内容进行对象封装后存放到列表中发至后端处理;
3、删除时将需要删除的记录ID以对象的方式封装套列表中发至后端处理。
对于步骤S102,明细层对于实体表中记录的更改,会根据表名称查询相应明细表,并判断该实体表中存在变更操作的记录ID是否存在在该明细表中,若不存在则新增;若存在,则对明细表中的记录(即第二记录)进行覆盖更新。
对于步骤S103,统计层主要面向最终用户,其数据直接来源于明细层,用于对明细层中明细表的记录进行汇总显示,此数据对实时性的要求较低。
进一步的,为了综合平衡减少用户操作时长和尽快看到实际结果的需求,统计层数据在用户操作响应完成前不执行,以减少响应时间。在操作完成后一定时长后再执行统计层更新,例如5分钟。该层以物理实体表的方式呈现,便于全字段筛选。
但需要说明的是,统计表虽与明细表具有对应关系,但其ID字段并不能一一对应到其他表中。例如,20191031批次对公信贷业务流程项目组,明细表中有10条记录,并且都供数完成了;但在统计表中只有一条记录,20191031批次对公信贷业务流程项目组供数完成10,未完成0,这样明细表和统计表的ID不是一一对应的。
上述实施例所提供的方法,将显示逻辑与业务逻辑进行分离,整体呈现三层模型结构,便于职责分工,减少了开发复杂度,实现了数据分级处理,降低了非关键性数据操作对开发人员的干扰。
参见图3,示出了根据本发明实施例的一种可选的信息处理方法流程示意图,包括如下步骤:
S301:获取前端对实体表中第一记录的变更信息,根据所述实体表的表名称在明细层中进行查询,以确定与所述实体表对应的明细表;其中,所述实体表位于实体层中;
S302:若在立即更新表名单中查询存在所述表名称,则确定对所述明细表的更新为立即更新;
S303:若在返回前更新表名单中查询存在所述表名称,则确定对所述明细表的更新为返回前更新;
S304:若在返回后更新后表名单中查询存在所述表名称,则确定对所述明细表的更新为返回后更新;
S305:根据所述第一记录的标识,确定所述明细表中与所述标识对应的第二记录;
S306:获取所述变更信息中的变更字段,若所述变更字段为预设字段,则优先基于所述变更信息对所述第二记录进行更新;
S307:在对所述第二记录更新完毕后,触发统计层对所述明细表中记录的统计操作,得到统计值并传输至前端进行显示。
上述实施方式中,对于步骤S301、S305和S307可参见图1所示步骤S101~S102的描述,在此不再赘述。
上述实施方式中,对于步骤S302~S304,从前述描述可知数据流向顺序为实体层->明细层->统计层,实时性为立即更新->控制层返回前更新->控制层返回后更新,花费时间长短为少、中、多。
本发明针对不同实体表设置有不同的更新等级,立即更新、返回前更新以及返回后更新,可以通过其表名称在表名单中进行查询判断。
本发明所实现的分级实时策略为:每次执行增删改的操作后,在底层会直接调用一个更新模块。当存在实时更新配置时会直接更新相关记录;将控制层返回前、后更新的数据分别保存在不同的线程变量中,并立即返回。
其中,线程变量为本次操作有效的一个变量,表示更新的记录信息可以通过配置文件来判断更新策略(1实时(实体表中重要字段)、2控制层返回前(明细表)、3控制层返回后(统计表)),如果策略为2、3则会分别保留在不同变量中,在控制层返回信息前对这两个变量进行处理。
待所有操作完成后,控制层正常返回时将会立即执行控制层返回前数据更新,并且将控制层返回后数据更新放入共享队列中,并在达到预定时间后从共享队列中去除数据执行相关数据更新,例如5分钟后通过这些明细层的数据去更新统计层的数据。
操作过程中,若发生异常,则表示本次操作有误,需要回滚,不需要更新数据,则直接清除线程数据中的数据。
每次操作都会携带所操作记录的ID列表,以缩小数据处理范围,用最少的时间代价满足正常的业务需求。线程变量中仅保存库表名称和记录ID,所占用的内存空间非常小,典型配置服务器都可以满足。
对于步骤S306,对于记录的变更可以基于其变更字段确定是否需要优先更新,例如年龄、姓名、公积金等需要优先更新。因此,对于所确定的更新等级中,基于其记录的变更字段判断是否需要立即更新。
上述实施例所提供的方法,基于实体表的表名称以及变更记录的字段,判断更改等级,以避免数据一同更新造成的拥堵情况。
参见图4,示出了根据本发明实施例的另一种可选的信息处理方法流程示意图,包括如下步骤:
S401:获取前端对实体表中第一记录的变更信息,根据所述实体表的表名称在明细层中进行查询,以确定与所述实体表对应的明细表;其中,所述实体表位于实体层中;
S402:根据所述第一记录的标识,确定所述明细表中与所述标识对应的第二记录,进而基于所述变更信息对所述第二记录进行更新;
S403:在对所述第二记录更新完毕后,在统计层中,获取存在变更操作的源接口标识和批次标识;其中,所述源接口标识为供数的接口的标识,所述批次标识为表创建时的计划时间戳;
S404:基于所述源接口标识和所述批次标识,确定存在记录变更的统计表,以对所述统计表中的数值进行统计;其中,所述统计表基于所述明细表进行记录更新,且与所述明细表、所述实体表对应。
上述实施方式中,对于步骤S401和S402可参见图1所示步骤S101和S102的描述,在此不再赘述。
上述实施方式中,对于步骤S403和S404,统计表中所有数据的源头是明细表,而现有每次更新明细数据后删除所有数据并重新统计的方法会导致大量的运算。虽该方式计算结果是正确的,但当明细表中数据量较大时,例如10万条,即使仅变化了一条记录,也需要将这10万条数据重新汇总,计算量过大,并且时间越长,数据量越大,处理时间越长。
为了支持统计层中统计表的部分更新,本发明选择在每张表中都添加一个UNION_ID,用于标识唯一的业务信息。其中,UNION_ID指的一个字段,具体的信息是来自于该表中能唯一确定一条记录的业务字段的组合。
需要说明的是,实体表中也存在该UNION_ID,如订阅目标接口的同时会判断接口是否已经被订阅,可以通过“源接口ID+批次ID”组合为一个UNION_ID字段,然后用该UNION_ID字段判断数据库中是否已经存在。其中,源接口可以是上游系统的供数接口或者下游系统的供数接口,批次为计划时间戳。
实体表中在需要根据业务信息来查找的时候才需要使用UNION_ID,其他情况则不需要,但是ID字段是所有表都存在的一个信息,故实体层-明细层中表的对应关系通常选用ID。
每当明细表发生变化时,统计层会通过SQL识别出受影响的UNION_ID,并重新计算对应的统计值。根据明细表中的源接口ID和批次ID,就可以查找出联合ID是什么,即受影响的联合ID。
明细表中有各种明细的数据,通过对数据状态的判断并汇总到系统级别的供数情况,即可得到统计值。
上述实施例所提供的方法,记录的变更操作通过实时性分级,集中资源解决高实时性要求,同时基于UNION_ID判断发生变更的明细表并统计该表中的数据,以此降低数据计算量,提高用户体验。
参见图5,示出了根据本发明实施例的又一种可选的信息处理方法流程示意图,包括如下步骤:
S501:获取模型文档并进行解析,得到前端代码和后端代码;其中,所述模型文档为前端和后端对于同一信息的统一描述;
S502:基于所述前端代码生成页面在前端进行显示;
S503:基于所述后端代码生成所述实体层、所述明细层和所述统计层。
上述实施方式中,对于步骤S501,本发明的核心操作是在后端,前端作为用户的人机交互接口,需要与后端紧密配合以发挥作用。目前比较流行前后端分离框架,通过接口交互,降低耦合度。前后端可以并行开发,减少传统串行开发带来的等待时间问题。
实际使用过程中前后端会对接口理解产生偏差,导致对接时间成本较高的问题,由此本发明约定前后端接口对接方式,以模型文档的方式来体现。
每个列表展示的基础内容都来自模型文档,其他额外的展示内容通过定制开发解决。模型文档是开发过程中最重要的一个文档,不仅可以直接通过模型生成前后端代码,还需要更新到数据库中,作为列表展示的依据。生成的代码取决于模型文档,如类、字段、类型等;而代码的基本信息是固定的,如存放路径、公共引用的类和注释等。
对于步骤S502,生成的前端UI代码调用封装好的组件,仅需要设置一个表名的参数。组件通过前期制定的规则组装URL和参数,从后台获取1、标题;2、筛选字段和方式;3、显示字段;4、新增页面展示组件;5、修改页面展示组件等
对于步骤S503,生成的后端代码自动生成控制层、服务层和模型层,其中,实体层、明细层和统计层位于模型层中,也可以通过后端代码生成。默认支持带权限控制的批量增删改接口和支持筛选和权限控制的查询接口。
进一步的,前台的增删改数据操作需要支持批量处理,为后端可以进行统一封装,前后端均以对象列表的方式传输。
上述实施例所提供的方法,前后端基本逻辑由模型文档生成,减少前后端接口对接风险,便于运维人员维护模型文档,达到前后端对接的一致性。
参见图6,示出了根据本发明实施例的又一种可选的信息处理方法流程示意图,包括如下步骤:
S601:在实体层中,获取前端对实体表中第一记录的变更信息,根据所述实体表的表名称,确定与所述实体表存在关联关系的关联表;
S602:在所述关联表中,确定与所述第一记录对应的第三记录,以基于所述变更信息对所述第三记录进行更新;
S603:根据所述实体表的表名称、所述关联表的表名称在明细层中进行查询,以确定与所述实体表对应的第一明细表和与所述关联表对应的第二明细表;其中,所述实体表位于实体层中;
S604:根据所述第一记录的标识,确定所述第一明细表中与所述标识对应的第二记录,进而基于其变更信息对所述第二记录进行更新;
S605:根据所述第三记录的标识,确定所述第二明细表中与该标识对应的第四记录,进而基于其变更信息对所述第四记录进行更新;
S606:在对所述第二记录和所述第四记录更新完毕后,触发统计层对所述第一明细表和所述第二明细表中记录的统计操作,得到统计值并传输至前端进行显示。
上述实施方式中,对于步骤S601~S606,本发明根植于批处理,为了降低在业务逻辑开发时的复杂度,在底层封装几个使用频率较高的方法:
1、根据ID批量获取数据库对象。如前所示,前端传来的数据大部分情况下仅携带一个ID字段加少量的其他字段。通过对象列表中的ID一次性批量获取数据库记录并存放到该对象列表的方法,便于与数据库交互。
其中,如果要修改状态,则只需要将ID和目标状态两个字段传递到后端,其他字段就是这种需要更新的状态信息。
2、根据UNION_ID批量获取数据库对象。有些场景下无法获取到对象列表的ID,而能获取到其UNION_ID。由于需要确认在数据库中是否存在(源接口ID+批次ID)这两个信息的组合,因此将需要确认的源接口存放源接口对象中,并且填充UNION_ID,之后从数据库中批量查询该接口中所有包含对象列表中与UNION_ID对应的记录,并回填到对象列表中。
3、批量获取关联对象:当获取一个对象后,会去查找关联对象或者对象表。
查找关联对象,一般都是通过本对象所包含信息(如ID)去数据库中查找:可以执行SQL查找,也可以使用如Mybatis或Hibernate等框架提供的懒加载方式查找。
以上处理获取一个对象执行一次SQL查询。存在的问题是:如果有100个对象,要获取其关联的对象,需要执行100次SQL,需要访问100次网络。目前网络的处理效率普遍较慢,其延迟一般在毫秒级别,串行操作让这个延迟增加了100倍。
所以在底层封装一个办法(在java代码的父类中封装,便于继承的子类进行简单调用),一次性获取100个对象中所有相关的记录,并且在内存中组装。内存的存取延迟是远小于网络的,时间可以忽略不计,实现将100倍的网络延迟时间缩减到一次延迟时间。
因此,在实体层中对实体表记录变更后,同样需要对其关联的表进行记录更新。在对明细表进行的更新,处理与该实体表对应的明细表记录更新外(即第一明细表),还需要对于该关联表对应的明细表记录进行更新(即第二明细表中的第四记录)。
上述实施例所提供的方法,基于批量获取记录变更信息的方式,解决了现有串行处理导致处理时间过长的问题;且处理默认在内存中完成,因此响应时间的决定因素由原先数据量变为了步骤数量,以此提高了数据处理速度。
参见图7,示出了本发明实施例提供的一种信息处理装置700的主要模块示意图,包括:
获取模块701,用于获取前端对实体表中第一记录的变更信息,根据所述实体表的表名称在明细层中进行查询,以确定与所述实体表对应的明细表;其中,所述实体表位于实体层中;
更新模块702,用于根据所述第一记录的标识,确定所述明细表中与所述标识对应的第二记录,进而基于所述变更信息对所述第二记录进行更新;
统计模块703,用于在对所述第二记录更新完毕后,触发统计层对所述明细表中记录的统计操作,得到统计值并传输至前端进行显示。
本发明实施装置中,所述更新模块702,还用于:
获取所述变更信息中的变更字段,若所述变更字段为预设字段,则优先基于所述变更信息对所述第二记录进行更新。
本发明实施装置中,所述更新模块702,还用于:
若在立即更新表名单中查询存在所述表名称,则确定对所述明细表的更新为立即更新;或
若在返回前更新表名单中查询存在所述表名称,则确定对所述明细表的更新为返回前更新;或
若在返回后更新后表名单中查询存在所述表名称,则确定对所述明细表的更新为返回后更新。
本发明实施装置中,所述统计模块703,用于:
在所述统计层中,获取存在变更操作的源接口标识和批次标识;其中,所述源接口标识为供数的接口的标识,所述批次标识为表创建时的计划时间戳;
基于所述源接口标识和所述批次标识,确定存在记录变更的统计表,以对所述统计表中的数值进行统计;其中,所述统计表与所述明细表、所述实体表对应,且基于所述明细表进行记录更新。
本发明实施装置中,所述统计模块703,还用于:
所述统计层在得到统计值之后,在预定时间间隔后传输所述统计值至前端进行显示。
本发明实施装置中,所述获取模块701,用于:
监听对所述实体表中记录的变更操作,获取预设时间段内存有变更操作的所有记录,并确定对所述所有记录的变更信息。
本发明实施装置中,所述获取模块701,还用于:
根据所述实体表的表名称,确定与所述实体表存在关联关系的关联表;
在所述关联表中,确定与所述第一记录对应的第三记录,以基于所述变更信息对所述第三记录进行更新。
本发明实施装置还包括解析模块704(图中未标出),用于:
获取模型文档并进行解析,得到前端代码和后端代码;其中,所述模型文档为前端和后端对于同一信息的统一描述;
基于所述前端代码生成页面在前端进行显示,以及基于所述后端代码生成所述实体层、所述明细层和所述统计层。
另外,在本发明实施例中所述装置的具体实施内容,在上面所述方法中已经详细说明了,故在此重复内容不再说明。
图8示出了可以应用本发明实施例的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805(仅仅是示例)。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用。
终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。
需要说明的是,本发明实施例所提供的方法一般由服务器805执行,相应地,装置一般设置于服务器805中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、更新模块、统计模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,统计模块还可以被描述为“记录统计模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
获取前端对实体表中第一记录的变更信息,根据所述实体表的表名称在明细层中进行查询,以确定与所述实体表对应的明细表;其中,所述实体表位于实体层中;
根据所述第一记录的标识,确定所述明细表中与所述标识对应的第二记录,进而基于所述变更信息对所述第二记录进行更新;
在对所述第二记录更新完毕后,触发统计层对所述明细表中记录的统计操作,得到统计值并传输至前端进行显示。
根据本发明实施例的技术方案,将显示逻辑与业务逻辑进行分离,整体呈现三层模型结构,便于职责分工,减少了开发复杂度,实现了数据分级处理,降低了非关键性数据操作对开发人员的干扰。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (11)
1.一种信息处理方法,其特征在于,包括实体层、明细层和统计层,实体层是业务逻辑处理层,所有业务逻辑均在实体层上完成,明细层和统计层为显示层,统计层数据在用户操作响应完成前不执行,包括:
获取前端对实体表中第一记录的变更信息,根据所述实体表的表名称在明细层中进行查询,以确定与所述实体表对应的明细表;其中,所述实体表位于实体层中,明细层是实体层的扩展,其明细表的ID与实体表的ID一一对应;
根据所述第一记录的标识,确定所述明细表中与所述标识对应的第二记录,进而基于所述变更信息对所述第二记录进行更新;
在对所述第二记录更新完毕后,触发统计层对所述明细表中记录的统计操作,得到统计值并传输至前端进行显示。
2.根据权利要求1所述的方法,其特征在于,所述基于所述变更信息对所述第二记录进行更新,还包括:
获取所述变更信息中的变更字段,若所述变更字段为预设字段,则优先基于所述变更信息对所述第二记录进行更新。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述第一记录的标识,确定所述明细表中与所述标识对应的第二记录之前,还包括:
若在立即更新表名单中查询存在所述表名称,则确定对所述明细表的更新为立即更新;或
若在返回前更新表名单中查询存在所述表名称,则确定对所述明细表的更新为返回前更新;或
若在返回后更新后表名单中查询存在所述表名称,则确定对所述明细表的更新为返回后更新。
4.根据权利要求1所述的方法,其特征在于,所述触发统计层对所述明细表中记录的统计操作,包括:
在所述统计层中,获取存在变更操作的源接口标识和批次标识;其中,所述源接口标识为供数的接口的标识,所述批次标识为表创建时的计划时间戳;
基于所述源接口标识和所述批次标识,确定存在记录变更的统计表,以对所述统计表中的数值进行统计;其中,所述统计表与所述明细表、所述实体表对应,且基于所述明细表进行记录更新。
5.根据权利要求1或4所述的方法,其特征在于,所述触发统计层对所述明细表中记录的统计操作,得到统计值并传输至前端进行显示,包括:
所述统计层在得到统计值之后,在预定时间间隔后传输所述统计值至前端进行显示。
6.根据权利要求1所述的方法,其特征在于,所述获取前端对实体表中第一记录的变更信息,包括:
监听对所述实体表中记录的变更操作,获取预设时间段内存有变更操作的所有记录,并确定对所述所有记录的变更信息。
7.根据权利要求1所述的方法,其特征在于,在所述获取前端对实体表中第一记录的变更信息之后,还包括:
根据所述实体表的表名称,确定与所述实体表存在关联关系的关联表;
在所述关联表中,确定与所述第一记录对应的第三记录,以基于所述变更信息对所述第三记录进行更新。
8.根据权利要求1所述的方法,其特征在于,在所述获取前端对实体表中第一记录的变更信息之前,还包括:
获取模型文档并进行解析,得到前端代码和后端代码;其中,所述模型文档为前端和后端对于同一信息的统一描述;
基于所述前端代码生成页面在前端进行显示,以及基于所述后端代码生成所述实体层、所述明细层和所述统计层。
9.一种信息处理装置,其特征在于,包括实体层、明细层和统计层,实体层是业务逻辑处理层,所有业务逻辑均在实体层上完成,明细层和统计层为显示层,统计层数据在用户操作响应完成前不执行,包括:
获取模块,用于获取前端对实体表中第一记录的变更信息,根据所述实体表的表名称在明细层中进行查询,以确定与所述实体表对应的明细表;其中,所述实体表位于实体层中,明细层是实体层的扩展,其明细表的ID与实体表的ID一一对应;
更新模块,用于根据所述第一记录的标识,确定所述明细表中与所述标识对应的第二记录,进而基于所述变更信息对所述第二记录进行更新;
统计模块,用于在对所述第二记录更新完毕后,触发统计层对所述明细表中记录的统计操作,得到统计值并传输至前端进行显示。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911295661.0A CN111159207B (zh) | 2019-12-16 | 2019-12-16 | 一种信息处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911295661.0A CN111159207B (zh) | 2019-12-16 | 2019-12-16 | 一种信息处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159207A CN111159207A (zh) | 2020-05-15 |
CN111159207B true CN111159207B (zh) | 2023-06-16 |
Family
ID=70557156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911295661.0A Active CN111159207B (zh) | 2019-12-16 | 2019-12-16 | 一种信息处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159207B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113763097A (zh) * | 2020-12-14 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种物品信息更新的方法和装置 |
CN112948058B (zh) * | 2021-03-12 | 2022-07-29 | 华东师范大学 | 一种集中式服务解耦后公平部署的响应时间优化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874335A (zh) * | 2016-08-19 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 行为数据处理方法、装置及服务器 |
CN108334534A (zh) * | 2017-10-27 | 2018-07-27 | 平安普惠企业管理有限公司 | 业务系统字段配置方法、装置、服务器及可读存储介质 |
CN108629029A (zh) * | 2018-05-09 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 一种应用于数据仓库的数据处理方法和装置 |
CN109325037A (zh) * | 2018-08-17 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 一种针对海量数据的数据同步方法、存储介质和服务器 |
-
2019
- 2019-12-16 CN CN201911295661.0A patent/CN111159207B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874335A (zh) * | 2016-08-19 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 行为数据处理方法、装置及服务器 |
CN108334534A (zh) * | 2017-10-27 | 2018-07-27 | 平安普惠企业管理有限公司 | 业务系统字段配置方法、装置、服务器及可读存储介质 |
CN108629029A (zh) * | 2018-05-09 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 一种应用于数据仓库的数据处理方法和装置 |
CN109325037A (zh) * | 2018-08-17 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 一种针对海量数据的数据同步方法、存储介质和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111159207A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110310034B (zh) | 一种应用于SaaS的服务编排、业务流程处理方法和装置 | |
US11934417B2 (en) | Dynamically monitoring an information technology networked entity | |
US12039310B1 (en) | Information technology networked entity monitoring with metric selection | |
US11394767B2 (en) | Central repository of configuration files and two-way replication of search node configuration files | |
CN111190888A (zh) | 一种管理图数据库集群的方法和装置 | |
CN111429241A (zh) | 一种账务处理方法和装置 | |
CN108108986B (zh) | 一种客户关系管理系统的设计方法、装置及电子设备 | |
CN111427701A (zh) | 一种工作流引擎系统和业务处理方法 | |
CN112860744A (zh) | 一种业务流程处理方法和装置 | |
CN111666293A (zh) | 数据库访问方法和装置 | |
CN112199373A (zh) | 一种表单开发方法和系统 | |
CN111159207B (zh) | 一种信息处理方法和装置 | |
CN113760722A (zh) | 测试系统和测试方法 | |
CN112612467A (zh) | 一种处理基于qiankun的微前端架构的方法和装置 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN111698326A (zh) | 用于确定云服务资源的成本归属的方法和装置 | |
CN110764769A (zh) | 处理用户请求的方法和装置 | |
CN111435329A (zh) | 一种自动化测试方法和装置 | |
CN111382953A (zh) | 一种动态流程生成方法和装置 | |
CN110648081A (zh) | 用于计算系统的业务建模方法、装置和计算机系统 | |
CN113495747B (zh) | 一种灰度发布方法和装置 | |
CN115994145B (zh) | 一种处理数据的方法和装置 | |
CN113706209B (zh) | 运营数据处理方法及相关装置 | |
CN112905427B (zh) | 一种数据处理方法和装置 | |
US10489219B2 (en) | Transitioning between data stream processors in a publish-subscribe system |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220923 Address after: 12 / F, 15 / F, 99 Yincheng Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120 Applicant after: Jianxin Financial Science and Technology Co.,Ltd. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |