CN109426972A - 订单页面的处理方法、装置和系统 - Google Patents

订单页面的处理方法、装置和系统 Download PDF

Info

Publication number
CN109426972A
CN109426972A CN201710717089.7A CN201710717089A CN109426972A CN 109426972 A CN109426972 A CN 109426972A CN 201710717089 A CN201710717089 A CN 201710717089A CN 109426972 A CN109426972 A CN 109426972A
Authority
CN
China
Prior art keywords
price
calculation
page
formula
lower single
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
Application number
CN201710717089.7A
Other languages
English (en)
Inventor
刘天
刘天一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710717089.7A priority Critical patent/CN109426972A/zh
Publication of CN109426972A publication Critical patent/CN109426972A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders

Landscapes

  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开订单页面的处理方法、装置和系统,其中,采用本申请提供的方法可以直接将服务端发送的以字符串格式的价格计算公式进行解析,形成客户端可执行的运算表达式。这个过程中不需要采用第三方脚本执行器,也不需要调用JSC或者webview(浏览器)。因此,本申请提供的方法可直接在客户端执行,针对字符串类型的脚本语言的计算公式进行直接解析并运行出结果,属于直接原生翻译执行语句的方式。同时,本申请采用的方法不用依赖任何第三方脚本语言,执行效率高,损耗小,也不会出现兼容性差的问题。

Description

订单页面的处理方法、装置和系统
技术领域
本申请涉及计算机语言的技术领域,具体涉及一种订单页面的处理方法。另外还涉及一种订单页面的处理装置和系统。
背景技术
在很多平台和系统中会涉及到数据的动态计算,特别是票务系统中的订票平台上,客户端目前较难解析并执行服务端下发的字符串类型的运算公式,客户端只有通过解析的方式将不可执行的字符串解析为可执行的运算公式。现阶段一般采用的两个主要手段分别是:第一种,借助第三方脚本执行器;第二种采用webview(浏览器)的方式进行调用。
例如:当采用第一种接入其他脚本语言解析器的方式时,需要通过转译成其他脚本语言从而执行出结果,一般是采用Lua进行执行并运算。该方案带来的问题如下:接入其他脚本运行器会带来耗时操作和性能损耗,同时因为是C库加载,不同的手机上还会出现兼容性问题,常常会加载失败从而影响用户使用;第二个方案是直接调用JSC或者原生webview进行执行。采用该方案首先需要提前初始化加载到内存中,对内存有较大开销,同时性能会有影响,造成用户卡顿,该方案还必须跑在主线程中,同步调用会有可能会导致ANR(应用程序无响应)。
因此,需要一种可以解决上述技术问题的技术方案。
发明内容
本申请提供一种订单页面的处理方法,以解决现有技术中存在的上述问题。
本申请另外提供一种订单页面的处理装置和系统。
本申请提供一种订单页面的处理方法,该方法包括:
客户端接收下单页面的触发指令;
向服务端发送用于请求所述下单页面的第一请求;
接收所述服务端发送的针对所述第一请求的第一响应,所述第一响应中包括价格计算公式;
对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;
根据所述运算表达式,对所述下单页面中的资源进行价格计算。
可选的,在所述对所述下单页面中的资源进行价格计算之后,执行以下操作:
将价格计算后得到的价格显示在所述下单页面的价格显示区域。
可选的,在所述对所述价格计算公式进行字符串解析之前,执行以下操作:
将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;
所述对所述价格计算公式进行字符串解析,包括:将进行变量参数替换后的价格计算公式进行解析。
可选的,所述将进行变量参数替换后的价格计算公式进行解析,包括:
对包含有变量参数的价格计算公式字符串中的运算符进行优先级划分;
按照划分的优先级将所述字符串中的运算符进行动态存储;
所述根据所述运算表达式,对所述下单页面中的资源进行价格计算,包括:
根据运算符的优先级顺序的由高到低的顺序依次执行价格计算。
可选的,所述按照划分的优先级将所述字符串中的运算符进行动态存储,包括:采用链表解析的方式划分的优先级将所述字符串中的运算符进行动态存储。
可选的,所述采用链式解析的方式划分的优先级将所述字符串中的运算符进行动态存储,包括:
将所述字符串拆解为链表格式;
按照划分的优先级顺序将字符串中的运算符动态存储到所述链表中。
可选的,所述将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换,包括:
在数据库中查询相应占位符对应的变量参数;
将查询到的变量参数替换为相应的占位符。
可选的,所述得到所述客户端可执行的运算表达式中所述客户端可执行的运算表达式通过客户端嵌入的能够执行所述运算表达式的脚本执行引擎执行。
可选的,所述下单页面是机票的下单页面时;所述第一请求包括计算当前下单页面的机票的价格的请求;
所述客户端接收下单页面的触发指令,包括:根据用户在所述下单页面的下单操作确定触发指令;
所述向服务端发送用于请求所述下单页面的第一请求,包括:将下单页面的计算机票价格的请求发送至服务端;
所述接收所述服务端发送的针对所述第一请求的第一响应,所述第一响应中包括价格计算公式,包括:接收服务端发送来的第一响应,所述第一响应中包括对应所述下单页面的机票价格的计算公式;
所述对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式,包括:对所述机票价格的计算公式进行解析,得到客户端可执行的运算表达式;
所述根据所述运算表达式,对所述下单页面中的资源进行价格计算,包括:根据所述运算表达式,对所述下单页面的机票价格进行计算。
本申请还提供一种订单页面的处理方法,该方法包括:
接收客户端的用于请求下单页面的第一请求;
根据所述第一请求,获取针对所述第一请求的第一响应,所述第一响应中包括采用字符串表示的价格计算公式;
将所述第一响应发送至客户端。
本申请还提供一种订单页面的处理方法,该方法包括:
客户端接收服务端针对下单页面的字符串表达的价格计算公式;
将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;
对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;
根据所述运算表达式,对所述下单页面中的资源进行价格计算。
本申请还提供一种订单页面的处理装置,该装置包括:
指令接收单元,用于客户端接收下单页面的触发指令;
请求发送单元,用于向服务端发送用于请求所述下单页面的第一请求;
响应接收单元,用于接收所述服务端发送的针对所述第一请求的第一响应,所述第一响应中包括价格计算公式;
解析单元,用于对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;
计算单元,用于据所述运算表达式,对所述下单页面中的资源进行价格计算。
可选的,该装置还包括:
显示单元,用于在所述对所述下单页面中的资源进行价格计算之后,将价格计算后得到的价格显示在所述下单页面的价格显示区域。
可选的,该装置还包括:
替换单元,用于在所述对所述价格计算公式进行字符串解析之前,将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;
所述解析单元具体用于将进行变量参数替换后的价格计算公式进行解析。
可选的,所述解析单元包括:
等级划分子单元,用于对包含有变量参数的价格计算公式字符串中的运算符进行优先级划分;
存储子单元,用于按照划分的优先级将所述字符串中的运算符进行动态存储;
所述计算单元具体用于根据运算符的优先级顺序的由高到低的顺序依次执行价格计算。
可选的,所述存储子单元具体用于采用链表解析的方式划分的优先级将所述字符串中的运算符进行动态存储,包括:
拆解子单元,用于将所述字符串拆解为链表格式;
链表子单元,用于按照划分的优先级顺序将字符串中的运算符动态存储到所述链表中。
本申请还提供一种订单页面的处理装置,该装置包括:
接收单元,用于接收客户端的用于请求下单页面的第一请求;
获取单元,用于根据所述第一请求,获取针对所述第一请求的第一响应,所述第一响应中包括采用字符串表示的价格计算公式;
发送单元,用于将所述第一响应发送至客户端。
本申请还提供一种订单页面的处理装置,该装置包括:
接收单元,用于客户端接收服务端针对下单页面的字符串表达的价格计算公式;
替换单元,用于将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;
解析单元,用于对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;
计算单元,用于根据所述运算表达式,对所述下单页面中的资源进行价格计算。
本申请还提供一种订单页面的处理系统,包括:上述的订单页面的处理装置以及上述的订单页面的处理装置。
与现有技术相比,本申请具有以下优点:
本申请提供一种订单页面的处理方法,该方法包括以下步骤:客户端接收下单页面的触发指令;向服务端发送用于请求所述下单页面的第一请求;接收所述服务端发送的针对所述第一请求的第一响应,所述第一响应中包括价格计算公式;对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;根据所述运算表达式,对所述下单页面中的资源进行价格计算。。
采用本申请提供的方法可以直接将服务端发送的以字符串格式的价格计算公式进行解析,形成客户端可执行的运算表达式。这个过程中不需要采用第三方脚本执行器,也不需要调用JSC或者webview(浏览器)。因此,本申请提供的方法可直接在客户端执行,针对字符串类型的脚本语言的计算公式进行直接解析并运行出结果,属于直接原生翻译执行语句的方式。同时,本申请采用的方法不用依赖任何第三方脚本语言,执行效率高,损耗小,也不会出现兼容性差的问题。
附图说明
图1是本申请第一实施例提供的订单页面的处理方法的流程图。
图2是本申请第一实施例提供的字符串解析过程的示意图。
图3是本申请第一实施例提供的优惠方案的选择操作的示意图。
图4是本申请第二实施例提供的订单页面的处理装置的示意图。
图5是本申请第三实施例提供的订单页面的处理方法的流程图。
图6是本申请第四实施例提供的订单页面的处理装置的示意图。
图7是本申请第五实施例提供的订单页面的处理方法的流程图。
图8是本申请第六实施例提供的订单页面的处理装置的示意图。
图9是本申请第七实施例提供的订单页面的处理系统的示意图。
具体实施方式
本申请第一实施例提供一种订单页面的处理方法,该方法主要应用在数据的动态计算的场景中,特别是在票务系统的订票平台上下单页面上,在订票平台上票价往往是上下浮动的,在该场景下,采用本申请提供的方法可以直接将服务端下发的运算脚本解析为客户端可以执行的运算公式。因此,本实施例提供的方法是需要依赖第三方脚本语言就可以直接对服务端下发的脚本进行运算脚本字符串解析。
因此,采用本实施例提供的方法可以不用依赖任何第三方脚本语言,同时执行效率高,损耗小,也不会出现兼容性差的问题。
以下通过具体的实施例对本申请的方法进行详细的介绍和说明。
图1是本申请第一实施例提供的订单页面的处理方法的流程图。请参照图1,该方法包括以下步骤:
步骤S101,客户端接收下单页面的触发指令。
在所述客户端接收下单页面的触发指令,所述下单页面是指用户在该页面上可以对购买的产品进行下单动作,在网上购买产品时首先会选购产品,最终会对选购的产品进行下单操作,而该下单页面就是在该下单操作时展示给用户的页面。用户一旦点击进入该下单页面,则预示着触动了下单的触发指令,在此基础上,将会给后台服务器发送相应的请求以获取针对用户下单的产品提供的价格计算公式。
因此,该步骤触发了对用户选购的产品的价格计算,客户端会将相应的价格计算请求发送至服务端,服务端会根据上述请求向客户端发送脚本语言,客户端将该脚本语言直接进行解析,并最终获得可执行的价格计算公式的运算表达式,并根据该运算表达式计算出最终的价格反馈给用户。
请继续参照图1,步骤S102,向服务端发送用于请求所述下单页面的第一请求。
由于在第一步骤中已经触发了下单页面的触发指令,则客户端会将该触发指令作为开端,向服务端发送下单页面的第一请求,该第一请求的目的是从服务端获取针对用户下单页面中所购产品形成的价格计算公式。
因此,该步骤是在第一步骤的触发下,客户端首先会执行的操作。
请继续参照图1,步骤S103,接收所述服务端发送的针对所述第一请求的第一响应,所述第一响应中包括价格计算公式。
根据第二步骤向服务端发送的所述下单页面的第一请求,相应的,服务端会根据所述第一请求获取与该请求相对应的一系列响应信息,而具体针对所述下单页面,则该获取的第一响应中将包括价格计算公式,因为所述下单页面就是为了给用户反馈选购的产品的价格,因此,服务端反馈给客户端的第一响应中会包含所述下单页面中所选购的产品的价格计算方式。
此处所述的价格计算公式一般不是单纯的每个产品的单价的汇总,针对订购机票的场景,针对不同类型的人、订购机票的时间以及订购机票的往返城市等均会影响最终机票的价格,因此,该价格计算公式一般比较复杂,包含一系列的优惠政策等,本实施例提供的方法主要是针对该情境下的价格计算。
另外,需要说明的是,所述服务端发送来的所述第一响应中包含的价格计算公式是计算机的脚本语言,在该实施例中可以是字符串的脚本语言,这样的脚本语言是客户端所不能识别和执行的,需要客户端针对该脚本语言进行解析,本实施例提供的方法则可以将所述字符串的脚本语言进行直接解析,获得客户端可执行的语言。对所述字符串格式的价格计算公式进行解析的过程也是本实施例着重会介绍的部分。
以下步骤将会是对服务端发送来的字符串的脚本语言的解析的过程。
请继续参照图1,步骤S104,对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式。
该步骤就是将字符串格式的价格计算公式进行字符串解析的过程,该字符串格式的脚本语言是客户端不可执行的语句,而现有的解析方式是在客户端嵌入第三方脚本执行器,以对服务端发送的脚本语言进行解析。但是,本实施例则是可以直接对上述脚本语言进行直接解析并获得客户端可执行的价格的运算表达式。
具体的对所述价格计算公式的字符串的解析过程如下:
在所述对所述价格计算公式进行字符串解析之前,执行以下操作:将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;相应的,所述对所述价格计算公式进行字符串解析,包括:将进行变量参数替换后的价格计算公式进行解析。
也就是,在解析字符串之前,可以先对字符串中的占位符进行变量参数的替换。
服务端下发的字符串的脚本语言中,会包含有多个占位符,而该占位符在具体应用中是一些详细的变量参数,将该变量参数替换原来字符串中的占位符,使替换后的字符串中包含有变量参数。而该变量参数是可以通过数据库匹配获知的。
相应的,对所述价格公式中的占位符进行变量参数替换之后,对价格计算公式的解析也将是对包含有变量参数的字符串的解析的过程。
图2是本申请第一实施例提供的字符串解析过程的示意图。请参照图2,在图2中可以看到,所述原始表达式是服务端发送的客户端不可执行的表达式,在原始表达式中包含有很多占位符,经过替换变量值,将原来的字符串转换为转换后的变量参数,明显可以看出,转换后的字符串中包含有很多变量参数,而该变量参数在字符串表示的价格计算公式中是可以执行运算的。
变量参数是可以通过数据库匹配获知的,具体的,在数据库中查询相应占位符对应的变量参数,然后将查询到的变量参数替换为相应的占位符。
另外,关于上述采用字符串表达的所述价格计算公式的来源问题,在本实施例中介绍的通过客户端向服务端发送请求,服务端给客户端响应才获取到的,但是,还可以存在另一种可能性,所述采用字符串表达的所述价格计算公式也可以是服务端主动向客户端推送的字符串。
以上是对该对变量参数替换字符串中的占位符的步骤的详细介绍和说明。以下将说明如何对包含有变量参数的价格计算公式进行解析的过程。
将进行变量参数替换后的价格计算公式进行解析,并且,所述变量参数是客户端可执行和识别的参数。
具体的,所述将进行变量参数替换后的价格计算公式进行解析,包括以下步骤:对包含有变量参数的价格计算公式字符串中的运算符进行优先级划分;按照划分的优先级将所述字符串中的运算符进行动态存储。
首先对包含有变量参数的价格计算公式字符串中的运算符进行优先级划分这一步骤作如下说明:
在价格计算公式的字符串中,计算公式中包含有运算符,而运算符是有运算顺序的,通过对运算符进行优先级划分,之后按照该优先级的由高到低的顺序对相应的运算符进行存储记录,按照优先级的由高到低的顺序进行相应的公式计算。
所述运算符的运算顺序以及优先级顺序也是按照比较符合运算符的运算规律进行标记。例如,最简单的运算规律先乘除后加减等类似的运算规律。
此外,对包含有变量参数的价格计算公式字符串中的运算符进行优先级划分之后,针对按照划分的优先级将所述字符串中的运算符进行动态存储这一步骤作如下说明。
在程序的执行过程中,通过两个命令向计算机随时申请存储空间或随时释放存储空间,以达到动态管理、使用计算机的存储空间,保证存储资源的充分利用。这样的存储方式称为动态存储。
将所述字符串中的运算符进行动态存储的方式可以有多种,只要在存储器中可以查找到相应的字符串以及其对应的优先级顺序即可,因此,可以采用多种方式对字符串进行存储。其中,所述动态存储一般可以采用链式解析的方式进行存储。具体的,所述按照划分的优先级将所述字符串中的运算符进行动态存储,包括:采用链式解析的方式划分的优先级将所述字符串中的运算符进行动态存储。
另外,所述按照划分的优先级将所述字符串中的运算符进行动态存储,包括:采用链表解析的方式划分的优先级将所述字符串中的运算符进行动态存储。
所述链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。
图2是本申请第一实施例提供的字符串解析过程的示意图。请参照图2,在图2中可以看到,采用链式解析的方式将字符串中的运算符进行动态存储的过程。
具体的,所述采用链式解析的方式划分的优先级将所述字符串中的运算符进行动态存储,包括:将所述字符串拆解为链表格式;按照划分的优先级顺序将字符串中的运算符动态存储到所述链表中。将公式进行优先级解析之后,拆解成链表公式,并且按照优先级顺序存储在链表中,图2中展示了运算符经过优先级排序后的存储在链表中的样式。
按照划分的优先级将所述字符串中的运算符进行动态存储之后,根据字符串中的运算符的优先级顺序的由高到低的顺序以及变量参数,形成可执行的运算表达式。
根据替换的变量参数以及在字符串中的运算符和运算符的优先级顺序可以准确的确定运算表达式,而该运算表达式是客户端可以执行的一种表达式。
以上是将包含有变量参数的字符串进行解析的过程,经过解析可以获得客户端可以执行的运算表达式,后续步骤将根据该运算表达式进行计算,以获得根据价格计算公式计算出的动态的价格数据。
另外,通过上述的占位符替换以及字符串的解析的过程,最终得到客户端可执行的运算表达式,而客户端采用何种方式可以对该运算表达式执行的,具体的,针对所述客户端可执行的运算表达式的执行方式,可以包括通过客户端嵌入的能够执行所述运算表达式的脚本执行引擎执行。
在所述客户端中存储有可以执行所述运算表达式的脚本执行引擎,通过所述脚本执行引擎可以对所述运算表达式进行执行,最终可获得相应的价格计算结果数据。
以上是对价格计算公式的解析过程,通过上述解析,获得了客户端可执行的运算表达式,而针对该运算表达式,客户端还需要执行以下步骤才能将结果反馈给用户。
请继续参照图1,步骤S105,根据所述运算表达式,对所述下单页面中的资源进行价格计算。
由于在所述客户端中存储有可以执行所述运算表达式的脚本执行引擎,通过所述脚本执行引擎可以对所述运算表达式进行执行,最终可以对所述下单页面中的资源进行价格计算,以获得最终的价格结果数据。
此外,在所述将进行变量参数替换后的价格计算公式进行解析步骤的具体操作时,可以包括对包含有变量参数的价格计算公式字符串中的运算符进行优先级划分。相应的,所述根据所述运算表达式,对所述下单页面中的资源进行价格计算,包括:根据运算符的优先级顺序的由高到低的顺序依次执行价格计算。
也就是,客户端在执行所述运算表达式时,依然遵循运算表达式中的运算符的优先级顺序进行计算。
以上是对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式,以及根据所述运算表达式,对所述下单页面中的资源进行价格计算这两个步骤的介绍和说明,在此基础上,为了明确的将上述计算结果反馈给用户,还需要展示的步骤。
具体的,在所述对所述下单页面中的资源进行价格计算之后,执行以下操作:将价格计算后得到的价格显示在所述下单页面的价格显示区域。
在所述下单页面的价格显示区域显示结果价格计算最终获得的价格,以展示给用户所选购的产品的最终的价格,方便用户以价格作为参考。
此外,在展示最终的价格之前或者之后,还可以允许用户再次选择优惠政策,例如,在某段时间内,优惠政策可以是多种的,用户可以根据自身需求选择相应的优惠政策。
具体所采用的方式如下:
接收用户的输入操作;根据所述输入操作对应的输入信息,确定针对该用户的运算表达式;执行所述确定的运算表达式获得该用户的动态数据;其中,所述输入信息与获得的所述动态数据具有关联性。
例如,在涉及到旅行或机票情况时,应用场景设定为机票下单页中的票价活动价格计算,活动价格并非是固定的,而是通过客户端与服务端的交互完成活动价格的计算。如根据乘机人个数,乘机人类型,选择保险个数,选择保险类型等的不同,其票价的活动价格也是不同的,可通过上述补丁参数,通过解析后的运算公式计算最终得到结果。
因此,上述步骤中的所述输入信息包括以下信息中的一种或者多种的组合:用户类型、用户数量、保险类型、保险数量、票价信息。
另外,用户还可以针对多种优惠方案进行选择操作,以给用户提供完全的选择自由的权利,用户可以根据自身情况选择相应的优惠方案。该方式的具体实施方式如下:
具体的,所述执行所述运算表达式获得动态数据,包括:接收用户对设定信息获取请求;根据所述可执行的运算表达式的执行运算结果,在第一用户界面展示相应的至少一个运算结果;接收用户对所述运算结果的选择操作;根据所述选择操作确定动态数据。
用户对设定信息的获取请求即为用户对优惠方案的启动操作,用户一旦请求要获知优惠方案,可针对用户的请求给出优惠方案,上述根据运算表达式的执行结果可获知相应的优惠方案,并且用户根据界面展示的几种优惠方案进行选择,最终根据优惠的方案确定最终的数据。
例如,图3是本申请第一实施例提供的优惠方案的选择操作的示意图。请参照图3,该用户可以在该界面中选择任意的优惠方案,或者选择不使用优惠的方案,在该优惠方案中也可以按照分类进行优惠,例如图3中的优惠活动以及航旅优惠券。用户可通过该优惠方案选定相应的优惠政策,以为用户提供最佳的优惠方案。
另外,在所述执行所述运算表达式获得动态数据之后,包括:在第二用户界面的数据展示区域展示所述最终的数据。
最终经过计算获得的最终的数据将展示在第二用户界面的数据展示区域中,以供用户参考。所以,在一些旅行应用程序中,涉及到机票订购,机票优惠活动等票价上下浮动的情况时,可以采用本申请实施例提供的方法,该方法的运行效率高,且不会出现兼容性差的问题等。
本申请实施例是基于字符串链式解析,动态替换参数最终变成一个可执行语句的方案,字符匹配转译以及优先级排列确保了执行语句的运算顺序。所以,本申请实施例提供的方法是直接原生翻译执行语句的算法。执行效率高,损耗小,也不会出现兼容性差的问题。
另外,本申请实施例提供的该方法可以使用Java原生语言,采用JDK1.4以上就能达到最佳效果。如果有其他编程语言可以实现上述步骤,则相应的编程语言也属于本申请的保护范围。
另外,针对具体的场景,所述下单页面是机票的下单页面时;所述第一请求包括计算当前下单页面的机票的价格的请求。
所述客户端接收下单页面的触发指令,包括:根据用户在所述下单页面的下单操作确定触发指令。所述向服务端发送用于请求所述下单页面的第一请求,包括:将下单页面的计算机票价格的请求发送至服务端。所述接收所述服务端发送的针对所述第一请求的第一响应,所述第一响应中包括价格计算公式,包括:接收服务端发送来的第一响应,所述第一响应中包括对应所述下单页面的机票价格的计算公式。
所述对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式,包括:对所述机票价格的计算公式进行解析,得到客户端可执行的运算表达式。所述根据所述运算表达式,对所述下单页面中的资源进行价格计算,包括:根据所述运算表达式,对所述下单页面的机票价格进行计算。
由于在本实施例中采用机票价格举例说明的,因此,该具体场景的具体介绍可参考本实施例相应部分的说明。
总之,本实施例提供的方法主要可以应用的场景包括票务系统。特别是在机票订购的场景下,采用本申请提供的方法可以不用采用第三方脚本执行器,也不需要调用JSC或者webview(浏览器),本申请提供的方法可直接在客户端执行,将经过变量参数替换后的字符串进行解析,直接解析为客户端可以执行的运算表达式,以实现动态计算。因此,本申请提供的方法可以将服务端下发一系列字符串类型脚本语言的计算公式直接解析并运行处结果。不用依赖任何第三方脚本语言,同时执行效率高,损耗小,也不会出现兼容性差的问题。
在上述的第一实施例中,提供了一种解析运算脚本的方法,与之相对应的,本申请第二实施例还提供一种订单页面的处理装置。请参看图4,其为本申请第二实施例提供的一种订单页面的处理装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种订单页面的处理装置,该装置包括:
指令接收单元401,用于客户端接收下单页面的触发指令;
请求发送单元402,用于向服务端发送用于请求所述下单页面的第一请求;
响应接收单元403,用于接收所述服务端发送的针对所述第一请求的第一响应,所述第一响应中包括价格计算公式;
解析单元404,用于对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;
计算单元405,用于据所述运算表达式,对所述下单页面中的资源进行价格计算。
可选的,所述装置还包括:
显示单元,用于在所述对所述下单页面中的资源进行价格计算之后,将价格计算后得到的价格显示在所述下单页面的价格显示区域。
可选的,所述装置还包括:
替换单元,用于在所述对所述价格计算公式进行字符串解析之前,将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;
所述解析单元具体用于将进行变量参数替换后的价格计算公式进行解析。
可选的,所述解析单元包括:
等级划分子单元,用于对包含有变量参数的价格计算公式字符串中的运算符进行优先级划分;
存储子单元,用于按照划分的优先级将所述字符串中的运算符进行动态存储;
所述计算单元具体用于根据运算符的优先级顺序的由高到低的顺序依次执行价格计算。
可选的,所述存储子单元具体用于采用链表解析的方式划分的优先级将所述字符串中的运算符进行动态存储,包括:
拆解子单元,用于将所述字符串拆解为链表格式;
链表子单元,用于按照划分的优先级顺序将字符串中的运算符动态存储到所述链表中。
总之,本申请提供的装置可直接在客户端执行,将经过变量参数替换后的字符串进行解析,直接解析为客户端可以执行的运算表达式,以实现动态计算。本申请提供的装置可以将服务端下发一系列字符串类型脚本语言的计算公式直接解析并运行处结果。不用依赖任何第三方脚本语言,同时执行效率高,损耗小,也不会出现兼容性差的问题。
另外,本申请第一实施例提供的方法是在客户端执行的,而在服务端需要执行相应的步骤,因此,本申请第三实施例还提供一种订单页面的处理方法,该方法步骤是在服务端执行的。
具体的,在上述的第一实施例中,提供了一种订单页面的处理方法,与之相对应的,本申请第三实施例提供在服务端执行的一种订单页面的处理方法,图5是本申请第三实施例提供的订单页面的处理方法的流程图。由于该实施例的方法与第一实施例的方法具有对应关系,属于基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
请参照图5,该方法包括以下步骤:
步骤S501,接收客户端的用于请求下单页面的第一请求。
该步骤对应的第一实施例中的向服务端发送用于请求所述下单页面的第一请求,在客户端向服务端发送用于请求所述下单页面的第一请求,所述服务端将接收该第一请求。
步骤S502,根据所述第一请求,获取针对所述第一请求的第一响应,所述第一响应中包括采用字符串表示的价格计算公式。
该步骤是根据所述第一请求,获得针对所述下单页面的价格计算公式,并将所述价格计算公式作为第一响应发送至客户端。
步骤S503,将所述第一响应发送至客户端。
该步骤是将所述第一响应发送至客户端的过程,以供客户端根据所述第一响应中包含的价格计算公式进行响应的解析,获得最终的客户端可执行的运算表达式。
在上述的第三实施例中,提供了一种订单页面的处理方法,与之相对应的,本申请第四实施例还提供一种订单页面的处理装置。请参看图6,其为本申请第四实施例提供的一种订单页面的处理装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种订单页面的处理装置,该装置包括:
接收单元601,用于接收客户端的用于请求下单页面的第一请求;
获取单元602,用于根据所述第一请求,获取针对所述第一请求的第一响应,所述第一响应中包括采用字符串表示的价格计算公式;
发送单元603,用于将所述第一响应发送至客户端。
另外,在第一实施例中也有介绍,所述采用字符串表达的价格计算公式可以是通过客户端向服务端发送请求获取的,也可以是服务端主动向客户端推送的,因此,针对服务端主动推动的方式,形成本申请第五实施例,本申请第五实施例提供一种订单页面的处理方法,图7是本申请第五实施例提供的订单页面的处理方法的流程图,请参照图7,该方法包括以下步骤:
步骤S701,客户端接收服务端针对下单页面的字符串表达的价格计算公式;
步骤S702,将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;
步骤S703,对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;
步骤S704,根据所述运算表达式,对所述下单页面中的资源进行价格计算。
本实施例提供的方法与第一实施例不同之处为,步骤S701,客户端接收服务端针对下单页面的字符串表达的价格计算公式,所述下单页面的字符串表达的价格计算公式是客户端直接接收服务端发送的信息,不需要客户端向服务端发送请求。其余步骤与第一实施例相同,在此不再赘述,请参照第一实施例部分的说明。
另外,针对第五实施例提供的方法,相应的,本申请第六实施例提供一种订单页面的处理装置,图8是本申请第六实施例提供的订单页面的处理装置的结构示意图,该装置包括:
接收单元801,用于客户端接收服务端针对下单页面的字符串表达的价格计算公式;
替换单元802,用于将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;
解析单元803,用于对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;
计算单元804,用于根据所述运算表达式,对所述下单页面中的资源进行价格计算。
此外,本申请第七实施例还提供一种订单页面的处理系统,该系统包括第二实施例提供的订单页面的处理装置以及第四实施例提供的订单页面的处理装置。
第二实施例提供的装置是在针对客户端单元所具有的功能和执行的操作,而第四实施例提供的装置是针对服务端的单元所具有的功能和执行的操作,将服务端和客户端两端结合起来形成完整的系统。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (19)

1.一种订单页面的处理方法,其特征在于,包括:
客户端接收下单页面的触发指令;
向服务端发送用于请求所述下单页面的第一请求;
接收所述服务端发送的针对所述第一请求的第一响应,所述第一响应中包括价格计算公式;
对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;
根据所述运算表达式,对所述下单页面中的资源进行价格计算。
2.根据权利要求1所述的订单页面的处理方法,其特征在于,在所述对所述下单页面中的资源进行价格计算之后,执行以下操作:
将价格计算后得到的价格显示在所述下单页面的价格显示区域。
3.根据权利要求1所述的订单页面的处理方法,其特征在于,在所述对所述价格计算公式进行字符串解析之前,执行以下操作:
将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;
所述对所述价格计算公式进行字符串解析,包括:将进行变量参数替换后的价格计算公式进行解析。
4.根据权利要求3所述的订单页面的处理方法,其特征在于,所述将进行变量参数替换后的价格计算公式进行解析,包括:
对包含有变量参数的价格计算公式字符串中的运算符进行优先级划分;
按照划分的优先级将所述字符串中的运算符进行动态存储;
所述根据所述运算表达式,对所述下单页面中的资源进行价格计算,包括:
根据运算符的优先级顺序的由高到低的顺序依次执行价格计算。
5.根据权利要求4所述的订单页面的处理方法,其特征在于,所述按照划分的优先级将所述字符串中的运算符进行动态存储,包括:采用链表解析的方式划分的优先级将所述字符串中的运算符进行动态存储。
6.根据权利要求5所述的订单页面的处理方法,其特征在于,所述采用链式解析的方式划分的优先级将所述字符串中的运算符进行动态存储,包括:
将所述字符串拆解为链表格式;
按照划分的优先级顺序将字符串中的运算符动态存储到所述链表中。
7.根据权利要求3所述的订单页面的处理方法,其特征在于,所述将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换,包括:
在数据库中查询相应占位符对应的变量参数;
将查询到的变量参数替换为相应的占位符。
8.根据权利要求1所述的订单页面的处理方法,其特征在于,所述得到所述客户端可执行的运算表达式中所述客户端可执行的运算表达式通过客户端嵌入的能够执行所述运算表达式的脚本执行引擎执行。
9.根据权利要求1所述的订单页面的处理方法,其特征在于,所述下单页面是机票的下单页面时;所述第一请求包括计算当前下单页面的机票的价格的请求;
所述客户端接收下单页面的触发指令,包括:根据用户在所述下单页面的下单操作确定触发指令;
所述向服务端发送用于请求所述下单页面的第一请求,包括:将下单页面的计算机票价格的请求发送至服务端;
所述接收所述服务端发送的针对所述第一请求的第一响应,所述第一响应中包括价格计算公式,包括:接收服务端发送来的第一响应,所述第一响应中包括对应所述下单页面的机票价格的计算公式;
所述对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式,包括:对所述机票价格的计算公式进行解析,得到客户端可执行的运算表达式;
所述根据所述运算表达式,对所述下单页面中的资源进行价格计算,包括:根据所述运算表达式,对所述下单页面的机票价格进行计算。
10.一种订单页面的处理方法,其特征在于,包括:
接收客户端的用于请求下单页面的第一请求;
根据所述第一请求,获取针对所述第一请求的第一响应,所述第一响应中包括采用字符串表示的价格计算公式;
将所述第一响应发送至客户端。
11.一种订单页面的处理方法,其特征在于,包括:
客户端接收服务端针对下单页面的字符串表达的价格计算公式;
将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;
对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;
根据所述运算表达式,对所述下单页面中的资源进行价格计算。
12.一种订单页面的处理装置,其特征在于,包括:
指令接收单元,用于客户端接收下单页面的触发指令;
请求发送单元,用于向服务端发送用于请求所述下单页面的第一请求;
响应接收单元,用于接收所述服务端发送的针对所述第一请求的第一响应,所述第一响应中包括价格计算公式;
解析单元,用于对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;
计算单元,用于据所述运算表达式,对所述下单页面中的资源进行价格计算。
13.根据权利要求12所述的订单页面的处理装置,其特征在于,还包括:
显示单元,用于在所述对所述下单页面中的资源进行价格计算之后,将价格计算后得到的价格显示在所述下单页面的价格显示区域。
14.根据权利要求12所述的订单页面的处理装置,其特征在于,还包括:
替换单元,用于在所述对所述价格计算公式进行字符串解析之前,将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;
所述解析单元具体用于将进行变量参数替换后的价格计算公式进行解析。
15.根据权利要求14所述的订单页面的处理装置,其特征在于,所述解析单元包括:
等级划分子单元,用于对包含有变量参数的价格计算公式字符串中的运算符进行优先级划分;
存储子单元,用于按照划分的优先级将所述字符串中的运算符进行动态存储;
所述计算单元具体用于根据运算符的优先级顺序的由高到低的顺序依次执行价格计算。
16.根据权利要求15所述的订单页面的处理装置,其特征在于,所述存储子单元具体用于采用链表解析的方式划分的优先级将所述字符串中的运算符进行动态存储,包括:
拆解子单元,用于将所述字符串拆解为链表格式;
链表子单元,用于按照划分的优先级顺序将字符串中的运算符动态存储到所述链表中。
17.一种订单页面的处理装置,其特征在于,包括:
接收单元,用于接收客户端的用于请求下单页面的第一请求;
获取单元,用于根据所述第一请求,获取针对所述第一请求的第一响应,所述第一响应中包括采用字符串表示的价格计算公式;
发送单元,用于将所述第一响应发送至客户端。
18.一种订单页面的处理装置,其特征在于,包括:
接收单元,用于客户端接收服务端针对下单页面的字符串表达的价格计算公式;
替换单元,用于将采用字符串表达的所述价格计算公式中的占位符进行变量参数替换;
解析单元,用于对所述价格计算公式进行字符串解析,得到所述客户端可执行的运算表达式;
计算单元,用于根据所述运算表达式,对所述下单页面中的资源进行价格计算。
19.一种订单页面的处理系统,其特征在于,包括:权利要求12所述的订单页面的处理装置以及权利要求17所述的订单页面的处理装置。
CN201710717089.7A 2017-08-21 2017-08-21 订单页面的处理方法、装置和系统 Pending CN109426972A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710717089.7A CN109426972A (zh) 2017-08-21 2017-08-21 订单页面的处理方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710717089.7A CN109426972A (zh) 2017-08-21 2017-08-21 订单页面的处理方法、装置和系统

Publications (1)

Publication Number Publication Date
CN109426972A true CN109426972A (zh) 2019-03-05

Family

ID=65497310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710717089.7A Pending CN109426972A (zh) 2017-08-21 2017-08-21 订单页面的处理方法、装置和系统

Country Status (1)

Country Link
CN (1) CN109426972A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197035A (zh) * 2007-12-27 2008-06-11 腾讯科技(深圳)有限公司 一种在电子商务平台中进行团购的方法、系统及设备
CN101951398A (zh) * 2010-09-08 2011-01-19 檀朝东 一种工程计算方法、客户端、服务器端及系统
CN102333106A (zh) * 2010-07-13 2012-01-25 中国移动通信集团公司 一种p2p系统资源调度方法及其装置和系统
CN102521411A (zh) * 2011-12-28 2012-06-27 畅捷通信息技术股份有限公司 公式及公式数据处理装置和公式及公式数据处理方法
CN103389895A (zh) * 2012-08-30 2013-11-13 爱乐活(北京)科技有限公司 一种前端页面的生成方法及系统
CN104408544A (zh) * 2014-10-28 2015-03-11 用友优普信息技术有限公司 公式解析装置和方法
CN104753988A (zh) * 2013-12-26 2015-07-01 乐视网信息技术(北京)股份有限公司 一种数据下载的控制方法及装置
CN105657750A (zh) * 2015-12-29 2016-06-08 北京邮电大学 一种网络动态资源的计算方法及装置
CN106202066A (zh) * 2016-07-05 2016-12-07 腾讯科技(深圳)有限公司 网站的翻译方法和装置
CN106649212A (zh) * 2016-09-12 2017-05-10 济南浪潮高新科技投资发展有限公司 一种业务数据处理的方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197035A (zh) * 2007-12-27 2008-06-11 腾讯科技(深圳)有限公司 一种在电子商务平台中进行团购的方法、系统及设备
CN102333106A (zh) * 2010-07-13 2012-01-25 中国移动通信集团公司 一种p2p系统资源调度方法及其装置和系统
CN101951398A (zh) * 2010-09-08 2011-01-19 檀朝东 一种工程计算方法、客户端、服务器端及系统
CN102521411A (zh) * 2011-12-28 2012-06-27 畅捷通信息技术股份有限公司 公式及公式数据处理装置和公式及公式数据处理方法
CN103389895A (zh) * 2012-08-30 2013-11-13 爱乐活(北京)科技有限公司 一种前端页面的生成方法及系统
CN104753988A (zh) * 2013-12-26 2015-07-01 乐视网信息技术(北京)股份有限公司 一种数据下载的控制方法及装置
CN104408544A (zh) * 2014-10-28 2015-03-11 用友优普信息技术有限公司 公式解析装置和方法
CN105657750A (zh) * 2015-12-29 2016-06-08 北京邮电大学 一种网络动态资源的计算方法及装置
CN106202066A (zh) * 2016-07-05 2016-12-07 腾讯科技(深圳)有限公司 网站的翻译方法和装置
CN106649212A (zh) * 2016-09-12 2017-05-10 济南浪潮高新科技投资发展有限公司 一种业务数据处理的方法及装置

Similar Documents

Publication Publication Date Title
CN109933752B (zh) 一种导出电子文档的方法和装置
CN109062563B (zh) 用于生成页面的方法和装置
CN110688598B (zh) 业务参数采集方法、装置、计算机设备和存储介质
CN108846753B (zh) 用于处理数据的方法和装置
CN110472207A (zh) 表单生成方法和装置
JP7483929B2 (ja) 共同トレーニングモデルを評価するための方法及び装置
US10007532B1 (en) Data infrastructure for cross-platform cross-device API inter-connectivity
CN103581133B (zh) Web服务器对访问请求发送响应的方法和系统
CN110858172A (zh) 一种自动化测试代码生成方法和装置
CN107305528B (zh) 应用测试方法和装置
CN114115904B (zh) 信息处理方法、装置、服务器及存储介质
CN108984202B (zh) 一种电子资源分享方法、装置和存储介质
KR102033416B1 (ko) 문서로부터 추출되는 데이터를 생성하는 방법 및 그 장치
CN110795697A (zh) 逻辑表达式的获取方法、装置、存储介质以及电子装置
CN108694120B (zh) 测试服务组件的方法和装置
CN113297287B (zh) 用户策略自动部署方法、装置及电子设备
CN111026634A (zh) 一种接口自动化测试系统、方法、装置及存储介质
CN111444077A (zh) 一种生成流程节点测试数据的方法和装置
CN107766307A (zh) 一种表单元素联动的方法和设备
CN104735041B (zh) 离线资源获取方法及装置
CN114866628A (zh) 一种报文处理的方法、装置、设备及存储介质
CN103473106B (zh) 一种页面生成的方法及系统
CN114254661A (zh) 应用的国际化语言翻译方法和系统、电子设备及存储介质
US20160246698A1 (en) Change based testing of a javascript software application
CN109426972A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190305