一种网络物流数据处理方法及装置的制作方法

文档序号:6428160阅读:139来源:国知局
专利名称:一种网络物流数据处理方法及装置的制作方法
技术领域
本申请涉及网络数据处理技术,特别是涉及在电子商务中,一种网络物流数据处理方法及装置。
背景技术
电子商务(Electronic Commerce)是利用计算机技术、网络技术和远程通信技术,实现整个商务(买卖)过程中的电子化、数字化和网络化。人们不再是面对面的、看着实实在在的货物、靠纸介质单据(包括现金)进行买卖交易,而是利用网络,通过网上琳琅满目的商品信息、完善的物流配送系统和方便安全的资金结算系统进行交易。在这种网上交易过程中,物流配送的运费计算是必不可少的一个环节。通常,一 个交易网站会提供多家物流公司来完成物流配送,而每家物流公司都有各自的物流运输方式,因此网站中的运费计算也存在着多种计算方法。现有技术中,技术人员在开发网站系统时,会将各种物流运输方式的不同运费计算代码都单独写入系统程序中,每种运费计算方法都需要硬编码的方式来实现。例如,一个网站系统提供了三种不同的运费计算方法,每种计算方法都有一套实现代码,并且这三套实现代码都写入了系统程序中。随着网站物流业务的不断发展,物流运输方式不断接入与增加,各个物流运输方式的运费计算方法也不尽相同,并且在不断变化中。这种情况下,如果需要新增或修改运费计算方法,就需要修改系统程序,或者在原系统程序中新增加一套运费计算代码,或者对原有的运费计算代码进行修改。例如,EMS直达快递的计算方式是首重运费+(重量(公斤)X2-1) X续重运费,不足O. 5公斤的按O. 5公斤计算;如果再接入中国邮政航空小包,其计算方法是首重运费+ (重量(公斤)X 10-1) X续重运费,不足O. I公斤的按O. I公斤计算,最大重量为2公斤。由于原EMS和新接入的中国邮政航空小包的运费计算公式不一样,所以不能共用同一套运费计算代码,需要修改原来的EMS运费计算代码。再例如,系统再接入仓库的操作费用,由于每个仓库的操作费用不一致,如拆包重新包装费用、箱子费用、入库检验费、报关费、保价费和其他增值服务费等,他们的计算规则都不一致,因此又需要修改代码。综上所述,如果运费计算公式,或者运费计算中的费用项内容、各项的收费标准等进行了修改,都需要调整编码。这种频繁地修改系统程序代码,大大降低了系统的稳定性,并且增加了系统的复杂性和维护难度。

发明内容
本申请提供了一种网络物流数据处理方法及装置,以解决现有技术中如果新增或修改运费计算方法就需要修改系统程序的问题。为了解决上述问题,本申请公开了一种网络物流数据处理方法,包括
接收运费计算请求,所述请求中包含请求参数和参数输入值;对所述运费计算请求进行解析,并依据解析得到的请求参数和参数输入值匹配合适的运费计算配置信息;对所述运费计算配置信息进行解析,获得所述运费计算配置信息中设定的运费计算方式;按照所述运费计算方式,利用所述参数输入值进行运费计算。优选的,进行运费计算之前,还包括通过解析所述运费计算配置信息还获得所述运费计算配置信息中设定的验证方式;根据所述验证方式对所述请求参数和参数输入值进行合法性验证,验证通过后,再进行运费计算。
优选的,接收运费计算请求之前,还包括加载各种运费基础数据到缓存;加载各种运费计算配置信息到缓存。优选的,加载各种运费计算配置信息到缓存之前,还包括使用词法解析器和语法解析器检查要加载的运费计算配置信息是否完整,如果完整,则加载到缓存中。优选的,所述依据解析得到的请求参数和参数输入值匹配合适的运费计算配置信息,包括在使用词法解析器和语法解析器检查要加载的运费计算配置信息是否完整的过程中,获得各个运费计算配置信息中设定的参数匹配信息;将所述解析得到的请求参数和参数输入值与各个运费计算配置信息中设定的参数匹配信息进行比较,若符合某个运费计算配置信息中设定的参数匹配信息,则匹配到合适的运费计算配置信息。优选的,按照所述运费计算方式,利用所述参数输入值进行运费计算,包括将所述参数输入值放入寄存器;按照所述运费计算方式,如果需要使用运费基础数据,则从缓存中获取相匹配的运费基础数据,并放入寄存器;从寄存器中读取所述参数输入值和运费基础数据,并赋值到所述运费计算方式中进行计算。优选的,对所述运费计算配置信息进行解析,包括对所述运费计算配置信息进行逐行扫描,并对每行信息进行词法解析,得到字符流;从所述字符流中分离出单词得到单词流,对所述单词流进行语法解析,得到字符串;对每个字符串进行解析,并执行字符串表示的动作。本申请还提供了一种网络物流数据处理装置,包括请求接收模块,用于接收运费计算请求,所述请求中包含请求参数和参数输入值;请求解析模块,用于对所述运费计算请求进行解析;配置适配模块,用于依据解析得到的请求参数和参数输入值匹配合适的运费计算配置信息;解析引擎,包括配置解析模块和计算模块,所述配置解析模块用于对所述运费计算配置信息进行解析,获得所述运费计算配置信息中设定的运费计算方式;所述计算模块用于按照所述运费计算方式,利用所述参数输入值进行运费计算。优选的,所述解析引擎的配置解析模块还用于通过解析所述运费计算配置信息获得所述运费计算配置信息中设定的验证方式;所述解析引擎还包括请求验证模块,用于根据所述验证方式对所述请求参数和参数输入值进行合法性验证,验证通过后,再触发计算模块进行运费计算。
优选的,所述装置还包括数据加载模块,用于加载各种运费基础数据到缓存,还用于加载各种运费计算配置信息到缓存。优选的,所述装置还包括配置检查模块,用于所述数据加载模块加载各种运费计算配置信息到缓存之前,使用词法解析器和语法解析器检查要加载的运费计算配置信息是否完整,如果完整,则触发所述数据加载模块加载运费计算配置信息到缓存中。优选的,所述配置适配模块包括参数匹配信息获取子模块,用于在所述配置检查模块使用词法解析器和语法解析器检查要加载的运费计算配置信息是否完整的过程中,获得各个运费计算配置信息中设定的参数匹配信息;适配子模块,用于将所述解析得到的请求参数和参数输入值与各个运费计算配置信息中设定的参数匹配信息进行比较,若符合某个运费计算配置信息中设定的参数匹配信息,则匹配到合适的运费计算配置信息。 优选的,所述解析引擎的计算模块包括第一处理子模块,用于将所述参数输入值放入寄存器;第二处理子模块,用于按照所述运费计算方式,如果需要使用运费基础数据,则从缓存中获取相匹配的运费基础数据,并放入寄存器;计算子模块,用于从寄存器中读取所述参数输入值和运费基础数据,并赋值到所述运费计算方式中进行计算。优选的,所述解析引擎的配置解析模块包括词法解析子模块,用于对所述运费计算配置信息进行逐行扫描,并对每行信息进行词法解析,得到字符流;语法解析子模块,用于从所述字符流中分离出单词得到单词流,对所述单词流进行语法解析,得到字符串;字符串解析子模块,用于对每个字符串进行解析,并执行字符串表示的动作。与现有技术相比,本申请包括以下优点本申请将现有技术中嵌入在系统程序中的各种运费计算代码提炼出来,并使用预定义的语义模块编写运费计算配置文件,该配置文件可根据不同的物流运输方式设置不同的运费计算方法,并且在系统程序中编写一套解析代码,该解析代码可按照所述预定义的语义解析该配置文件,从而实现自动化的运费计算。本申请可以利用运费计算配置文件对输入的国内或国际快递包裹信息和快递运送信息进行解析运算,最终输出运费计算结果。如果每次请求的运费计算方式不同,则可以通过自动适配相匹配的运费计算配置文件并进行解析,然后按照运费计算配置文件中设定的运费计算方式完成运费的计算。因此,随着物流运输方式的变化,如果新增或修改运费计算方法,通过修改或重新编写运费计算配置文件即可,无需修改系统程序中的配置文件解析代码。即本申请实现了一种灵活的运费计算,并且对运费计算的配置和管理进行了统一,尤其适用于电子商务中运费计算方式多、运费计算复杂的交易网站。当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。


图I是本申请实施例所述一种网络物流数据处理方法的流程图;图2是本申请实施例所述一种运费计算的总流程图;图3是图2所述实施例中运费计算服务的启动流程图;图4是图2所述实施例中用户请求运费计算的流程图;图5是图3所述实施例中规则引擎的执行流程图;图6是本申请实施例所述一种网络物流数据处理装置的结构图。
具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。随着网站物流业务的不断发展,物流运输方式不断接入与增加,各个物流运输方式的运费计算方法也不尽相同,并且在不断变化中,运费计算的灵活性要求越来越高。为此,本申请提出一种网络物流数据处理方法,可用于对网站物流业务中的运费进行灵活计

ο本申请将现有技术中嵌入在系统程序中的各种运费计算代码提炼出来,并使用预定义的语义模块编写运费计算配置文件,该配置文件可根据不同的物流运输方式设置不同的运费计算方法,并且在系统程序中编写一套解析代码,该解析代码可按照所述预定义的语义解析该配置文件,从而实现自动化的运费计算。本申请可以利用运费计算配置文件对输入的国内或国际快递包裹信息和快递运送信息进行解析运算,最终输出运费计算结果。如果每次请求的运费计算方式不同,则可以通过自动适配相匹配的运费计算配置文件并进行解析,然后按照运费计算配置文件中设定的运费计算方式完成运费的计算。下面通过实施例对本申请所述方法的实现流程进行详细说明。参照图1,是本申请实施例所述一种网络物流数据处理方法的流程图。以网站物流业务中的运费计算为例,步骤如下步骤101,接收运费计算请求,所述请求中包含请求参数和参数输入值;其中,所述运费计算请求中包含国内或国际快递包裹信息以及快递运送信息,所述快递包裹信息包括包裹的长、宽、高、重量等信息,所述快递运送信息包括包裹运送的目的地、接收人等信息。上述每个信息都可以设置为一个请求参数,并且在所述运费计算请求中可以设置各个请求参数的输入值。步骤102,对所述运费计算请求进行解析,并依据解析得到的请求参数和参数输入值匹配合适的运费计算配置信息;所述运费计算配置信息中主要设定了运费计算方式,针对不同物流运输方式所采用的不同运费计算方法,需要预先设置不同的运费计算配置信息。所述运费计算配置信息通常以文件的形式保存(即运费计算配置文件)。本申请实施例中,使用预定义的语义模块来编写运费计算配置文件,即按照预定义的语法和格式进行编写,这样方便后续的文件解析。通过对所述运费计算请求进行解析,可以获得请求中包含的请求参数和相应的参数输入值。然后,利用所述请求参数和相应的参数输入值进行匹配,从多个运费计算配置文件中找出适用于本次计算的运费计算配置文件。步骤103,对所述运费计算配置信息进行解析,获得所述运费计算配置信息中设定的运费计算方式;本申请实施例中,系统程序中的配置文件解析代码是按照上述预定义的语义解析所述运费计算配置文件,通过解析可以获得配置文件中设定的运费计算方式。步骤104,按照所述运费计算方式,利用所述参数输入值进行运费计算。在运费计算配置文件中,运费计算方式以变量的形式表示成计算公式或计算函数,实际计算时需将具体的参数输入值带入所述计算公式或计算函数中。计算完毕后,会自动输出相应的运费计算结果。综上所述,通过以上步骤可以看出,这种运费计算方法是通过配置和解析的方式 实现,非常灵活,如果新增或修改运费计算方式,通过修改或重新编写运费计算配置文件即可,无需修改系统程序中的配置文件解析代码。并且,这种方法对运费计算的配置和管理进行了统一,尤其适用于完成复杂的运费计算。基于图I所示实施例的内容,下面通过优选的实施例对本申请进行进一步的说明。结合图I所示的处理步骤,在本申请的优选实施例中,在步骤104进行运费计算之前,还可以增加以下处理预先在运费计算配置信息中设定请求验证方式,在步骤103对所述运费计算配置信息进行解析的过程中,还可以获得所述运费计算配置信息中设定的所述验证方式。然后,根据所述验证方式对所述请求参数和参数输入值进行合法性验证,验证通过后,再进行运费计算。如果验证不通过,则返回异常,表明请求的参数或参数输入值不符合配置文件的要求,则不再进行运费计算。这种合法性的验证相当于一种查错处理,可以提高运费计算过程的安全性,及时发现问题,及时中断计算,并可采取相应的措施(如转为人工处理等)。结合图I所示的处理步骤,在本申请的另一优选实施例中,在步骤101接收运费计算请求之前,还可以增加以下处理加载各种运费基础数据到缓存,并且,加载各种运费计算配置信息到缓存。不同物流方式提供了不同的运费基础数据,包括了各物流方式各区域标准运费报价表、燃油附加税信息、汇率信息、各物流方式各区域运输限制信息、运输分区信息等。将不同物流方式的运费基础数据以及运费计算配置信息都加载到缓存中,在进行运费计算时从所述缓存中读取这些数据或信息,以保证计算的高效性。—种具体的计算过程可以是将参数输入值放入寄存器;按照解析获得的运费计算方式,如果需要使用运费基础数据,则从缓存中获取相匹配的运费基础数据,并放入寄存器;从寄存器中读取所述参数输入值和运费基础数据,并赋值到所述运费计算方式中进行计算。换而言之,这种计算方式是将参数输入值中的快递包裹信息、快递运送信息,以及从缓存读取的运费基础数据,分别带入运费计算配置文件中设定的运费计算公式中进行计笪
ο此外,按照解析获得的运费计算方式,如果不需要使用运费基础数据,则无需从缓存中获取相匹配的运费基础数据,直接将参数输入值带入所述运费计算方式中进行计算即可。优选的,为了进一步保障运费计算过程的安全性,还可以在加载各种运费计算配置信息到缓存之前,增加以下处理使用词法解析器和语法解析器检查要加载的运费计算配置信息是否完整,如果完整,则加载到缓存中;如果不完整,则返回异常。其中,使用词法解析器和语法解析器可以对运费计算配置文件进行简单地识别和解析,检查配置文件中的信息是否完整,如是否缺少变量,是否缺少括号或标点等等。通过这种检查,可以发现运费计算配置文件的设置在语法格式上是否符合要求。 进一步优选的,还可以预先在运费计算配置信息中设定参数匹配信息,并在使用词法解析器和语法解析器检查要加载的运费计算配置信息是否完整的过程中,通过解析获得各个运费计算配置信息中设定的所述参数匹配信息。所述参数匹配信息用于步骤102中依据解析得到的请求参数和参数输入值匹配合适的运费计算配置信息,因此在执行步骤102时,可以将所述解析得到的请求参数和参数输入值与缓存中各种运费计算配置信息中设定的参数匹配信息进行比较,若符合某个运费计算配置信息中设定的参数匹配信息,则匹配到合适的运费计算配置信息。通过这种匹配方式,在每次请求计算运费时,依据请求的参数及相应参数值,并利用缓存中的各种参数匹配信息,就可以自动找到适合本次计算使用的运费计算配置文件。进一步优选的,在上述步骤103中,还可以使用词法解析器和语法解析器对所述运费计算配置信息进行更全面、详细地解析,以获得运费计算配置信息中设定的具体运费计算方式。需要说明的是,上述加载过程中在进行完整性检查时使用词法解析器和语法解析器进行的解析是初步的、简单的解析,而此处使用词法解析器和语法解析器进行的解析要更加深入,以便获得运费计算配置信息中设定的每个动作的执行。此处进行的这种深入地解析过程如下,解析代码是按照上述预定义的语义进行解析首先,对所述运费计算配置信息进行逐行扫描,并对每行信息进行词法解析,得到字符流,并输入语法解析器;其次,语法解析器先使用词法解析器从所述字符流中分离出单词得到单词流,然后对所述单词流进行语法解析,得到字符串;再次,对每个字符串进行解析,识别出每个字符串表示的动作含义,并执行字符串表示的动作。例如,解析识别出某个字符串表示的含义是执行以下计算公式首重运费+(重量(公斤)X 2-1) X续重运费;则执行该字符串的动作是将参数输入值带入所述计算公式进行计算。基于上述各优选实施例的内容,为了使本领域技术人员更加了解本申请的内容,下面以一具体的运费计算配置文件为例进行解释说明。参照表1,是对应一种运费计算方式(即一种运费计算规则)的运费计算配置文件,如下
权利要求
1.一种网络物流数据处理方法,其特征在于,包括 接收运费计算请求,所述请求中包含请求参数和参数输入值; 对所述运费计算请求进行解析,并依据解析得到的请求参数和参数输入值匹配合适的运费计算配置信息; 对所述运费计算配置信息进行解析,获得所述运费计算配置信息中设定的运费计算方式; 按照所述运费计算方式,利用所述参数输入值进行运费计算。
2.根据权利要求I所述的方法,其特征在于,进行运费计算之前,还包括 通过解析所述运费计算配置信息还获得所述运费计算配置信息中设定的验证方式; 根据所述验证方式对所述请求参数和参数输入值进行合法性验证,验证通过后,再进行运费计算。
3.根据权利要求I或2所述的方法,其特征在于,接收运费计算请求之前,还包括 加载各种运费基础数据到缓存; 加载各种运费计算配置信息到缓存。
4.根据权利要求3所述的方法,其特征在于,加载各种运费计算配置信息到缓存之前,还包括 使用词法解析器和语法解析器检查要加载的运费计算配置信息是否完整,如果完整,则加载到缓存中。
5.根据权利要求4所述的方法,其特征在于,所述依据解析得到的请求参数和参数输入值匹配合适的运费计算配置信息,包括 在使用词法解析器和语法解析器检查要加载的运费计算配置信息是否完整的过程中,获得各个运费计算配置信息中设定的参数匹配信息; 将所述解析得到的请求参数和参数输入值与各个运费计算配置信息中设定的参数匹配信息进行比较,若符合某个运费计算配置信息中设定的参数匹配信息,则匹配到合适的运费计算配置信息。
6.根据权利要求3所述的方法,其特征在于,按照所述运费计算方式,利用所述参数输入值进行运费计算,包括 将所述参数输入值放入寄存器; 按照所述运费计算方式,如果需要使用运费基础数据,则从缓存中获取相匹配的运费基础数据,并放入寄存器; 从寄存器中读取所述参数输入值和运费基础数据,并赋值到所述运费计算方式中进行计算。
7.根据权利要求I或2所述的方法,其特征在于,对所述运费计算配置信息进行解析,包括 对所述运费计算配置信息进行逐行扫描,并对每行信息进行词法解析,得到字符流; 从所述字符流中分离出单词得到单词流,对所述单词流进行语法解析,得到字符串; 对每个字符串进行解析,并执行字符串表示的动作。
8.—种网络物流数据处理装置,其特征在于,包括 请求接收模块,用于接收运费计算请求,所述请求中包含请求参数和参数输入值;请求解析模块,用于对所述运费计算请求进行解析; 配置适配模块,用于依据解析得到的请求参数和参数输入值匹配合适的运费计算配置信息; 解析引擎,包括配置解析模块和计算模块,所述配置解析模块用于对所述运费计算配置信息进行解析,获得所述运费计算配置信息中设定的运费计算方式;所述计算模块用于按照所述运费计算方式,利用所述参数输入值进行运费计算。
9.根据权利要求8所述的装置,其特征在于< 所述解析引擎的配置解析模块还用于通过解析所述运费计算配置信息获得所述运费计算配置信息中设定的验证方式; 所述解析引擎还包括 请求验证模块,用于根据所述验证方式对所述请求参数和参数输入值进行合法性验证,验证通过后,再触发计算模块进行运费计算。
10.根据权利要求8或9所述的装置,其特征在于,还包括 数据加载模块,用于加载各种运费基础数据到缓存,还用于加载各种运费计算配置信息到缓存。
11.根据权利要求10所述的装置,其特征在于,还包括 配置检查模块,用于所述数据加载模块加载各种运费计算配置信息到缓存之前,使用词法解析器和语法解析器检查要加载的运费计算配置信息是否完整,如果完整,则触发所述数据加载模块加载运费计算配置信息到缓存中。
12.根据权利要求11所述的装置,其特征在于,所述配置适配模块包括 参数匹配信息获取子模块,用于在所述配置检查模块使用词法解析器和语法解析器检查要加载的运费计算配置信息是否完整的过程中,获得各个运费计算配置信息中设定的参数匹配信息; 适配子模块,用于将所述解析得到的请求参数和参数输入值与各个运费计算配置信息中设定的参数匹配信息进行比较,若符合某个运费计算配置信息中设定的参数匹配信息,则匹配到合适的运费计算配置信息。
13.根据权利要求10所述的装置,其特征在于,所述解析引擎的计算模块包括 第一处理子模块,用于将所述参数输入值放入寄存器; 第二处理子模块,用于按照所述运费计算方式,如果需要使用运费基础数据,则从缓存中获取相匹配的运费基础数据,并放入寄存器; 计算子模块,用于从寄存器中读取所述参数输入值和运费基础数据,并赋值到所述运费计算方式中进行计算。
14.根据权利要求8或9所述的装置,其特征在于,所述解析引擎的配置解析模块包括 词法解析子模块,用于对所述运费计算配置信息进行逐行扫描,并对每行信息进行词法解析,得到字符流; 语法解析子模块,用于从所述字符流中分离出单词得到单词流,对所述单词流进行语法解析,得到字符串; 字符串解析子模块,用于对每个字符串进行解析,并执行字符串表示的动作。
全文摘要
本申请提供了一种网络物流数据处理方法及装置,以解决现有技术中如果新增或修改运费计算方法就需要修改系统程序的问题。所述方法包括接收运费计算请求,所述请求中包含请求参数和参数输入值;对所述运费计算请求进行解析,并依据解析得到的请求参数和参数输入值匹配合适的运费计算配置信息;对所述运费计算配置信息进行解析,获得所述运费计算配置信息中设定的运费计算方式;按照所述运费计算方式,利用所述参数输入值进行运费计算。本申请实现了一种灵活的运费计算,并且对运费计算的配置和管理进行了统一,尤其适用于电子商务中运费计算方式多、运费计算复杂的交易网站。
文档编号G06Q30/00GK102867257SQ20111019169
公开日2013年1月9日 申请日期2011年7月8日 优先权日2011年7月8日
发明者毛剑挺 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1