CN112131085A - 互联网业务过程记录与回放的方法、系统及装置 - Google Patents
互联网业务过程记录与回放的方法、系统及装置 Download PDFInfo
- Publication number
- CN112131085A CN112131085A CN202010750894.1A CN202010750894A CN112131085A CN 112131085 A CN112131085 A CN 112131085A CN 202010750894 A CN202010750894 A CN 202010750894A CN 112131085 A CN112131085 A CN 112131085A
- Authority
- CN
- China
- Prior art keywords
- data
- record
- playback
- instruction
- client
- 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 453
- 230000008569 process Effects 0.000 title claims abstract description 348
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 32
- 238000012544 monitoring process Methods 0.000 claims description 27
- 238000012795 verification Methods 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 12
- 230000009191 jumping Effects 0.000 claims description 11
- 238000013500 data storage Methods 0.000 claims description 6
- 238000013524 data verification Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims description 2
- 230000001172 regenerating effect Effects 0.000 claims 1
- 230000003993 interaction Effects 0.000 abstract description 14
- 230000006399 behavior Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
本申请公开了一种互联网业务操作过程记录方法,应用于互联网业务操作过程记录装置,方法包括,在业务客户端,基于业务程序运行过程中发生的事件,根据所述事件和/或所述事件对应的执行内容生成指令记录或数据记录,将所述指令记录或所述数据记录增加至业务过程记录数据,并采用摘要算法为业务过程记录数据生成消息摘要并记录,所述消息摘要用于验证数据、作为操作凭据。本申请还公开了一种互联网业务操作过程回放方法,在读入业务过程记录数据并验证其一致性的基础上,解析数据并执行回放。本申请所提供的方法均在业务客户端实施,通过对运行环境、程序、外部交互、用户操作全面和按步骤的数据采集,生成真实有效、防篡改的业务过程记录数据。
Description
技术领域
本发明涉及通信领域,具体涉及一种互联网业务过程记录与回放的方法、系统及装置。
背景技术
在人们日常使用的互联网业务系统中,经常会遇到需要记录业务操作过程的情形,现有技术通过采集用户操作行为数据,同时记录业务系统服务端响应的交互数据,根据以上数据进行模拟回放,还原用户进行互联网业务操作的过程,并根据模拟回放过程生成视频,采用消息摘要算法根据视频生成摘要,作为用户本次业务操作的凭据。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有技术的实现方案中含有在服务端进行数据存放、模拟回放、生成视频的过程,该过程对用户不公开,相关数据有篡改的可能性,程序执行的结果难于取信;模拟过程基于对应的业务系统的程序版本实现回放,所述程序版本无法确认与用户执行操作时的程序完全相同,无法获得用户认可;如用户与业务提供方因业务过程记录发生争议,无法定位到其中哪个环节、哪一方出现了问题;所采集的用户操作行为数据与服务器所响应的数据,不能涵盖业务过程的所有数据。
根据以上,现有技术提供的方案虽在一定程度上实现了业务操作过程的记录与回放,但所生成的结果数据不能作为用户进行业务操作的凭据,无法取得用户信任,以上问题亟待解决。
发明内容
本申请提供了一种互联网业务过程记录与回放的方法、系统及装置,解决以下问题:针对互联网业务过程及用户操作,采集数据生成可用于回放的记录数据,并生成可供业务提供方、用户双方信任的操作凭据。
第一方面,本申请提供了一种互联网业务过程记录方法,应用于互联网业务过程记录装置,所述装置还包括运行业务程序的客户端,所述方法包括:
在所述客户端,基于所述业务程序运行过程中发生的事件,根据所述事件和/或所述事件对应的执行内容生成指令记录,或者,根据所述事件和/或所述事件对应的执行内容生成数据记录,其中,所述指令记录用于在业务过程回放时执行,所述数据记录用于在业务过程回放时,基于所述数据记录生成回放指令并执行;
将所述指令记录或所述数据记录增加至业务过程记录数据,所述业务过程记录数据用于记录本次互联网业务过程;
采用摘要算法为所述业务过程记录数据生成消息摘要,所述消息摘要用于验证所述业务过程记录数据的一致性,同时作为本次互联网业务过程的标识。
通过本申请实施例提供的方案,在业务程序运行的客户端,根据业务程序运行过程中发生的“事情”进行采集,并生成用于回放的指令记录或数据记录,完成了业务过程的记录,并在客户端为所记录的数据生成消息摘要,其中的数据采集、生成摘要等操作均在客户端完成,从而生成可信的操作凭据。
在本申请的一种实现方式中,基于所述客户端发生的事件和/或所述事件对应的执行内容生成指令记录或数据记录,进一步为指令记录与数据记录采集附加信息:
根据所述事件或所述事件对应的执行内容,生成相应类型的指令记录或数据记录;
根据所述指令记录或数据记录的类型,基于所述事件和/或所述事件对应的执行内容,采集数据生成所述指令记录或数据记录的附加信息,其中,所述附加信息用于为所述指令记录提供执行支持,或者,用于为所述数据记录提供生成回放指令支持以及为所生成的回放指令提供执行支持;
将所述附加信息增加至所述业务过程记录数据,并记录其与所述指令记录或所述数据记录之间的对应关系,或者,将所述附加信息加入到其对应的指令记录或数据记录。
在上述实现方式中,所述附加信息包括事件的发生时间、来源、事件性质、执行参数、引用数据、生成数据中的一种或多种。其中,所述事件的引用数据为所述事件和/或所述事件对应的执行内容执行所使用的数据,所述事件的生成数据为所述事件和/或所述事件对应的执行内容执行后产生的结果数据。
在该实现方式中,为所述指令记录或数据记录采集用于其执行的支持信息,通过将业务过程中采集的支持信息应用于业务回放,使所述指令记录或数据记录在回放时获得与业务记录时完全相同的执行效果。
在本申请的另一种实现方式中,当所述客户端发生的事件和/或其对应的执行内容包含外部请求时,基于所述外部请求的性质生成相应外部请求类型的指令记录,并基于所述外部请求采集数据生成所述指令记录的附加信息。其中,所述外部请求为所述客户端与所述客户端外部发生的请求;基于所述外部请求采集的数据包括请求信息、所发送的请求数据、所接收的响应数据中的一种或者多种;所述外部请求类型的指令记录用于在回放时执行,在回放过程中,根据回放中捕获到的外部请求,执行对应的外部请求指令记录返回响应数据。
在上述实现方式中,所述客户端为逻辑上独立的运行环境,所述客户端与所述客户端外部发生的请求,根据其性质,包括但不限于网络请求、与本地支持的运行环境之间的请求等。
通过以上实现方式,在业务回放过程中,当客户端与客户端外部发生请求时,执行所述外部请求类型的指令记录取代真实的外部请求返回响应数据,因所使用的数据来源限定在业务过程记录的数据之内,所还原出的客户端与外部交互的过程真实可信。
在本申请的另一种实现方式中,当所述客户端发生的事件和/或其对应的执行内容包含外部请求时,基于所述外部请求生成请求类型的记录数据,所述请求类型的记录数据的内容包括请求信息、所发送的请求数据、所接收的响应数据中的一种或者多种。其中,所述外部请求为所述客户端与所述客户端外部发生请求;所述请求类型的记录数据用于在回放过程中模拟服务提供请求结果,在回放过程中,根据回放中发生的外部请求,在所述业务过程记录数据中查找获得相应的请求类型的记录数据记录,返回所述请求类型的记录数据记录中包含的响应数据。
以上实现方式采用记录请求类型的记录数据的方式,所实现的功能与上一实现方式基本相同,进一步的,根据业务过程记录数据中存放的请求类型的记录数据构建独立的外部请求模拟服务,为回放中发生的外部请求提供响应数据。
在本申请的另一种实现方式中,还包括记录所述业务程序的运行环境信息:
在所述客户端,获取所述业务程序的运行环境信息;
根据所述运行环境信息,生成在回放过程中判断和/或设置回放客户端运行环境的指令记录,将所述指令记录增加至所述业务过程记录数据,或者,根据运行环境信息,生成业务程序运行环境数据记录,将所述业务程序运行环境数据记录增加至所述业务过程记录数据。
其中,所述运行环境信息包括服务器信息、业务服务程序信息、客户端操作系统信息、网络信息、客户端信息、客户端为业务程序提供的运行环境信息、业务程序信息、时间信息、位置信息中的一种或者多种。
以上实现方式采集业务程序的运行环境信息,以供业务回放时,判断回放的客户端运行环境是否符合回放要求,并基于其设置回放的客户端运行环境以达到一致的回放效果。
在本申请的另一种实现方式中,在所述客户端,获取所述客户端运行的所述业务程序的程序内容作为业务程序内容记录数据,将所述业务程序内容记录数据增加至所述业务过程记录数据。
以上实现方式所记录的业务程序内容,为业务过程中客户端运行的前端业务程序,通过记录该程序内容而保存业务处理逻辑,以供查验。另一面,所记录的程序内容还用于验证回放客户端包含的业务程序,或者,为业务回放提供业务程序。
在本申请的另一种实现方式中,在获取所述业务程序的程序内容时,获取所述客户端运行的所有程序的程序内容作为所有程序内容记录数据,并将所有程序内容记录数据增加至所述业务过程记录数据。
以上实现方式为上一实现方式的有效补充,即保存客户端全部的运行程序内容,以用于回放和查验。其中,客户端运行的程序至少包括业务程序、记录程序,所述记录程序是为实现本申请所提供的互联网业务过程记录方法所提供的程序。
通过将以上实现方式,能够有效的证明业务过程中所运行的前端程序内容,相当于在记录过程中完整保存了本次业务过程的业务处理逻辑与记录逻辑。
在本申请的另一种实现方式中,还包括:
在所述客户端,在所述业务程序运行前,获取所述客户端数据环境中的数据;
根据所获取的数据生成设置回放客户端数据环境的指令记录,将所述指令记录增加至业务过程记录数据,或者,将所获取的数据作为客户端数据环境类型的数据记录增加至所述业务过程记录数据。
以上实现方式,从数据的角度出发,保存了客户端在执行业务开始时的数据环境,以供在回放时设置初始数据环境。
在本申请的另一种实现方式中,当所述客户端发生的事件或其对应的执行内容包含采集外界环境数据时,还包括:
在所述客户端,基于所述外界环境数据的性质生成相应类型的播放外界环境数据的指令记录,并采集外界环境数据生成所述指令记录的附加信息,或者,
在所述客户端,基于所述外界环境数据的性质生成相应类型的外界环境数据类型的数据记录,并采集外界环境数据生成所述数据记录的附加信息。
以上实现方式,所采集的外界环境数据包括但不限于音频数据、视频数据、位置数据等,增加了新的记录维度,拓广了所生成的记录数据的用途,同时有利于用户认证和认证用户。
在本申请的另一种实现方式中,当所述客户端发生的事件或其对应的执行内容包含跳转至第三方程序执行或由第三方程序跳转返回时,还包括:
在所述客户端,在所述业务程序跳转至第三方程序执行前,基于所述跳转,生成跳至第三方处理类型的指令记录,并采集所述第三方程序信息、在跳转时发送至所述第三方程序的数据生成所述指令记录的附加信息,或者,基于所述跳转,生成跳至第三方类型的数据记录,并采集所述第三方程序信息、在跳转时发送至所述第三方程序的数据生成所述数据记录的附加信息;
在所述客户端,在从第三方程序跳转至所述业务程序后,基于所述跳转,生成从第三方跳回处理类型的指令记录,并采集所述第三方程序信息、在跳转时从所述第三方程序接收的数据生成所述指令记录的附加信息,或者,基于所述跳转生成从第三方跳回类型的数据记录,并采集所述第三方程序信息、在跳转时从所述第三方程序接收的数据生成所述数据记录的附加信息。
以上实现方式中,结合互联网程序的运行特征,针对程序跳转和返回提供处理,详细记录跳转的目标与数据,为完整地还原业务过程中的跳转提供支持。
在本申请的另一种实现方式中,在所述客户端将数据记录或指令记录增加至所述业务过程记录数据,还包括,将所述数据记录或所述指令记录对应的时间信息、类型信息、数据记录之间的关系信息、指令记录之间的关系信息中的一种或者多种,增加至所述业务过程记录数据。
该实现方式为所采集的数据或指令增加时间、类型等信息,以便在回放过程中实现编排,同时有利于数据的结构化存放。
在本申请的另一种实现方式中,在所述客户端,根据所述业务程序中预先定义的业务阶段,结合所述业务阶段,在以上各实现方式中,为所采集的数据记录或指令记录增加业务阶段标识,或在增加至所述业务过程记录数据时按照业务阶段存放,用于根据所述业务阶段提取部分业务过程记录数据。
以上实现方式结合业务过程的实际业务阶段采集数据并生成阶段性的业务过程记录数据,有利于在回放过程中进行片段播放控制,快速定位业务处理环节。
在本申请的另一种实现方式中,采用消息摘要算法为所述业务过程记录数据生成消息摘要,还包括:
在所述客户端,采用消息摘要算法,为所述业务过程记录数据包含的子数据生成消息摘要,所述消息摘要用于验证所述子数据的一致性;
其中,所述子数据是所述业务过程记录数据中的部分数据。
根据以上实现方式,为业务过程记录数据所包含的子数据,如:指令记录类型的数据集合、数据记录类型的数据集合、阶段性的业务过程记录数据、外部请求类型的指令记录集合、业务程序运行环境数据记录等,为子数据生成消息摘要,有利于单独验证相应子数据的一致性和在快速定位问题数据,同时利于分布式存储。
在本申请的另一种实现方式中,在每次向所述业务过程记录数据增加新内容后,在所述客户端,采用摘要算法为所述业务过程记录数据重新生成消息摘要,将所述消息摘要增加至消息摘要历史记录,所述消息摘要历史记录用于保存消息摘要的变化过程。
以上实现方式根据业务过程中所生成的业务过程记录数据的变化,为每一个业务操作状态下的业务过程记录数据生成消息摘要,根据所述消息摘要生成的历史记录,为每一步业务过程的每一步骤提供可查证的凭据。
在本申请的另一种实现方式中,在为所述业务过程记录数据包含的任意两个或以上的数据内容生成消息摘要时,还包括,在所述客户端,将所述数据内容或者所述数据内容的消息摘要,与另一数据内容或者另一数据内容的消息摘要,进行合并运算生成新的数据内容,采用消息摘要算法为所述新的数据内容生成消息摘要。
以上实现方式所提供的消息摘要生成方法,可选择基于内容或消息摘要进行运算,避免因内容过大造成运算效率降低的情形。
在本申请的另一种实现方式中,在所述客户端,在所述互联网业务过程中或操作完成状态下,将所述业务过程记录数据或其子数据的消息摘要,在所述客户端的用户操作界面中显示或存储,所述存储的方式包括由所述客户端操作用户存储、发送至服务端存储、使用区块链存储、使用外部介质存储中的一种或者多种,作为本次互联网业务过程的凭据。
以上实现方式中,在客户操作界面显示相关消息摘要,有利于客户存证,同时,由于本申请提供的方法在客户端完成消息摘要计算,所生成的操作凭据公开、公平。
在本申请的另一种实现方式中,在所述客户端的用户操作界面中显示所述消息摘要,在所述客户端,根据在用户操作界面上显示的消息摘要信息,要求所述客户端的操作用户基于所显示的消息摘要信息进行报读,并采集所述报读内容作为外界环境数据,将所述外界环境数据生成的指令记录或数据记录增加至所述业务过程记录数据,根据新的业务过程记录数据再次生成新的消息摘要信息,并更新用户操作界面上显示的消息摘要信息。
以上实现方式为用户提供了一种与消息摘要互动的方法,同时解决了操作者的真人验证问题,通过与消息摘要互动产生的视频或音频,即验证“某人,在某业务操作状态下做某事”,适用于关键的业务操作点。
在本申请的另一种实现方式中,在所述客户端,还包括,以上的各个实现方式,可根据预先设定的时间间隔执行。
该实现方式为客户端业务过程采集提供了另一种方式,便于周期性采集业务过程中的指令、数据与程序内容。
在本申请的另一种实现方式中,在所述客户端,需包含为实现本申请的业务过程记录方法而使用到的上述任一实现方式的程序内容;在未生成最终的可供客户端操作用户、业务系统提供方保存的凭据之前,上述任实现方式均限制在客户端中运行。
以上实现方式限制了所有的业务程序、记录程序均在客户端中执行,生成“运行某程序做了某事”的有效凭据。
根据以上第一方面的所有实现方式,客户端作为用户与业务提供方“交易”的地点,限定在客户端,围绕运行环境、数据、程序、外部交互、外部环境、第三方跳转等进行全方位的数据采集与记录,为业务过程的每一步操作生成不可篡改的凭据,最终生成真实公平的业务过程凭据。
第二方面,本申请提供了一种互联网业务过程回放方法,所述方法应用于互联网业务过程回放装置,所述回放装置包括执行回放的客户端,在所述客户端运行回放程序执行回放方法,所述方法包括:
读取回放数据,所述回放数据包括业务过程记录数据或者相应业务阶段的业务过程记录数据;
解析回放数据、编排生成回放指令,解析所述回放数据所包含的指令记录数据、数据记录数据及其附加信息数据,生成可用于回放程序执行的回放指令,包括,将所述指令记录数据转化为回放指令、基于所述数据记录数据及其附加信息数据生成相应的回放指令;基于所述指令记录数据、数据记录数据包含的时间信息,对所生成的回放指令进行编排,为所述回放指令指定执行时间或顺序;其中,所述指令记录数据包括根据所述事件和/或所述事件对应的执行内容生成指令记录、外部请求类型的指令记录、判断和/或设置回放客户端运行环境的指令记录、设置回放客户端数据环境的指令记录、相应类型的播放外界环境数据的指令记录、跳至第三方处理类型的指令记录、从第三方跳回处理类型的指令记录中的一种或者多种;所述数据记录数据包括根据所述事件和/或所述事件对应的执行内容生成数据记录、请求类型的记录数据、业务程序运行环境数据记录、业务程序内容记录数据、所有程序内容记录数据、客户端数据环境类型的数据记录、外界环境数据类型的数据记录、跳至第三方类型的数据记录、从第三方跳回类型的数据记录中的一种或者多种;
执行回放指令,根据解析、编排所获得的回放指令,基于其包含的执行时间或顺序信息,执行所述回放指令。
通过本申请实施例提供的方案,针对第一方面记录的业务过程记录数据实现了业务过程的回放,达到与记录过程一致的回放效果。
在本申请的一种实现方式中,当在回放过程中监听到外部请求时,还包括:
捕获当前所述客户端与所述客户端外部的请求;
根据所述外部请求的信息,在外部请求类型的指令记录数据中查找获得对应的外部请求类型的指令记录,基于所述指令记录或其对应的附加信息数据获取响应数据部分,将所述响应数据作为本次请求的结果数据返回,或者,根据所述外部请求的信息,请求类型的记录数据中查找获得相应的请求类型的记录数据记录,基于所述请求类型的记录数据记录或其对应的附加信息数据获取响应数据部分,将所述响应数据作为本次请求的结果数据返回至所述客户端。
以上实现方式避免了在回放过程中与外部产生交互,完全采用业务过程中记录的数据模拟响应外部请求,确保回放过程不受外部程序与数据干扰,以还原业务过程记录时外部请求的真实情况,另外,降低了回放过程对外依赖。
在本申请的另一种实现方式中,读取业务过程记录数据或者相应阶段的业务过程记录数据之后,还包括,使用预先存储的消息摘要验证其数据一致性,其中,所述验证包括根据业务过程记录数据的消息摘要验证、根据业务过程记录数据的子数据的消息摘要验证、根据消息摘要历史记录验证中的一种或者多种。
根据以上实现方式,在读入用于回放的数据后首先进行数据的一致性验证,确保在数据真实无误的情况下进行回放。可选的,在回放的过程中对逐条用于回放的数据进行验证。
第三方面,本申请还提供了一种互联网业务过程记录系统,所述系统基于上述第一方面任意一项互联网业务过程记录方法建立,其包含的模块如下:
事件监听模块,用于监听所述业务程序运行过程中发生的事件;
事件与执行内容分析模块,基于事件监听模块所获得的事件,根据所述事件和/或所述事件对应的执行内容,分析本次事件中业务程序执行或操作的类型,并根据分析结果调用业务过程数据采集模块进行相应的数据采集;
业务过程数据采集模块,根据所述事件与执行内容分析模块所获得的业务程序执行或操作的类型,调用相应的数据采集方法,基于当前业务程序运行中发生事件和/或所述事件对应的执行内容,采集生成指令记录数据、数据记录数据以及所述记录数据、所述数据记录数据附加信息数据;
数据存储模块,用于根据所采集的数据结构化存储,生成业务过程记录数据;
摘要信息生成与记录模块,用于为所述业务过程记录数据或其子数据生成消息摘要。
在一种可能的实现方式中,所述摘要信息生成与记录模块还用于,在业务记录过程中,基于业务过程记录数据或其子数据的消息摘要的变化,逐次记录所述消息摘要信息,生成所述业务过程记录数据或其子数据的消息摘要历史记录。
第四方面,本申请还提供了一种互联网业务过程回放系统,所述系统基于上述第二方面任意一项互联网业务过程回放方法建立,其包含的模块如下:
数据读取模块,用于读取业务过程记录数据或相应业务阶段的业务过程记录数据作为回放数据;
数据解析、编排模块,用于解析所述回放数据所包含的指令记录数据、数据记录数据及其附加信息数据,生成可用于回放程序执行的回放指令,包括,将所述指令记录数据转化为回放指令、基于所述数据记录数据及其附加信息数据生成回放指令;基于所述指令记录数据、数据记录数据包含的时间信息,对所生成的回放指令进行编排,为所述回放指令指定执行时间或顺序;
业务回放模块,用于根据解析、编排模块所获得的回放指令,基于其包含的执行时间或顺序信息,执行所述回放指令。
在一种可能的实现方式中,所述回放系统还包括数据验证模块,用于使用预先存储的消息摘要,验证所述回放数据或其子数据的一致性,其中,所验证的内容包括以下一种或多种:根据整体业务过程记录数据的消息摘要验证整体回放数据的一致性,根据消息摘要历史记录验证回放过程中对应步骤所使用的回放数据的一致性,根据相应操作阶段的消息摘要验证相应阶段回放数据的一致性,根据回放数据中相应子数据的消息摘要验证回放数据中对应子数据的一致性。
第五方面,本申请还提供了一种互联网业务过程记录装置,所述装置用于实现上述第一方面中任一项方法。
第六方面,本申请还提供了一种互联网业务过程回放装置,所述装置用于实现上述第二方面中任一项方法。
第七方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面任一项互联网业务过程记录方法和/或第二方面任一项互联网业务过程回放方法。
第八方面,本申请提供一种计算机程序,当计算机程序被计算机执行时,用于执行如第一方面任一项互联网业务过程记录方法和/或第二方面任一项互联网业务过程回放方法。
可见,在以上各个方面,通过在客户端全方位记录业务程序的运行、操作过程,一方面生成了记录业务过程的完整数据,另一方面生成了业务过程的有效凭据。根据所存储的数据与消息摘要,在验证所述数据一致性的基础上,执行回放还原真实的业务过程。
附图说明
图1为本申请实施例提供的一种互联网业务过程记录流程示意图;
图2为本申请实施例提供的一种用户与业务系统之间的交互示意图;
图3为本申请实施例提供的一种客户端内部、外部交互示意图;
图4为本申请实施例提供的一种互联网业务过程记录流程示意图;
图5为本申请实施例提供的一种客户端中的程序与数据的组成示意图;
图6为本申请实施例提供的一种记录外部请求信息的流程示意图;
图7为本申请实施例提供的一种按时间线进行各种数据记录、指令记录采集的示意图;
图8为本申请实施例提供的一种业务过程记录数据的树状存储结构示意图;
图9为本申请实施例提供的一种业务过程中显示消息摘要的操作界面示意图;
图10为本申请实施例提供的一种互联网业务过程记录系统示意图;
图11为本申请实施例提供的一种互联网业务过程回放流程示意图;
图12为本申请实施例提供的一种互联网业务过程回放系统示意图。
具体实施方式
本申请的实施方式部分仅用于对本申请进行解释,而非旨在限制本申请。
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
以下,对本申请中的部分用语进行解释说明,以便本领域技术人员理解:
1)客户端,与提供业务系统的服务端相对应,所述客户端是一个为用户提供的业务程序或运行业务程序的容器,例如:业务程序为网页,则所述客户端为网页浏览器;一个独立Android APP本身可作为客户端。
2)事件,本申请中对事件的定义,与通常计算机领域的定义略有不同,本申请中的事件可以通俗理解为,在客户端中,业务程序运行过程中发生的任何事情,例如:用户对显示界面上任意部件的操作、用户光标移动、界面滑动、业务程序运行过程中内部激发某内容执行(如使用定时器启动的程序)、客户端运行环境发生改变、由操作系统激发某内容执行、由客户端与外部之间的请求触发某内容执行(如向服务器发送请求、选择本地文件)、客户端中的运行程序发生改变(如跳转至第三方程序执行)、客户端所包含的脚本内容发生改变等。
3)和/或,描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A、单独存在B、同时存在A和B这三种情况,字符“/”一般表示前后关联对象是一种“或”的关系。
本申请提供了一种互联网业务过程记录方法,所述方法用于记录用户对业务系统浏览、操作的全过程,并生成能够用于回溯的记录数据,同时生成真实可信的操作凭据,以下,对本申请方法采用的原理进行简要说明。
首先做个简单类比,客户从银行提取现金,客户与柜员在柜台进行“交易”,因此,在柜台上的交易过程对双方均是可信的,为避免纠纷发生,获得有效的“交易”凭据,需在“交易地点”记录“交易过程”。根据互联网业务的特点,如图2所示,用户进行互联网业务操作,即可理解为用户同业务的提供方之间发生“交易”,在本系统中,业务系统服务器为业务提供方的代表,参考以上类比,双方交易的地点为用户操作的客户端,因而,由客户端所形成的区域即为“可信区域”,用户与系统服务器各自的区域均为“不可信区域”,在“不可信区域”之内发生的操作均难获得对方的信任,因此,现有技术虽在技术上基本实现了业务过程的回放,但由于存在“不可信区域”内的相关处理,不能生成业务过程的凭据。
本申请提供的方法,基于以上原理,记录客户端中的全部业务过程,生成供双方信任的业务过程凭据。请参考图3,为本申请实施例提供的一种客户端内部、外部交互示意图,在客户端内部,包含可供用户操作的操作界面(UI)、业务程序、记录程序、数据,另外,还可包括跳转执行的第三方程序;在客户端外部,包括网络、服务器、客户端所在的运行环境、操作系统、客户端外部数据以及用户。根据以上交互示意,本申请实现的核心在于,记录客户端内部的初始状况和业务过程中发生的任何变化、记录客户端与外部发生的任何交互,同时,要求所有记录、生成凭据操作均在可信区域内完成。
图1示出了一种可能的互联网业务过程记录的流程示意图,包括以下步骤:
S101,在客户端,基于所述业务程序运行过程中发生的事件,根据所述事件和/或所述事件对应的执行内容生成指令记录,或者,根据所述事件和/或所述事件对应的执行内容生成数据记录;
S102,在客户端,将所述指令记录或所述数据记录增加至业务过程记录数据;
S103,在客户端,采用摘要算法为所述业务过程记录数据生成消息摘要。
下面针对以上步骤详细介绍:
S101中,所述事件和/或事件对应的执行内容为业务程序中发生的事情,其主要目的在于获取业务程序中发生了什么,一般地,有两种获取事件的方式:
主动获取,在某程序执行时主动触发声明自己是一个事件;
被动获取,通过对程序运行或程序运行所产生的结果监听获取。
对于不同形式的业务程序,其获取事件的方式也存在差异,例如对于业务程序为网页、客户端为浏览器的情形,其获取事件和/或事件对应的执行内容的方式包括但不限于以下方式的一种或多种:
通过为HTML DOM建立监听的方式获取,如使用JavaScriptHTML DOM事件监听器监听获取,即通过addEventListener()方法建立为网页元素监听,可选的,直接在document上建立监听,实现对网页中所有元素的监听获取事件;
使用MutationObserver,其提供了监视对DOM树所做更改的能力,在某个DOM发生了更改后,由所述改变产生一次事件,可选的,通过MutationObserver监测根节点可获得DOM树上的所有变化;
通过Service Worker监听和截拦作用域范围内所有页面的HTTP请求获得相应事件;
通过对Websocket监听和截拦获得相应事件。
在该步骤中,根据所获取的事件和/或事件对应的执行内容,提供了两种采集方式:第一种为程序方式,即将所采集的信息生成为指令记录,如对于网页业务程序,所生成的指令记录采用Javascript方法的形式;第二种为数据的方式,即采集与事件或其执行内容相关的内容生成数据记录。指令记录用于在回放时调用,其与业务过程中所述事件和/或所述事件对应的执行内容的执行具有相同的执行效果;数据记录为回放时生成相应的回放指令提供支持,其记录了业务过程中所述事件和/或所述事件对应的执行内容的相关信息,用于回放程序对该数据处理才能获得相应的回放指令。在本申请提供的方法以及本申请实施例提供的方法中,对各种数据、事件、执行内容的采集均支持以上两种采集方式,即采集为指令记录或数据记录。
S102中,将所述指令记录或所述数据记录增加至业务过程记录数据,所述业务过程记录数据用于记录本次业务的整体过程,可为一个独立的数据,也可为逻辑上成为一个整体的多个数据,其内部可采用二维表格或键值对等形式存放数据,存储方式包括但不限于文件、数据库、程序变量等。
S103中,采用摘要算法为所述业务过程记录数据生成消息摘要,所采用的摘要算法如MD5、SHA-1等,需要注意的是,所述消息摘要在客户端生成。
通过以上实施例,在客户端完成了业务过程数据采集、指令记录或数据记录生成、业务过程数据记录、消息摘要生成等步骤,最终生成的可信的业务记录与凭据。
为了便于理解,本申请实施例给出了一种可能的互联网业务过程记录流程示意图,请参考图4,包括以下步骤:
S401,载入记录程序;
S402,载入业务程序;
S403,获取业务程序的运行环境信息,作为数据记录增加至业务过程记录数据;
S404,获取客户端运行的程序内容,作为数据记录增加至业务过程记录数据;
S405,获取客户端初始数据环境中的数据,作为数据记录增加至业务过程记录数据
S406,监听业务程序运行中发生的事件,分析所述事件和/或所述事件对应的执行内容;
S407,判断执行内容类型;
S408,生成用户操作行为类型的指令记录;
S409,为用户操作行为的指令记录采集附加信息;
S410,生成业务程序行为类型的指令记录;
S411,为业务程序行为的指令记录采集附加信息;
S412,生成播放外界环境数据类型的指令记录;
S413,采集外界环境数据及其他附加信息;
S414,判断外部请求类型;
S415,生成处理网络请求类型的指令记录;
S416,为处理网络请求的指令记录采集请求信息、请求数据、响应数据以及其他附加信息;
S417,生成处理本地运行环境请求类型的指令记录;
S418,为处理本地运行环境请求的指令记录采集请求信息、请求数据、响应数据以及其他附加信息;
S419,生成处理第三方跳转类型的指令记录;
S420,为处理第三方跳转的指令记录采集第三方程序信息、发送数据及其他附加信息;
S421,生成处理第三方跳转返回类型的指令记录;
S422,为处理第三方跳转返回的指令记录采集第三方程序信息、返回数据及其他附加信息;
S423,生成业务过程记录数据;
S424,生成消息摘要;
S425,存储消息摘要;
S426,存储业务过程记录数据。
以上步骤S401,所载入的记录程序是为实现本申请所提供的互联网业务过程记录方法所提供的程序,步骤S402所载入的业务程序是业务提供方提供给用户的前端业务操作程序。S401与S402的执行顺序无特别限定,在具体实现时,可以同时执行,或者,也可根据预设次序顺序执行,但在启动业务过程记录前,要求S401与S402均执行完毕。
步骤S403为可选步骤,具体根据业务程序类型、业务过程记录需求,所获取的运行环境信息包括但不限于服务器信息、客户端操作系统信息、网络信息、客户端信息、客户端为业务程序提供的运行环境信息、业务程序信息、时间信息、位置信息等。所获取的运行环境信息,用于在业务回放时,判断客户端运行环境是否符合回放要求,以及进行客户端运行环境设置。
S404中获取客户端运行的程序内容,目的在于:为回放提供前端执行程序、留存业务程序以供核查。在实际实施中,根据业务程序的类型进行程序内容采集,如对网页业务程序,所采集的内容为浏览器中运行的相关程序,包括Javascript、HTML、CSS等。一种可选的实施方式中,对无法获取到程序内容(如编译执行的程序)的情况,通过获取所述业务程序的数字签名证书作为程序内容的标识,使用该标识取代程序内容进行记录。需要注意的是,程序的数字签名证书,需由客户端程序从可信的第三方获取。
在S404的一种优选的实施方式中,采集所述客户端中运行的所有程序内容,包括客户端中的业务程序、记录程序及其它程序,以达到对程序内容进行验证的目的,其原因在于,部分的程序内容不足以证明程序所实现的功能,如程序A将变量值设置为1,程序B将变量值增加1,由此可见,在程序A、程序B同时存在的情况下,变量的最终结果为2,此时,如所采集的程序内容仅包含程序A,所存证的程序不足以证明业务过程所记录的结果,双方因此而出现纠纷。参考图5所示的客户端内部程序与数据的组成图,在本实施方式中,至少包括对业务程序、记录程序的程序内容进行采集。
在具体的实施中,根据互联网程序的特点,客户端中的存放的运行程序,在运行过程可能发生变化,因此,以上在客户端中采集运行程序的程序内容,不限于在S404中进行,还包括,在所述客户端与其外部发生请求后,执行与S404相同的功能进行采集,采集运行过程中的程序内容及变化。
可选的,将客户端中运行的程序内容进行加密处理。主要目的在于,因本申请提供的方法要求在最终生成的记录数据中,包含业务程序、记录程序的全部内容,由此容易造成程序源码泄露,对程序内容进行加密处理可有效防止这一问题发生,同时不影响最终所生成凭据的有效性。
以上S404及相关的记录程序内容的实施方式,为业务程序、记录程序提供了一种“自己证明自己”的方式。
以上步骤S405中,获取客户端数据环境中存放的数据,目的在于记录业务程序运行开始或开始记录时客户端的数据环境,以网页业务程序为例,所获取的数据包括浏览器中存放的本地数据库、本地存储、缓存等内容。
需要说明的是,以上步骤S403、S404、S405的实现顺序无特别限定,在具体实现时,可以同时执行,或者,也可根据预设次序顺序执行。
另外需要说明的是,以上步骤S403、S404、S405采用生成数据记录的形式,可选的,根据所采集的数据直接生成用于在回放过程执行的指令记录,通过所述指令记录对回放的运行环境、程序、客户端数据环境中的数据进行设置。
以上步骤S406中,监听业务程序运行中发生的事件,分析所述事件和/或所述事件对应的执行内容,其目的在于根据业务程序运行过程中发生的变化执行相应的记录方法,根据互联网程序的特点,以网页类型的业务程序为例,所述事件包括但不限于以下类型:用户操作行为、业务程序的程序行为、外界环境数据输入、所述客户端与外部发生了请求、所述业务程序跳转至第三方程序执行、由第三方程序执行跳转回所述业务程序执行、根据用户或系统触发结束本次业务操作等,其中所述客户端与外部发生的请求还包括网络请求、与本地运行环境之间的请求等。S406参考业务程序的类型,采用相应的识别事件类型的方法,同样以网页业务程序为例,通过在document上建立监听,可识别到所有用户行为,包括用户的点击、输入、光标移动、拖拽、网页滑动等,通过Service Worker监听可获得所有的HTTP请求,通过WebSocket监听相关WebSocket数据传输,通过onbeforeunload获得页面发生跳转,在MutationObserver监测到网页内容发生了变化后,但当前网页不存在任何用户行为交互、外部交互的情况下,则认为是发生了业务程序内部的程序行为等。以上为在网页中识别事件和/或所述事件对应的执行内容类型方法的一些示例,仅在说明S406步骤的执行原理,而不应因所述示例限制本申请。
S407,根据S406中识别获得的事件和/或所述事件对应的执行内容的类型进行判断,根据不同的类型调用相应的数据采集方法。
当S407判断执行内容类型为用户操作行为时,执行S408,生成用户操作行为类型的指令记录,其中,所生成的指令记录用于在回放过程中执行,以还原用户操作操作效果,以网页类型业务程序为例,如采集到用户点击了btn按钮的操作行为,则生成针对该按钮执行onclick的指令记录:click()。根据S408所获得的指令记录,根据指令记录的类型不同,其在运行时需要相应的参数或数据作为支持,因此,需根据S409采集相关数据生成所述指令记录的附加信息,为所述指令记录提供描述和执行支持,所述附加信息包括用户行为事件的发生时间、来源、事件性质(点击、输入、光标移动等)、执行参数、引用数据、生成数据等,如以上的按钮点击,可采集执行参数(HTML元素名称:btn)、事件性质(点击)、发生时间作为附加信息,在回放时,根据以上指令记录、附加信息,生成回放指令:document.getElementById("btn").click(),并基于指令记录或附加信息中的时间信息计算出其执行时间,使用定时器调用所述回放指令执行。
当S407判断执行内容类型为业务程序行为时,执行S410,生成业务程序行为类型的指令记录,同时,执行S411为业务程序行为的指令记录采集附加信息。在具体实施中,记录程序通过对运行结果判断的方式识别业务程序的运行行为,如对于网页类型业务程序,在未监测到用户操作行为、外部交互的情况下,所述网页的HTML内容发生了改变,则认为发生了内部程序行为,此时,基于该行为生成替换HTML内容或DOM内容的指令记录,同时,将发生改变的HTML内容或部分HTML内容作为所述指令记录的附加信息。在一种可能的实现方式中,记录程序对业务程序的内容(非加密情况下)进行分析,识别业务程序的运行行为,如识别其中的定时器执行代码并获得详细执行信息。
当S407判断执行内容类型为外界环境数据输入时,执行S412,生成播放外界环境数据类型的指令记录,同时,执行S413采集外界环境数据及其他附加信息。在实际实施中,所述外界环境数据包括客户端接收的音频数据、视频数据、位置信息等,所采集的数据用于在回放过程中播放。所述指令记录如:播放视频、播放音频、位置信息显示等,所述附加信息如音频数据、视频数据、位置信息等。
当S407判断执行内容类型为外部请求时,执行S414,进一步判断外部请求的类型。所述外部请求指相对于客户端,为客户端与其外部发生的请求,其类型包括网络请求、本地运行环境请求、其它外部请求,根据所述外部请求的类型,调用相应的处理外部请求并生成指令记录的方法,具体为:
当S414判断所述外部请求类型为网络请求时,执行S415,生成处理网络请求类型的指令记录,同时,执行S416采集网络请求信息、发送数据、响应数据以及其他附加信息。所述网络请求如HTTP请求、Socket请求,所述请求信息包含请求方式(GET请求、POST请求等)、请求地址、协议版本号、请求头包含的信息等,所述发送数据为请求所发送的数据,所述响应数据为所述请求返回的数据。根据所述网络请求,所生成的指令记录用于在回放时执行,则根据回放过程中捕获到的网络请求,调用相应的指令记录,由所述指令记录基于其或其附加信息中包含的数据,获取所述数据中包含的响应数据部分,将所述响应数据作为本次请求的结果数据返回至所述客户端。
当S414判断所述外部请求类型为本地运行环境请求时,执行S417,生成处理本地运行环境请求类型的指令记录,同时,执行S418采集本地运行环境请求信息、发送数据、响应数据以及其他附加信息。所述本地运行环境是指客户端所在的运行环境,包括操作系统等。所述本地运行环境请求为客户端与本地运行环境之间的交互,如:读写本地文件,读写本地数据库中存放的数据、读写缓存数据等,如网页类型的业务程序,其在Android中的WebView上运行时,所述WebView在逻辑上是运行业务程序的客户端,所述WebView与Android本地程序之间的交互请求,则为一种本地运行环境请求。其生成指令记录的方式与处理网络请求基本相同,在此不再赘述。
上述步骤S415与S416,步骤S417与S418的执行顺序无特别限定,在具体实现时,可以同时执行,或者,也可根据预设次序顺序执行。
以上步骤S414、S415、S416、S417、S418处理外部请求的方式,所采集生成的数据为指令记录,可选的,通过采集生成数据记录的方式,按照图6所示实现,步骤如下:
S601,监听到外部请求;
S602,基于所述外部请求的信息生成请求类型的记录数据;
S603,将所述请求类型的记录数据增加至业务过程记录数据。
以上实现方式中,当所述客户端发生的事件或其对应的执行内容包含外部请求时,S601监听到所述外部请求,S602基于所述外部请求的信息生成请求类型的记录数据;S603将所述请求类型的记录数据增加至业务过程记录数据。其中,所述请求类型的记录数据的内容包括请求信息、请求所发送的数据、所接收的响应数据中的一种或者多种,所述请求类型的记录数据用于在回放过程中模拟提供请求结果。在回放过程中,根据发生的外部请求,在所述业务过程记录数据中查找获得相应的请求类型的记录数据,返回所述请求类型的记录数据中包含的响应数据。以上实现方式的优点在于,根据业务过程记录数据中存放的请求类型的记录数据,构建独立的外部请求模拟服务,所述模拟服务根据所捕获的请求信息,根据所述请求信息在请求类型的记录数据中查找获得相应的请求类型的记录数据,返回所述请求类型的记录数据中包含的请求数据,由此,实现在不进行实际外部请求的情况下获得响应数据,模拟还原业务过程中的请求过程。可选的,在回放过程中,为网络请求与外部环境请求统一构建外部请求服务,或者,构建单独的网络请求服务、外部环境请求服务。需要说明的是,所述请求服务均运行于回放客户端。
当S407判断执行内容类型为跳转至第三方时,执行S419,生成处理第三方跳转类型的指令记录,同时,执行S420采集第三方程序信息、发送数据及其他附加信息。S419中所生成的指令记录用于回放过程中执行,其功能例如:显示当前业务程序在执行过程中发生跳转,并显示跳转目标(第三方程序)的相关信息。S420采集的第三方程序信息例如第三方程序网址。
当S407判断执行内容类型为由第三方程序跳转返回时,执行S421,生成处理第三方跳转返回类型的指令记录,同时,执行S422采集第三方程序信息、返回数据及其他附加信息。S421中所生成的指令记录用于回放过程中执行,其功能例如:根据第三方程序的返回数据,处理业务程序发送至第三方程序的请求。
以上跳转至第三方程序执行并由第三方程序执行返回,例如在业务程序中进行第三方支付的场景,由业务程序发送关于支付设置的相关数据,跳转至支付页面由用户执行支付操作,然后根据用户支付的结果返回至业务程序。由于所述第三方支付页面不在本申请提供的记录程序记录范围内,无法记录第三方程序中的操作过程,但是,从第三方程序信息、发送数据、返回数据三个方面,可以完整记录与第三方程序的交互过程,当双方因业务过程记录出现纠纷时,可通过以上记录数据通过第三方程序平台进行查验,因此所记录的数据不影响业务过程记录数据的真实性。在针对与第三方程序跳转的一种可能的实现方式中,使用上述处理外部请求的两种实现方式处理第三方跳转,原因在于,所述业务程序跳转至第三方程序执行并由第三方程序执行后跳转返回,其中向第三方发送数据、第三方程序执行处理、返回数据的过程逻辑上等同于一次外部请求。
上述步骤S419与S420,步骤S421与S422的执行顺序无特别限定,在具体实现时,可以同时执行,或者,也可根据预设次序顺序执行。
在一个可选的实现场景中,在业务记录程序中建立定时器,根据预先设定的时间间隔,执行上述S408与S409、S410与S411、S412与S413、S415与S416、S417与S418、S419与S420、S421与S422中的任一组方法,例如对于外界环境数据中的音频、视频数据,周期性采集数据并增加至业务过程记录数据,避免因数据量过大而导致的存储效率降低问题,同时增加采集次数,便于进行多次消息摘要生成计算,增强凭据的有效性。
上述S406至S422中的业务过程记录,在一个优选的实现场景中,根据所述业务程序中预先定义的业务阶段进行数据采集,为所采集的数据记录或指令记录增加业务阶段标识,或在增加至所述业务过程记录数据时按照业务阶段存放,用于根据所述业务阶段提取部分业务过程记录数据。
在上述S401至S422中的业务过程记录,请参考图7示出的一种按时间线进行各种数据采集的示意图,其中,在业务过程记录开始记录运行环境信息、程序内容、客户端初始数据环境数据,然后进行各种操作过程数据采集生成对应的指令记录,另外,在跳转至第三方程序执行的时间段,所述时间线内无记录内容。
以上S406至S422的业务过程记录,根据S407、S414的判断执行采集生成不同类型的数据(包括各种类型的指令记录、数据记录),执行S423,在所述客户端,将所述业务过程中采集的各种类型的指令记录、数据记录进行结构化存储,生成业务过程记录数据,所述结构化存储如:二维表形式、树形结构等,如图8所示的一种业务过程记录数据树状存储结构示意图,按照所采集的不同类型的数据按照层次结构存储。优选地,当按照树状结构存储时,在每个数据节点内部或其子节点存放所述数据对应的时间信息、所采集的数据类型信息、所采集数据与其他数据之间的关系信息等,当按照二维表形式存储时,在每条记录的字段内存储以上时间信息、所采集的数据类型信息等。
在S423的一种可选的实施方式中,基于预先定义的业务阶段存储数据,如采用树状结构存储时,为每一个业务阶段建立对应的子节点存放数据,或者在每个数据节点内部或其子节点存放阶段标识信息,如采用二维表形式存储时,在每条记录的字段内增加阶段标识信息。
S424,基于S423中的业务过程记录数据,采用消息摘要算法为其生成消息摘要,所述消息摘要算法如MD5、SHA-1等。可选的,为所述业务过程记录数据包含的子数据生成消息摘要,所述消息摘要用于验证所述子数据的一致性,如:为业务过程记录数据包含的不同类型的记录数据集生成相应类型记录数据的消息摘要,所述消息摘要用于验证相应类型所含的记录数据的一致性;为所述业务过程记录数据包含的不同业务阶段的记录数据集生成相应业务阶段的消息摘要,所述消息摘要用于验证相应操作阶段所含的记录数据的一致性(进一步的,根据每一阶段记录数据的消息摘要相结合生成整体记录数据的消息摘要)。
在一个优选的实现过程中,根据S406的监听采集业务过程,生成指令记录与数据记录,每次执行S423生成新的业务过程记录数据,均执行S424,将每次产生的消息摘要增加至消息摘要历史记录,所述消息摘要历史记录用于保存消息摘要的历史变化信息。
在一种优选的实现方式中,S424,还包括在业务程序运行过程中,为客户端数据环境中的数据(部分或全部)生成消息摘要,并增加至消息摘要历史记录,用于回放过程中验证比较运行结果。
在一种优选的实现方式中,S424,还包括在业务程序运行过程中或运行结束,为业务程序输出的指定数据生成消息摘要,并增加至消息摘要历史记录,用于回放时验证比较指定数据的运行结果。
在一个优选的实现过程中,S424在为业务过程记录数据包含的任意两个或以上的数据内容生成消息摘要时,在所述客户端,将所述数据内容或者所述数据内容的消息摘要,与另一数据内容或者另一数据内容的消息摘要,进行合并运算生成新的数据内容,采用消息摘要算法为所述新的数据内容生成消息摘要。如为数据A与数据B合并一起生成消息摘要,包括以下方式:
将数据A的内容与数据B的内容合并,根据合并后的内容计算生成消息摘要;
将数据A的内容与数据B的消息摘要合并,根据合并后的内容计算生成消息摘要;
将数据A的消息摘要与数据B的内容合并,根据合并后的内容计算生成消息摘要;
将数据A的消息摘要与数据B的消息摘要合并,根据合并后的内容计算生成消息摘要。
在每次步骤S424为当前的业务过程记录数据生成消息摘要后,继续S406监听并采集下一个执行内容,直到收到结束业务操作的指令时,执行S425存储业务过程记录数据生成的消息摘要,该消息摘要将作为本次业务过程的最终凭据,同时,执行S426存储业务过程记录数据。一个可选的实现过程中,由结束业务操作的指令通知S406停止监听,并执行S425、S426。
在一个优选的实现场景中,为实现以上各个实现方式所使用的记录程序均包含于客户端中,并且,在未生成最终的可供业务操作用户、业务系统提供方双方保存的凭据之前,以上所有步骤均在客户端中执行。
在一个可选的实现场景中,为实现以上各个实现方式所使用的记录程序部分包含于客户端,部分在服务端运行,但在客户端运行的录制程序中,需获取服务端记录程序的数字签名证书作为服务端记录程序内容的标识。优选地,服务端记录程序的数字签名证书需由客户端记录程序从可信的第三方获取。
在一个优选的实现场景中,在用户进行业务操作的过程中,将当前业务过程记录数据或其子数据所生成的摘要信息在操作界面中显示,图9为一种业务过程中生成并显示消息摘要的操作界面示意图,该图中右上角的“业务操作动态凭据”即为当前业务过程记录数据或其子数据生成的消息摘要,该实现方案为用户展示一个可信的操作过程,当客户端发生任何事件,如客户端接收数据、用户点击、光标移动时,所述凭据都会发生变化,每一个变化均体现用户与系统的“交易”。可选的,在业务过程完成后,将所述消息摘要信息在最终输出的结果中体现,如用户进行互联网保险投保操作,将最终生成的消息摘要在保单中打印,作为投保过程的有效凭据。
结合以上优选的实现场景,进一步的,在客户端根据在用户操作界面上显示的摘要信息,要求操作用户基于所显示的摘要信息进行报读,并采集所述报读内容作为外界环境数据增加至所述业务过程记录数据,根据新的业务过程记录数据再次生成新的摘要信息。以上实现方式实现了对用户身份的验证,如以上的互联网保险投保操作,在某关键业务节点要求用户进行确认时,报读并记录其生成音频或视频数据,并将报读的数据再次采集作为外界环境数据增加至业务过程记录数据,将业务过程记录数据生成新的消息摘要,生成用户操作与身份相结合的验证凭据。
为了便于理解以上互联网业务过程记录实施例提供的方法,图10示出了一种可能的互联网业务过程记录系统,所述系统包括:事件监听模块1001、事件与执行内容分析模块1002、业务过程数据采集模块1003、数据存储模块1004、摘要信息生成与记录模块1005。本领域技术人员可以理解,图10中示出的互联网业务过程记录系统的结构并不构成对本申请互联网业务过程记录方法的限定,本申请实施例提供的互联网业务过程记录系统可以包括比图示更多或更少的模块,或者组合某些模块,或者不同的模块布置。
下面结合图10对所述互联网业务过程记录系统的各个构成模块进行具体的介绍:
事件监听模块1001,用于监听所述业务程序运行过程中发生的事件;
事件与执行内容分析模块1002,基于事件监听模块1001所获得的事件,根据所述事件和/或所述事件对应的执行内容,分析本次事件中业务程序执行或操作的类型,并根据分析结果调用业务过程数据采集模块进行相应的数据采集;
业务过程数据采集模块1003,根据所述事件与执行内容分析模块1002所获得的业务程序执行或操作的类型,调用相应的数据采集方法,基于当前业务程序运行中发生事件和/或所述事件对应的执行内容,采集生成指令记录数据、数据记录数据以及所述记录数据、所述数据记录数据附加信息数据;
数据存储模块1004,用于根据所采集的数据结构化存储,生成业务过程记录数据;
摘要信息生成与记录模块1005,用于为所述业务过程记录数据或其子数据生成消息摘要。优选地,该模块还用于根据相应数据所对应的摘要信息的变化,逐次记录摘要信息,生成相应数据的消息摘要历史记录。
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
本申请实施例还提供一种互联网业务过程记录装置,其包含处理器、用于存储处理器可指令记录的存储器;其中,所述处理器被配置为可执行以上任意一项互联网业务过程记录方法。
图11示出了一种可能的互联网业务操作过程回放的流程示意图,包括以下步骤:
S1101,读取业务过程记录数据;
S1102,验证数据一致性;
S1103,解析、编排回放数据;
S1104,判断、设置运行环境;
S1105,初始化客户端数据环境;
S1106,判断回放指令队列中的数据是否为空;
S1107,读取一条回放指令及附加信息;
S1108,根据回放指令的执行时间要求,基于附加信息中的支持信息,执行所述回放指令。
下面针对以上步骤详细介绍:
上述步骤在进行业务回放的客户端运行,在该客户端首先加载用于回放和回放过程控制的回放程序,基于业务过程记录数据或某阶段的业务过程记录数据执行回放。
S1101所读取的数据包括整体的或者某一阶段的业务过程记录数据。
S1102验证数据的一致性,即使用预先存储的消息摘要进行验证,所验证的数据如:整体业务过程记录数据、某类型的记录数据、某一业务阶段的业务记录数据等。
S1103根据记录数据的存储结构、内容对所述记录数据进行解析,解析其包含的指令记录数据、数据记录数据及其附加信息数据,生成可用于回放执行的回放指令。具体如:将指令记录数据转化为回放指令、基于数据记录数据及其附加信息数据生成相应的回放指令。在以上数据解析的基础上执行编排,即:基于指令记录数据、数据记录数据包含的时间信息,对所生成的回放指令进行编排,为所述回放指令指定执行时间或顺序。其中,指令记录数据包括但不限于:根据所述事件和/或所述事件对应的执行内容生成指令记录、外部请求类型的指令记录、判断和/或设置回放客户端运行环境的指令记录、设置回放客户端数据环境的指令记录、相应类型的播放外界环境数据的指令记录、跳至第三方处理类型的指令记录、从第三方跳回处理类型的指令记录等;所述数据记录数据包括但不限于:根据所述事件和/或所述事件对应的执行内容生成数据记录、请求类型的记录数据、业务程序运行环境数据记录、业务程序内容记录数据、所有程序内容记录数据、客户端数据环境类型的数据记录、外界环境数据类型的数据记录、跳至第三方类型的数据记录、从第三方跳回类型的数据记录等。以上基于数据记录数据及其附加信息数据生成相应的回放指令,是一种在回放环境中使用数据产生执行指令的方式,如:基于业务程序运行环境数据记录,生成判断与设置回放客户端运行环境的回放指令。
基于S1103所解析的数据和编排结果,将所编排的回放指令加入回放指令队列。执行S1104,判断当前执行回放的客户端运行环境是否符合回放要求,设置回放的客户端运行环境,执行S1105,对当前客户端的数据环境进行初始数据设置。
可选的,在具体的实施场景中,基于S1103中解析获得的业务程序内容初始化部分客户端回放程序,即基于业务过程记录时的业务程序执行回放指令。
在S1104、S1105对客户端运行环境、数据环境设置完成后,执行S1106判断,基于回放指令队列,执行S1107,按照时间或执行顺序获取一条回放指令,执行S1108,根据回放指令的执行时间要求,执行所述回放指令。
可选的,将对客户端运行环境、数据环境设置的回放指令统一增加至回放指令队列,不单独S1104、S1105,而由S1106统一判断并执行。
需要说明的是,以上S1104、S1105的执行顺序无特别限定,在具体实现时,可以同时执行,或者,也可根据预设次序顺序执行。另外,在具体的实施中,以上一些步骤非必须步骤(如:S1104、S1105),具体根据业务过程记录数据包含的内容和回放要求确定。
在一种可能的实现方式中,在以上S1108执行所述回放指令,当判断其性质为外部请求时,则首先捕获该外部请求,然后基于所述回放指令对应的附加信息中为外部请求所采集的数据,获取该数据中包含的响应数据,将该响应数据作为本次请求的结果数据返回。
在一另种可能的实现方式中,在回放过程中监听到外部请求时,则首先捕获该外部请求,然后基于所捕获的请求信息,在业务记录数据中查找获得相应的请求类型的记录数据记录,获取该请求类型的记录数据记录中包含的响应数据,将该响应数据作为本次请求的结果数据返回。
在一种优选的实现方式中,在回放客户端构建统一的外部请求处理服务程序,用于监听回放过程中发生的外部请求,查找请求类型的记录数据,计算返回响应数据。
在一种优选的实现过程中,在以上步骤从业务过程记录数据中读取一条数据,在根据该数据在回放中执行前,首先进行一致性验证。具体为,根据记录过程所采用消息摘要算法,将已在回放中执行完成的数据部分生成消息摘要,在回放过程中读取一条新数据时,将新数据与原数据按照记录时相同的算法生成消息摘要,根据该摘要与消息摘要历史记录中相应的记录进行比较以验证数据的一致性。优选地,结合相应类型记录数据的消息摘要验证、相应业务阶段的消息摘要实现上述验证。
以上优选的实现方式有利于在回放过程中验证数据,定位篡改记录。
在一种优选的实现方式中,根据为客户端数据环境中的数据在业务记录过程中生成的消息摘要,在回放过程中验证比较回放客户端中数据环境中的数据。
在一种优选的实现方式中,根据为业务记录程序中输出的指定数据所生成消息摘要,在回放过程中,使用该消息摘要验证回放时该数据的值或内容。
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
为了便于理解以上互联网业务过程回放实施例提供的方法,图12示出了一种可能的互联网业务过程回放系统,所述系统包括:数据读取模块1201、数据解析与编排模块1202、业务操作回放模块1203。本领域技术人员可以理解,图12中示出的互联网业务过程回放系统的结构并不构成对本申请互联网业务过程回放方法的限定,本申请实施例提供的互联网业务过程回放系统可以包括比图示更多或更少的模块,或者组合某些模块,或者不同的模块布置。
下面结合图12对所述互联网业务过程回放系统的各个构成模块进行具体的介绍:
数据读取模块1201,用于读取业务过程记录数据或者某业务阶段的业务过程记录数据作为回放数据;
数据解析、编排模块1202,用于解析所述回放数据所包含的指令记录数据、数据记录数据及其附加信息数据,生成可用于回放程序执行的回放指令,包括,将所述指令记录数据转化为回放指令、基于所述数据记录数据及其附加信息数据生成回放指令;基于所述指令记录数据、数据记录数据包含的时间信息,对所生成的回放指令进行编排,为所述回放指令指定执行时间或顺序;
业务回放模块1203,用于根据解析、编排模块所获得的回放指令,基于其包含的执行时间或顺序信息,执行所述回放指令。
优选地,以上互联网业务过程回放系统还包括数据验证模块1204,用于使用预先存储的消息摘要,验证所述回放数据或其子数据的一致性,其中,所验证的内容包括但不限于:根据整体业务过程记录数据的消息摘要验证整体回放数据的一致性,根据消息摘要历史记录验证回放过程中对应步骤所使用的回放数据的一致性,根据相应操作阶段的消息摘要验证相应阶段回放数据的一致性,根据回放数据中相应子数据的消息摘要验证回放数据中对应子数据的一致性等。
本申请实施例还提供一种互联网业务过程回放装置,其包含处理器、用于存储处理器可执行指令的存储器;其中,所述处理器被配置为可执行以上任意一项互联网业务过程回放方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述实施例所述的互联网业务过程记录与回放方法。
此外,本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行上述实施例所述的互联网业务过程记录与回放方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。
Claims (30)
1.一种互联网业务过程记录方法,其特征在于,应用于互联网业务过程记录装置,所述装置还包括运行业务程序的客户端,所述方法包括:
在所述客户端,基于所述业务程序运行过程中发生的事件,根据所述事件和/或所述事件对应的执行内容生成指令记录,或者,根据所述事件和/或所述事件对应的执行内容生成数据记录,其中,所述指令记录用于在业务过程回放时执行,所述数据记录用于在业务过程回放时,基于所述数据记录生成回放指令并执行;
将所述指令记录或所述数据记录增加至业务过程记录数据,所述业务过程记录数据用于记录本次互联网业务过程;
采用摘要算法为所述业务过程记录数据生成消息摘要,所述消息摘要用于验证所述业务过程记录数据的一致性,同时作为本次互联网业务过程的标识。
2.根据权利要求1所述的方法,其特征在于,基于所述客户端发生的事件和/或所述事件对应的执行内容生成指令记录或数据记录,还包括:
根据所述事件或所述事件对应的执行内容,生成相应类型的指令记录或数据记录;
根据所述指令记录或数据记录的类型,基于所述事件和/或所述事件对应的执行内容,采集数据生成所述指令记录或数据记录的附加信息,其中,所述附加信息用于为所述指令记录提供执行支持,或者,用于为所述数据记录提供生成回放指令支持以及为所生成的回放指令提供执行支持;
将所述附加信息增加至所述业务过程记录数据,并记录其与所述指令记录或所述数据记录之间的对应关系,或者,将所述附加信息加入到其对应的指令记录或数据记录。
3.根据权利要求2所述的方法,其特征在于,当所述客户端发生的事件和/或其对应的执行内容包含外部请求时,还包括:
基于所述外部请求的性质生成相应外部请求类型的指令记录;
基于所述外部请求采集数据并生成所述指令记录的附加信息;
其中,所述外部请求为所述客户端与所述客户端外部发生的请求;基于所述外部请求采集的数据包括请求信息、所发送的请求数据、所接收的响应数据中的一种或者多种;所述外部请求类型的指令记录用于在回放时执行,在回放过程中,根据回放中捕获到的外部请求,执行对应的外部请求指令记录返回响应数据。
4.根据权利要求2所述的方法,其特征在于,当所述客户端发生的事件和/或其对应的执行内容包含外部请求时,还包括:
基于所述外部请求生成请求类型的记录数据,所述请求类型的记录数据的内容包括请求信息、所发送的请求数据、所接收的响应数据中的一种或者多种;
其中,所述外部请求为所述客户端与所述客户端外部发生请求;所述请求类型的记录数据用于在回放过程中模拟服务提供请求结果,在回放过程中,根据回放中发生的外部请求,在所述业务过程记录数据中查找获得相应的请求类型的记录数据记录,返回所述请求类型的记录数据记录中包含的响应数据。
5.根据权利要求1所述的方法,其特征在于,还包括:
在所述客户端,获取所述业务程序的运行环境信息;
根据所述运行环境信息,生成在回放过程中判断和/或设置回放客户端运行环境的指令记录,将所述指令记录增加至所述业务过程记录数据,或者,根据运行环境信息,生成业务程序运行环境数据记录,将所述业务程序运行环境数据记录增加至所述业务过程记录数据;
其中,所述运行环境信息包括服务器信息、业务服务程序信息、客户端操作系统信息、网络信息、客户端信息、客户端为业务程序提供的运行环境信息、业务程序信息、时间信息、位置信息中的一种或者多种。
6.根据权利要求1所述的方法,其特征在于,还包括,在所述客户端,获取所述客户端运行的所述业务程序的程序内容作为业务程序内容记录数据,将所述业务程序内容记录数据增加至所述业务过程记录数据。
7.根据权利要求6所述的方法,其特征在于,在获取所述业务程序的程序内容时,还包括,获取所述客户端运行的所有程序的程序内容作为所有程序内容记录数据,并将所有程序内容记录数据增加至所述业务过程记录数据。
8.根据权利要求1所述的方法,其特征在于,还包括:
在所述客户端,在所述业务程序运行前,获取所述客户端数据环境中的数据;
根据所获取的数据生成设置回放客户端数据环境的指令记录,将所述指令记录增加至业务过程记录数据,或者,将所获取的数据作为客户端数据环境类型的数据记录增加至所述业务过程记录数据。
9.根据权利要求2所述的方法,其特征在于,当所述客户端发生的事件或其对应的执行内容包含采集外界环境数据时,还包括:
在所述客户端,基于所述外界环境数据的性质生成相应类型的播放外界环境数据的指令记录,并采集外界环境数据生成所述指令记录的附加信息,或者,
在所述客户端,基于所述外界环境数据的性质生成相应类型的外界环境数据类型的数据记录,并采集外界环境数据生成所述数据记录的附加信息。
10.根据权利要求2所述的方法,其特征在于,当所述客户端发生的事件或其对应的执行内容包含跳转至第三方程序执行或由第三方程序跳转返回时,还包括:
在所述客户端,在所述业务程序跳转至第三方程序执行前,基于所述跳转,生成跳至第三方处理类型的指令记录,并采集所述第三方程序信息、在跳转时发送至所述第三方程序的数据生成所述指令记录的附加信息,或者,基于所述跳转,生成跳至第三方类型的数据记录,并采集所述第三方程序信息、在跳转时发送至所述第三方程序的数据生成所述数据记录的附加信息;
在所述客户端,在从第三方程序跳转至所述业务程序后,基于所述跳转,生成从第三方跳回处理类型的指令记录,并采集所述第三方程序信息、在跳转时从所述第三方程序接收的数据生成所述指令记录的附加信息,或者,基于所述跳转生成从第三方跳回类型的数据记录,并采集所述第三方程序信息、在跳转时从所述第三方程序接收的数据生成所述数据记录的附加信息。
11.根据权利要求1至10任意一项所述的方法,其特征在于,在所述客户端将数据记录或指令记录增加至所述业务过程记录数据,还包括,将所述数据记录或所述指令记录对应的时间信息、类型信息、数据记录之间的关系信息、指令记录之间的关系信息中的一种或者多种,增加至所述业务过程记录数据。
12.根据权利要求1至11任意一项所述的方法,其特征在于,还包括,
在所述客户端,根据所述业务程序中预先定义的业务阶段,基于所述业务阶段执行权利要求1至11任意一项方法,为所采集的数据记录或指令记录增加业务阶段标识,或在增加至所述业务过程记录数据时按照业务阶段存放,用于根据所述业务阶段提取部分业务过程记录数据。
13.根据权利要求1至12任意一项所述的方法,其特征在于,采用消息摘要算法为所述业务过程记录数据生成消息摘要,还包括:
在所述客户端,采用消息摘要算法,为所述业务过程记录数据包含的子数据生成消息摘要,所述消息摘要用于验证所述子数据的一致性;
其中,所述子数据是所述业务过程记录数据中的部分数据。
14.根据权利要求13所述的方法,其特征在于,在每次向所述业务过程记录数据增加新内容后,还包括:
在所述客户端,采用摘要算法为所述业务过程记录数据重新生成消息摘要,将所述消息摘要增加至消息摘要历史记录,所述消息摘要历史记录用于保存消息摘要的变化过程。
15.根据权利要求14所述的方法,在为所述业务过程记录数据包含的任意两个或以上的数据内容生成消息摘要时,还包括,在所述客户端,将所述数据内容或者所述数据内容的消息摘要,与另一数据内容或者另一数据内容的消息摘要,进行合并运算生成新的数据内容,采用消息摘要算法为所述新的数据内容生成消息摘要。
16.根据权利要求14所述的方法,其特征在于,还包括:
在所述客户端,在所述互联网业务过程中或操作完成状态下,将所述业务过程记录数据或其子数据的消息摘要,在所述客户端的用户操作界面中显示或存储,所述存储的方式包括由所述客户端操作用户存储、发送至服务端存储、使用区块链存储、使用外部介质存储中的一种或者多种,作为本次互联网业务过程的凭据。
17.根据权利要求16所述的方法,其特征在于,在所述客户端的用户操作界面中显示所述消息摘要,还包括:
在所述客户端,根据在用户操作界面上显示的消息摘要信息,要求所述客户端的操作用户基于所显示的消息摘要信息进行报读,并采集所述报读内容作为外界环境数据,将所述外界环境数据生成的指令记录或数据记录增加至所述业务过程记录数据,根据新的业务过程记录数据再次生成新的消息摘要信息,并更新用户操作界面上显示的消息摘要信息。
18.根据权利要求1至17任意一项所述的方法,其特征在于,在所述客户端,还包括,根据预先设定的时间间隔执行以上1至17中的任意一项方法。
19.根据权利要求1至18任意一项所述的方法,其特征在于,在所述客户端,需包含为实现本申请而使用到的上述1至18任一项方法的程序内容;在未生成最终的可供客户端操作用户、业务系统提供方保存的凭据之前,上述1至18中任一项方法均限制在客户端中运行。
20.本申请提供了一种互联网业务过程回放方法,其特征在于,所述方法应用于互联网业务过程回放装置,所述回放装置包括执行回放的客户端,在所述客户端运行回放程序执行回放方法,所述方法包括:
读取回放数据,所述回放数据包括业务过程记录数据或者相应业务阶段的业务过程记录数据;
解析回放数据、编排生成回放指令,解析所述回放数据所包含的指令记录数据、数据记录数据及其附加信息数据,生成可用于回放程序执行的回放指令,包括,将所述指令记录数据转化为回放指令、基于所述数据记录数据及其附加信息数据生成相应的回放指令;基于所述指令记录数据、数据记录数据包含的时间信息,对所生成的回放指令进行编排,为所述回放指令指定执行时间或顺序;其中,所述指令记录数据包括根据所述事件和/或所述事件对应的执行内容生成指令记录、外部请求类型的指令记录、判断和/或设置回放客户端运行环境的指令记录、设置回放客户端数据环境的指令记录、相应类型的播放外界环境数据的指令记录、跳至第三方处理类型的指令记录、从第三方跳回处理类型的指令记录中的一种或者多种;所述数据记录数据包括根据所述事件和/或所述事件对应的执行内容生成数据记录、请求类型的记录数据、业务程序运行环境数据记录、业务程序内容记录数据、所有程序内容记录数据、客户端数据环境类型的数据记录、外界环境数据类型的数据记录、跳至第三方类型的数据记录、从第三方跳回类型的数据记录中的一种或者多种;
执行回放指令,根据解析、编排所获得的回放指令,基于其包含的执行时间或顺序信息,执行所述回放指令。
21.根据权利要求20所述的方法,其特征在于,当在回放过程中监听到外部请求时,还包括:
捕获当前所述客户端与所述客户端外部的请求;
根据所述外部请求的信息,在外部请求类型的指令记录数据中查找获得对应的外部请求类型的指令记录,基于所述指令记录或其对应的附加信息数据获取响应数据部分,将所述响应数据作为本次请求的结果数据返回,或者,根据所述外部请求的信息,请求类型的记录数据中查找获得相应的请求类型的记录数据记录,基于所述请求类型的记录数据记录或其对应的附加信息数据获取响应数据部分,将所述响应数据作为本次请求的结果数据返回至所述客户端。
22.根据权利要求21所述的方法,其特征在于,读取业务过程记录数据或者相应阶段的业务过程记录数据之后,还包括,使用预先存储的消息摘要验证其数据一致性,其中,所述验证包括根据业务过程记录数据的消息摘要验证、根据业务过程记录数据的子数据的消息摘要验证、根据消息摘要历史记录验证中的一种或者多种。
23.基于权利要求1至19中的任意一项互联网业务过程记录方法建立的一种互联网业务过程记录系统,其特征在于,所述系统包括:
事件监听模块,用于监听所述业务程序运行过程中发生的事件;
事件与执行内容分析模块,基于事件监听模块所获得的事件,根据所述事件和/或所述事件对应的执行内容,分析本次事件中业务程序执行或操作的类型,并根据分析结果调用业务过程数据采集模块进行相应的数据采集;
业务过程数据采集模块,根据所述事件与执行内容分析模块所获得的业务程序执行或操作的类型,调用相应的数据采集方法,基于当前业务程序运行中发生事件和/或所述事件对应的执行内容,采集生成指令记录数据、数据记录数据以及所述记录数据、所述数据记录数据附加信息数据;
数据存储模块,用于根据所采集的数据结构化存储,生成业务过程记录数据;
摘要信息生成与记录模块,用于为所述业务过程记录数据或其子数据生成消息摘要。
24.根据权利要求23所提供的系统,其特征在于,所述摘要信息生成与记录模块还用于,在业务记录过程中,基于业务过程记录数据或其子数据的消息摘要的变化,逐次记录所述消息摘要信息,生成所述业务过程记录数据或其子数据的消息摘要历史记录。
25.基于权利要求20至22中的任意一项互联网业务过程回放方法建立的一种互联网业务过程回放系统,其特征在于,所述系统包括:
数据读取模块,用于读取业务过程记录数据或相应业务阶段的业务过程记录数据作为回放数据;
数据解析、编排模块,用于解析所述回放数据所包含的指令记录数据、数据记录数据及其附加信息数据,生成可用于回放程序执行的回放指令,包括,将所述指令记录数据转化为回放指令、基于所述数据记录数据及其附加信息数据生成回放指令;基于所述指令记录数据、数据记录数据包含的时间信息,对所生成的回放指令进行编排,为所述回放指令指定执行时间或顺序;
业务回放模块,用于根据解析、编排模块所获得的回放指令,基于其包含的执行时间或顺序信息,执行所述回放指令。
26.跟据权利要求25所提供的系统,其特征在于,还包括数据验证模块,用于使用预先存储的消息摘要,验证所述回放数据或其子数据的一致性,其中,所验证的内容包括以下一种或多种:根据整体业务过程记录数据的消息摘要验证整体回放数据的一致性,根据消息摘要历史记录验证回放过程中对应步骤所使用的回放数据的一致性,根据相应操作阶段的消息摘要验证相应阶段回放数据的一致性,根据回放数据中相应子数据的消息摘要验证回放数据中对应子数据的一致性。
27.一种互联网业务过程记录装置,所述装置实现上述1~19中任一项方法。
28.一种互联网业务过程回放装置,所述装置实现上述20~22中任一项方法。
29.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至19中任一项所述的方法的步骤,或者,该程序被处理器执行时实现权利要求20至22中任一项所述的方法的步骤。
30.一种计算机程序产品,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至19中任一项所述的方法,或者,使得计算机执行如权利要求20至22中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010750894.1A CN112131085A (zh) | 2020-08-01 | 2020-08-01 | 互联网业务过程记录与回放的方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010750894.1A CN112131085A (zh) | 2020-08-01 | 2020-08-01 | 互联网业务过程记录与回放的方法、系统及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112131085A true CN112131085A (zh) | 2020-12-25 |
Family
ID=73850596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010750894.1A Pending CN112131085A (zh) | 2020-08-01 | 2020-08-01 | 互联网业务过程记录与回放的方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131085A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835776A (zh) * | 2021-02-22 | 2021-05-25 | 广州虎牙科技有限公司 | 页面事件复现方法、采集方法、装置及电子设备 |
CN113190367B (zh) * | 2021-07-02 | 2021-10-01 | 成都数联铭品科技有限公司 | 基于浏览器实现的跨系统数据交互方法及装置、电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493790A (zh) * | 2009-02-27 | 2009-07-29 | 北京中星微电子有限公司 | 记录回放系统和记录回放方法 |
WO2009097637A1 (de) * | 2008-02-05 | 2009-08-13 | Verein Fachhochschule Technikum Wien | Einrichtung zum koordinierten testen und zur fehlersuche in verteilten eingebetteten mikroprozessorsystemen |
CN102799428A (zh) * | 2012-06-28 | 2012-11-28 | 北京大学 | 交互式软件中的操作记录与回放方法 |
CN102841789A (zh) * | 2012-06-29 | 2012-12-26 | 北京奇虎科技有限公司 | 一种对浏览器中的用户操作进行录制和回放的方法和装置 |
CN110149361A (zh) * | 2019-04-02 | 2019-08-20 | 众安信息技术服务有限公司 | 一种互联网业务操作过程回溯方法、系统以及装置 |
CN110795311A (zh) * | 2019-10-30 | 2020-02-14 | 北京三快在线科技有限公司 | 一种事件回放的方法及装置 |
-
2020
- 2020-08-01 CN CN202010750894.1A patent/CN112131085A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009097637A1 (de) * | 2008-02-05 | 2009-08-13 | Verein Fachhochschule Technikum Wien | Einrichtung zum koordinierten testen und zur fehlersuche in verteilten eingebetteten mikroprozessorsystemen |
CN101493790A (zh) * | 2009-02-27 | 2009-07-29 | 北京中星微电子有限公司 | 记录回放系统和记录回放方法 |
CN102799428A (zh) * | 2012-06-28 | 2012-11-28 | 北京大学 | 交互式软件中的操作记录与回放方法 |
CN102841789A (zh) * | 2012-06-29 | 2012-12-26 | 北京奇虎科技有限公司 | 一种对浏览器中的用户操作进行录制和回放的方法和装置 |
CN110149361A (zh) * | 2019-04-02 | 2019-08-20 | 众安信息技术服务有限公司 | 一种互联网业务操作过程回溯方法、系统以及装置 |
CN110795311A (zh) * | 2019-10-30 | 2020-02-14 | 北京三快在线科技有限公司 | 一种事件回放的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835776A (zh) * | 2021-02-22 | 2021-05-25 | 广州虎牙科技有限公司 | 页面事件复现方法、采集方法、装置及电子设备 |
CN113190367B (zh) * | 2021-07-02 | 2021-10-01 | 成都数联铭品科技有限公司 | 基于浏览器实现的跨系统数据交互方法及装置、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9553918B1 (en) | Stateful and stateless cookie operations servers | |
US9219787B1 (en) | Stateless cookie operations server | |
CN109885311B (zh) | 一种应用程序的生成方法及设备 | |
US9203905B1 (en) | Sessionization of visitor activity | |
JP6293269B2 (ja) | コンテンツ視聴確認装置及びその方法 | |
CA2656539C (en) | Method and apparatus for monitoring and synchronizing user interface events with network data | |
CN103186740B (zh) | 一种Android恶意软件的自动化检测方法 | |
US9003552B2 (en) | Online privacy management | |
CN103443781A (zh) | 数据递送 | |
CN112148571A (zh) | 一种网页操作过程记录与回放的方法及装置 | |
CN112148573A (zh) | 一种网页操作过程记录与回放的方法及装置 | |
CN112131085A (zh) | 互联网业务过程记录与回放的方法、系统及装置 | |
CN109688130A (zh) | 网页劫持检测方法、装置及计算机存储介质 | |
Queiroz et al. | A web browser fingerprinting method based on the web audio API | |
CN114157568B (zh) | 一种浏览器安全访问方法、装置、设备及存储介质 | |
US11121859B1 (en) | Efficient incremental consensus for block commit in blockchain network | |
CN108650123B (zh) | 故障信息记录方法、装置、设备和存储介质 | |
EP2973192A1 (en) | Online privacy management | |
US9348977B1 (en) | Detecting malware in content items | |
CN112905936A (zh) | 页面录制动画生成、页面操作日志查询方法和计算机设备 | |
CN110674426B (zh) | 网页行为上报方法和装置 | |
CN112817817A (zh) | 埋点信息查询方法、装置、计算机设备和存储介质 | |
CN109542743B (zh) | 日志校验方法、装置、电子设备及计算机可读存储介质 | |
CN105450462A (zh) | 在线状态的监测方法和系统 | |
CN107566916B (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 |